Anton Khirnov
efe4423627
fftools/ffmpeg: store forced keyframe pts in AV_TIME_BASE_Q
...
Rather than the encoder timebase. Since the times are parsed as
microseconds, this will not reduce precision, except possibly when
chapter times are used and the chapter timebase happens to be better
aligned with the encoder timebase, which is unlikely.
This will allow parsing the keyframe times earlier (before encoder
timebase is known) in future commits.
2022-11-28 10:28:14 +01:00
Anton Khirnov
b1143330c8
fftools/ffmpeg: move force-keyframe-related vars to a separate struct
...
There are 8 of them and they are typically used together. Allows to pass
just this struct to forced_kf_apply(), which makes it clear that the
rest of the OutputStream is not accessed there.
2022-11-28 10:28:14 +01:00
Anton Khirnov
630fbdcc52
fftools/ffmpeg: stop explicitly closing decoders
...
It serves no purpose, they will be closed and freed in
avcodec_free_context() called from ist_free().
2022-11-28 10:28:14 +01:00
Paul B Mahol
e8e9950f2a
avcodec/amrwbdec: update .p.sample_fmts to planar variant
2022-11-28 09:11:38 +01:00
Paul B Mahol
2324b917fc
avfilter/avf_avectorscope: simplify code a little
2022-11-27 19:53:16 +01:00
James Almer
1009396953
avcodec/mjpegenc: take into account component count when writing the SOF header size
...
Fixes ticket #10069
Signed-off-by: James Almer <jamrial@gmail.com>
2022-11-26 09:54:01 -03:00
Andreas Rheinhardt
0c5af908c1
avcodec/pngdec: Mark damaged frames as finished
...
Fixes the deadlock reported in ticket #10071 .
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-11-25 22:46:33 +01:00
Paul B Mahol
e0bc798ce5
avfilter/f_ebur128: fix crash when using vflip filter
2022-11-25 19:50:17 +01:00
Paul B Mahol
4c1a79eb80
avfilter/avf_showcqt: fix crash when using vflip filter
2022-11-25 19:40:11 +01:00
Paul B Mahol
9d2b5762d3
avfilter/avf_a3dscope: fix crash when using vflip filter
2022-11-25 19:40:11 +01:00
Paul B Mahol
9c8b977c1e
avfilter/avf_avectorscope: fix crash when using vflip filter
2022-11-25 19:40:11 +01:00
Paul B Mahol
f2ea508e16
avfilter/avf_showcqt: remove invalid line
2022-11-25 19:40:11 +01:00
Paul B Mahol
5d7f3b2639
avcodec/apac: stop adding samples if we run out of bits on EOF
2022-11-25 18:37:34 +01:00
Andreas Rheinhardt
1a7efafd33
avutil/tx: Use proper deallocator
...
May fix the FATE failures on x64 Windows here:
https://fate.ffmpeg.org/report.cgi?slot=x86_64-msvc17-windows-native&time=20221125130443
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-11-25 15:54:33 +01:00
Paul B Mahol
2ad199ae31
avformat/wavenc: w64 muxer supports only 1 stream
2022-11-25 10:23:19 +01:00
Andreas Rheinhardt
1ff9c07fa6
swscale/utils: Fix indentation
...
Forgotten after c1eb3e7fec
.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-11-24 21:02:57 +01:00
Andreas Rheinhardt
b2d1a25816
swscale/utils: Derive range from YUVJ-pix-fmt only once
...
Currently, it is done once per slice-thread, leading to
one warning per slice-thread in case a YUVJ pixel format
has been originally used.
This also fixes the anomaly that said parameter are only
updated for the user-facing context (whose values are retrievable
via av_opt_get()) if slice-threading is not in use.
Fixes ticket #9860 .
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-11-24 20:59:03 +01:00
Andreas Rheinhardt
ff39dcb129
swscale/utils: Move functions to avoid forward declarations
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-11-24 20:58:21 +01:00
Andreas Rheinhardt
baccc1c541
swscale/utils: Avoid calling ff_thread_once() unnecessarily
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-11-24 20:58:21 +01:00
Andreas Rheinhardt
8ee0711228
swscale/utils: Don't allocate AVFrames for slice contexts
...
Only the parent context's AVFrames are ever used.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-11-24 20:58:21 +01:00
Andreas Rheinhardt
64ed1d40df
swscale/utils: Factor initializing single slice context out
...
Initializing slice threads currently uses the function
(sws_init_context()) that is also used for initializing
user-facing contexts with the only difference being that
nb_threads is set to one before initializing the slice contexts.
Yet sws_init_context() also initializes lots of stuff
that is not slice-dependent, i.e. (src|dst)Range. This
currently only works because the code sets these fields
to the same values for all slice contexts. This is not
nice; even worse, it entails that log messages are printed
once per slice context (and therefore fill the screen).
This commit lays the groundwork to fix this.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-11-24 20:58:21 +01:00
Lynne
e97368eba5
lavu: bump minor and add APIchanges entry for lavu/tx DCT
2022-11-24 15:58:36 +01:00
Lynne
ca8aaf24df
binkaudio: convert to lavu/tx
2022-11-24 15:58:36 +01:00
Lynne
a56d7e0ca3
lavu/tx: add DCT-III implementation
2022-11-24 15:58:36 +01:00
Lynne
504b7bec1a
lavu/tx: add DCT-II implementation
2022-11-24 15:58:35 +01:00
Lynne
93c30bd6f0
lavu/tx: clarify stride for RDFT transforms
2022-11-24 15:58:35 +01:00
Lynne
43d285a40f
lavu/tx: fix last coefficient scaling for R2C transforms
...
This was a typo.
2022-11-24 15:58:35 +01:00
Lynne
8547123f3b
lavu/tx: generalize PFA FFTs
...
This commit permits any stacking of FFTs of any size.
2022-11-24 15:58:34 +01:00
Lynne
7f019e7758
lavu/tx: add length decomposition function
...
Rather than using a list of lengths supported, this goes a step beyond
and uses all registered codelets to come up with a good decomposition.
2022-11-24 15:58:34 +01:00
Lynne
87bae6b018
lavu/tx: refactor to explicitly track and convert lookup table order
...
Necessary for generalizing PFAs.
2022-11-24 15:58:34 +01:00
Lynne
1c8d77a2bf
lavu/tx: refactor and separate codelet list and prio code
2022-11-24 15:58:33 +01:00
Lynne
958b3760b5
lavu/tx: improve transform tree logging
...
Now prints the actual codelet size used, as well as the number of
allowed factors.
2022-11-24 15:58:33 +01:00
Lynne
6ddd10c3e2
lavu/tx: allow codelets to specify a minimum number of matching factors
2022-11-24 15:58:33 +01:00
Lynne
dd77e61182
lavu/tx: add ff_tx_clear_ctx()
...
This function allows implementations to clean up a context after
successfully initializing subcontexts.
2022-11-24 15:58:32 +01:00
Lynne
fab97faf02
x86/tx_float: implement striding in fft_15xM
2022-11-24 15:58:32 +01:00
Lynne
92100eee5b
x86/tx_float_init: properly specify the supported factors of 15xM FFTs
...
Only powers of two are currently supported.
2022-11-24 15:58:32 +01:00
Lynne
cc1df4045e
x86/tx_float: add a standalone 15-point AVX2 transform
...
Enables its use everywhere else in the framework.
2022-11-24 15:58:31 +01:00
Lynne
877e575b5d
x86/tx_float: optimize and macro out FFT15
2022-11-24 15:58:31 +01:00
Lynne
fbe4fd992f
lavu/tx: support output stride in naive transforms
...
Allows them to be used in general PFAs.
2022-11-24 15:58:31 +01:00
Lynne
68cabf8750
lavu/tx: add fft_inplace_small transforms
...
This is much faster than the loop.
2022-11-24 15:58:30 +01:00
Lynne
d4e39cae2e
lavu/tx: drop requirement of input == output for in-place transforms
...
No longer necessary.
2022-11-24 15:58:30 +01:00
Lynne
fff3e1d848
lavu/tx: support out-of-place transforms in fft_inplace
...
This makes testing easier, as a unified path can be used for in/out of
place transforms.
2022-11-24 15:58:30 +01:00
Lynne
d260796f11
lavu/tx: make C ptwo transforms in+out of place
...
We assume that _all_ in-place transforms can operate out of place,
which isn't true, because the C ptwo transforms were always in-place (dst).
2022-11-24 15:58:29 +01:00
Lynne
37008dc402
lavu/tx: add naive_small FFT
...
The same as naive but with precomputed tables. Makes it more useful
for odd-factors we don't support yet.
2022-11-24 15:58:29 +01:00
Lynne
e8a9b7b298
lavu/tx: list all odd-length FFT factors as regular codelets
...
Allows them to be picked just like any other transform.
2022-11-24 15:58:28 +01:00
Lynne
45bd4bf79f
lavu/tx: generalize single-factor transforms
...
Not that useful, but it gives us fast small odd-length transforms.
2022-11-24 15:58:28 +01:00
Lynne
79f11e2409
lavu/tx: make prime factor transforms truly in-place
...
They all overwrote in[0] and then used it as a DC.
2022-11-24 15:58:28 +01:00
Lynne
d556f6fa9b
fate/aacenc: increase tolerance for ln-128k test
...
The encoder is sensitive to changes in precision, and its test target
was a compromise. It was already close to failing on x87 FPUs.
ff_mdct_init used double precision entirely from the scale to computing
the MDCT exp tables. av_tx_init uses single-precision for the scale,
with a small input change which was enough to tip the test into failing on
x87 FPUs.
Increase the fuzz factor in line with other AAC encoder tests to fix.
2022-11-24 15:58:22 +01:00
Andreas Rheinhardt
c8e9cc8d20
avcodec/flashsvenc: Remove unnecessary or unused variable
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-11-23 22:44:09 +01:00
Andreas Rheinhardt
61d28ee0e4
avcodec/flashsvenc: Avoid copying frame
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-11-23 22:44:09 +01:00