2fa2e146cc
fftools/ffmpeg: avoid storing full forced keyframe spec
...
It is not needed after the spec is parsed. Also avoids ugly string
comparisons for each video frame.
2022-11-28 10:28:14 +01:00
334e52e094
fftools/ffmpeg: parse forced keyframes in of_open()
...
Allows to remove the ugly of_get_chapters() wrapper.
2022-11-28 10:28:14 +01:00
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
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
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
e8e9950f2a
avcodec/amrwbdec: update .p.sample_fmts to planar variant
2022-11-28 09:11:38 +01:00
2324b917fc
avfilter/avf_avectorscope: simplify code a little
2022-11-27 19:53:16 +01:00
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
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
e0bc798ce5
avfilter/f_ebur128: fix crash when using vflip filter
2022-11-25 19:50:17 +01:00
4c1a79eb80
avfilter/avf_showcqt: fix crash when using vflip filter
2022-11-25 19:40:11 +01:00
9d2b5762d3
avfilter/avf_a3dscope: fix crash when using vflip filter
2022-11-25 19:40:11 +01:00
9c8b977c1e
avfilter/avf_avectorscope: fix crash when using vflip filter
2022-11-25 19:40:11 +01:00
f2ea508e16
avfilter/avf_showcqt: remove invalid line
2022-11-25 19:40:11 +01:00
5d7f3b2639
avcodec/apac: stop adding samples if we run out of bits on EOF
2022-11-25 18:37:34 +01:00
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
2ad199ae31
avformat/wavenc: w64 muxer supports only 1 stream
2022-11-25 10:23:19 +01:00
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
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
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
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
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
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
e97368eba5
lavu: bump minor and add APIchanges entry for lavu/tx DCT
2022-11-24 15:58:36 +01:00
ca8aaf24df
binkaudio: convert to lavu/tx
2022-11-24 15:58:36 +01:00
a56d7e0ca3
lavu/tx: add DCT-III implementation
2022-11-24 15:58:36 +01:00
504b7bec1a
lavu/tx: add DCT-II implementation
2022-11-24 15:58:35 +01:00
93c30bd6f0
lavu/tx: clarify stride for RDFT transforms
2022-11-24 15:58:35 +01:00
43d285a40f
lavu/tx: fix last coefficient scaling for R2C transforms
...
This was a typo.
2022-11-24 15:58:35 +01:00
8547123f3b
lavu/tx: generalize PFA FFTs
...
This commit permits any stacking of FFTs of any size.
2022-11-24 15:58:34 +01:00
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
87bae6b018
lavu/tx: refactor to explicitly track and convert lookup table order
...
Necessary for generalizing PFAs.
2022-11-24 15:58:34 +01:00
1c8d77a2bf
lavu/tx: refactor and separate codelet list and prio code
2022-11-24 15:58:33 +01:00
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
6ddd10c3e2
lavu/tx: allow codelets to specify a minimum number of matching factors
2022-11-24 15:58:33 +01:00
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
fab97faf02
x86/tx_float: implement striding in fft_15xM
2022-11-24 15:58:32 +01:00
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
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
877e575b5d
x86/tx_float: optimize and macro out FFT15
2022-11-24 15:58:31 +01:00
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
68cabf8750
lavu/tx: add fft_inplace_small transforms
...
This is much faster than the loop.
2022-11-24 15:58:30 +01:00
d4e39cae2e
lavu/tx: drop requirement of input == output for in-place transforms
...
No longer necessary.
2022-11-24 15:58:30 +01:00
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
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
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
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
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
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
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