Anton Khirnov
d60d6d819d
fftools/ffmpeg: drop an always-false check
2 years ago
Anton Khirnov
8ee4365ad8
fftools/ffmpeg: only convert video frame pts if we have a frame
...
Calling adjust_frame_pts_to_encoder_tb() with a NULL frame does not
perform a meaningful action.
2 years ago
Anton Khirnov
617ea07c22
fftools/ffmpeg: call check_recording_time() with actual frame pts
...
Not its estimated value that will not necessarily be used.
2 years ago
Anton Khirnov
86a71d6b3c
fftools/ffmpeg: stop calling adjust_frame_pts_to_encoder_tb() for audio
...
Almost none of that function's complexity is useful for audio, it can
be replaced by a simple av_rescale_q().
2 years ago
Anton Khirnov
a186360f27
fftools/ffmpeg: set AVFrame.time_base after filtering
...
Makes it easier to track what timebase are the frame timestamps in and
allows to stop accessing filters in code that shouldn't deal with
filtering.
2 years ago
Anton Khirnov
d9534ec84e
fftools/ffmpeg: move logging filtered frame timestamps
...
Do it right after the frame is received from the filtergraph. This is a
more logical place for this and will simplify future commits.
2 years ago
Anton Khirnov
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.
2 years ago
Anton Khirnov
334e52e094
fftools/ffmpeg: parse forced keyframes in of_open()
...
Allows to remove the ugly of_get_chapters() wrapper.
2 years ago
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.
2 years ago
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.
2 years ago
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().
2 years ago
Paul B Mahol
e8e9950f2a
avcodec/amrwbdec: update .p.sample_fmts to planar variant
2 years ago
Paul B Mahol
2324b917fc
avfilter/avf_avectorscope: simplify code a little
2 years ago
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>
2 years ago
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>
2 years ago
Paul B Mahol
e0bc798ce5
avfilter/f_ebur128: fix crash when using vflip filter
2 years ago
Paul B Mahol
4c1a79eb80
avfilter/avf_showcqt: fix crash when using vflip filter
2 years ago
Paul B Mahol
9d2b5762d3
avfilter/avf_a3dscope: fix crash when using vflip filter
2 years ago
Paul B Mahol
9c8b977c1e
avfilter/avf_avectorscope: fix crash when using vflip filter
2 years ago
Paul B Mahol
f2ea508e16
avfilter/avf_showcqt: remove invalid line
2 years ago
Paul B Mahol
5d7f3b2639
avcodec/apac: stop adding samples if we run out of bits on EOF
2 years ago
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>
2 years ago
Paul B Mahol
2ad199ae31
avformat/wavenc: w64 muxer supports only 1 stream
2 years ago
Andreas Rheinhardt
1ff9c07fa6
swscale/utils: Fix indentation
...
Forgotten after c1eb3e7fec
.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2 years ago
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>
2 years ago
Andreas Rheinhardt
ff39dcb129
swscale/utils: Move functions to avoid forward declarations
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2 years ago
Andreas Rheinhardt
baccc1c541
swscale/utils: Avoid calling ff_thread_once() unnecessarily
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2 years ago
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>
2 years ago
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>
2 years ago
Lynne
e97368eba5
lavu: bump minor and add APIchanges entry for lavu/tx DCT
2 years ago
Lynne
ca8aaf24df
binkaudio: convert to lavu/tx
2 years ago
Lynne
a56d7e0ca3
lavu/tx: add DCT-III implementation
2 years ago
Lynne
504b7bec1a
lavu/tx: add DCT-II implementation
2 years ago
Lynne
93c30bd6f0
lavu/tx: clarify stride for RDFT transforms
2 years ago
Lynne
43d285a40f
lavu/tx: fix last coefficient scaling for R2C transforms
...
This was a typo.
2 years ago
Lynne
8547123f3b
lavu/tx: generalize PFA FFTs
...
This commit permits any stacking of FFTs of any size.
2 years ago
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.
2 years ago
Lynne
87bae6b018
lavu/tx: refactor to explicitly track and convert lookup table order
...
Necessary for generalizing PFAs.
2 years ago
Lynne
1c8d77a2bf
lavu/tx: refactor and separate codelet list and prio code
2 years ago
Lynne
958b3760b5
lavu/tx: improve transform tree logging
...
Now prints the actual codelet size used, as well as the number of
allowed factors.
2 years ago
Lynne
6ddd10c3e2
lavu/tx: allow codelets to specify a minimum number of matching factors
2 years ago
Lynne
dd77e61182
lavu/tx: add ff_tx_clear_ctx()
...
This function allows implementations to clean up a context after
successfully initializing subcontexts.
2 years ago
Lynne
fab97faf02
x86/tx_float: implement striding in fft_15xM
2 years ago
Lynne
92100eee5b
x86/tx_float_init: properly specify the supported factors of 15xM FFTs
...
Only powers of two are currently supported.
2 years ago
Lynne
cc1df4045e
x86/tx_float: add a standalone 15-point AVX2 transform
...
Enables its use everywhere else in the framework.
2 years ago
Lynne
877e575b5d
x86/tx_float: optimize and macro out FFT15
2 years ago
Lynne
fbe4fd992f
lavu/tx: support output stride in naive transforms
...
Allows them to be used in general PFAs.
2 years ago
Lynne
68cabf8750
lavu/tx: add fft_inplace_small transforms
...
This is much faster than the loop.
2 years ago
Lynne
d4e39cae2e
lavu/tx: drop requirement of input == output for in-place transforms
...
No longer necessary.
2 years ago
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.
2 years ago