Anton Khirnov
04f0c40c74
fftools/ffmpeg_filter: add InputFilter private data
...
Move InputFilter.frame_queue to it, which is not accessed outside of
ffmpeg_filter.
2023-05-02 10:59:24 +02:00
Anton Khirnov
1dcae45ecb
fftools/ffmpeg_filter: factorize allocating InputFilter
2023-05-02 10:59:24 +02:00
Anton Khirnov
87ced7aee0
fftools/ffmpeg_filter: make graph_desc private
...
It is not used outside of ffmpeg_filter.
2023-05-02 10:59:24 +02:00
Anton Khirnov
09dd9c5f41
fftools/ffmpeg_filter: add filtergraph private data
...
Start by moving OutputStream.filtered_frame to it, which really belongs
to the filtergraph rather than the output stream.
2023-05-02 10:59:24 +02:00
Anton Khirnov
aee5b774bf
fftools/ffmpeg_filter: make ifilter_parameters_from_frame() static
...
It is no longer used outside of this file.
2023-05-02 10:59:24 +02:00
Anton Khirnov
38c937e8c4
fftools/ffmpeg: drop undocumented runtime debug-setting
...
This feature is of highly questionable usefulness and - as the comment
in the code says - is not actually supported by the API.
2023-05-02 10:59:24 +02:00
Anton Khirnov
7e3eb24123
fftools/ffmpeg: move OutputStream.packets_encoded to Encoder
...
It is no longer used outside of ffmpeg_enc.
2023-05-02 10:59:24 +02:00
Anton Khirnov
6e487a50a1
fftools/ffmpeg: drop OutputStream.error
...
Only the first component is used in update_video_stats(), so make it a
stack variable in that function.
2023-05-02 10:59:24 +02:00
Anton Khirnov
52b632b65b
fftools/ffmpeg: drop OutputStream.pict_type
...
It is no longer used outside of update_video_stats(), so make it a stack
variable in that function.
2023-05-02 10:59:24 +02:00
Anton Khirnov
f4a60b8ddc
fftools/ffmpeg: reduce access to OutputStream.enc_ctx
...
It will be made private to Encoder in the future.
2023-05-02 10:59:24 +02:00
Anton Khirnov
5a04aae821
fftools/ffmpeg: deprecate -adrift_threshold
...
This option has had no effect since -async was removed in
3d86a13b47
2023-05-02 10:59:24 +02:00
Anton Khirnov
0ed1eeb744
lavf/dv: use a more granular timebase for audio
...
One that is fine enough to represent all DV audio sample rates. Audio
packet durations are now sample-accurate.
This largely undoes commit 76fbb0052d
. To
avoid breaking the issue fixed by that commit, resync audio timestamps
against video if they get more than one frame apart. The sample from
issue #8762 still works correctly after this commit.
Slightly changes the results of the lavf-dv seektest, due to the audio
timebase being more granular.
2023-05-02 10:57:21 +02:00
Anton Khirnov
aae5ba31ca
lavf/dv: shorten code by using a local variable
2023-05-02 10:57:21 +02:00
Anton Khirnov
c7a852b638
lavf/dv: do not set video timebase more than once
...
Current code will call avpriv_set_pts_info() for each video frame,
possibly setting a different timebase if the stream framerate changes.
This violates API conventions, as the timebase is supposed to stay
constant after stream creation.
Change the demuxer to set a single timebase that is fine enough to
handle all supported DV framerates.
The seek tests change slightly because the new timebase is more
granular.
2023-05-02 10:57:21 +02:00
Paul B Mahol
5617465916
avfilter/af_anlms: improve documentation and extend option
2023-05-01 20:07:06 +02:00
Paul B Mahol
f09280dfc4
avfilter/af_arls: improve documentation and extend option
2023-05-01 20:07:05 +02:00
James Almer
159f8b8d71
avfilter/audio: move a variable declaration outside of an unrelated deprecated block
...
Signed-off-by: James Almer <jamrial@gmail.com>
2023-05-01 13:57:09 -03:00
Paul B Mahol
eaf15b5882
avfilter/vf_waveform: cc2b3201e7
missed same for >8 bits
2023-05-01 14:55:32 +02:00
James Almer
e7c690a046
avcodec/hevc_ps: check for out of range bitdepth in SPS
...
Signed-off-by: James Almer <jamrial@gmail.com>
2023-04-30 20:41:55 -03:00
Michael Niedermayer
bf3f91c425
avcodec/hevc_ps: Avoid signed overflow before check on QP
...
Fixes: signed integer overflow: -2147483648 - 5 cannot be represented in type 'int'
Fixes: 58066/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HEVC_fuzzer-5312995835379712
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-05-01 00:48:32 +02:00
Michael Niedermayer
69eb8197af
tools/target_dec_fuzzer: Adjust threshold for rka
...
Fixes: Timeout
Fixes: 57993/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RKA_fuzzer-5825782785376256
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-05-01 00:48:32 +02:00
Michael Niedermayer
cb8180aa66
avcodec/hevc_ps: Check depth to be within 8 to 16
...
Fixes: assertion failure in bitreader
Fixes: 45982/clusterfuzz-testcase-minimized-ffmpeg_IO_DEMUXER_fuzzer-627318668066816
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-05-01 00:48:32 +02:00
Michael Niedermayer
e2e34c7731
avcodec/wavarc: Check order before using it to write the list
...
Fixes: out of array access
Fixes: 45982/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WAVARC_fuzzer-6247711015043072
Fixes: 45982/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WAVARC_fuzzer-6487578428964864
Fixes: 45982/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WAVARC_fuzzer-6651587794960384
Fixes: 45982/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WAVARC_fuzzer-6686265824378880
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-05-01 00:48:32 +02:00
Michael Niedermayer
957106a24d
avcodec/bonk: decode multiple passes in intlist_read() at once
...
This makes the worst case much faster
Fixes: Timeout
Fixes: 51363/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_BONK_fuzzer-5660734784143360
Fixes: 57957/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_BONK_fuzzer-5874095467397120
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-05-01 00:48:32 +02:00
Michael Niedermayer
e734e16544
avcodec/cavsdec: Check bits left before picture allocation
...
Fixes: Timeout
Fixes: 57893/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CAVS_fuzzer-5091726540013568
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-05-01 00:48:32 +02:00
Michael Niedermayer
f6dffe6fc4
tools/target_dec_fuzzer: Adjust threshold for APE
...
Fixes: Timeout
Fixes: 57889/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_APE_fuzzer-5262308950802432
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-05-01 00:48:32 +02:00
Michael Niedermayer
b2a3279dbe
avcodec/apedec: Factor constant sign out of loop in long_filter_high_3800()
...
930 -> 850 cycles
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-05-01 00:48:32 +02:00
Michael Niedermayer
eb768a75f8
avcodec/apedec: Move pointer instead of copying each element in delay in long_filter_high_3800()
...
~1000 -> 930 cycles
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-05-01 00:48:32 +02:00
Michael Niedermayer
b614388056
tools/target_dec_fuzzer: Adjust threshold for FMVC
...
Fixes: Timeout
Fixes: 56753/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FMVC_fuzzer-5115163557888000
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-05-01 00:48:32 +02:00
James Almer
45fc89bb14
avcodec/hevc_ps: use get_ue_golomb() for some SPS Screen Content Coding extension fields
...
Also remove the _minus1 part of the name to be in line with the rest of the
decoder.
Signed-off-by: James Almer <jamrial@gmail.com>
2023-04-30 18:29:34 -03:00
James Almer
0275d99427
avcodec/parser: fill avctx dimensions if unset
...
This allows the usage of codecs in builds that have a parser but no decoders
for remuxing scenarios with raw sources.
Signed-off-by: James Almer <jamrial@gmail.com>
2023-04-30 18:25:24 -03:00
Paul B Mahol
7b2851b290
avfilter/af_asdr: add support for threads
2023-04-30 12:38:02 +02:00
Paul B Mahol
4f63e049a2
avfilter/af_asdr: add timeline support
2023-04-30 12:38:02 +02:00
Paul B Mahol
a47bd6d3d8
avfilter/af_asdr: set output frame duration
2023-04-30 12:38:02 +02:00
Paul B Mahol
a2f4adf680
avfilter: add arls filter
2023-04-30 11:34:35 +02:00
Paul B Mahol
f247a3d82d
avfilter/af_adynamicequalizer: add precision option
2023-04-30 11:32:45 +02:00
James Almer
41dd50ad0d
avcodec/hevc_ps: use get_{ue,se}_golomb() for some PPS Range extension fields
...
Signed-off-by: James Almer <jamrial@gmail.com>
2023-04-28 20:15:57 -03:00
James Almer
df3fd3accd
avcodec/hevc_ps: use get_ue_golomb() for some PPS Screen Content Coding extension fields
...
Also remove the _minus8 part of the name to be in line with the rest of the
decoder, and fix the storage type for pps_palette_predictor_initializer,
to support hbd values.
Signed-off-by: James Almer <jamrial@gmail.com>
2023-04-28 20:15:57 -03:00
Paul B Mahol
5564ba49a1
avfilter/af_adynamicequalizer: refactor code to gain small speedup
2023-04-28 23:31:25 +02:00
Paul B Mahol
153aaae457
avfilter/af_adynamicequalizer: factor detection filter code
2023-04-28 23:31:25 +02:00
Paul B Mahol
51504cf279
avfilter/af_adynamicequalizer: add dftype option
...
Useful for filter selection for detection control.
2023-04-28 23:31:25 +02:00
James Almer
1b7c13e1a4
fftools/ffmpeg_filter: fix leak of AVIOContext in read_binary()
...
It was only being freed on failure.
Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2023-04-28 13:46:13 -03:00
Anton Khirnov
af8be7bf43
lavf/dauddec: set timebase to 1/samplerate
...
Prevents lavf from generating inexact timestamps with the default
timebase of 1/90000.
2023-04-28 14:31:55 +02:00
Ting Fu
78f95f1088
lavfi/dnn: Remove DNN native backend
...
According to discussion in
https://etherpad.mit.edu/p/FF_dev_meeting_20221202 and the proposal in
http://ffmpeg.org/pipermail/ffmpeg-devel/2022-December/304534.html ,
the DNN native backend should be removed at first step.
All the DNN native backend related codes are deleted.
Signed-off-by: Ting Fu <ting.fu@intel.com>
2023-04-28 11:07:41 +08:00
Ting Fu
a9fb141719
lavfi/dnn: Modified DNN native backend related tools and docs.
...
Will remove native backend, so change the default backend in filters,
and also remove the python scripts which generate native model file.
Signed-off-by: Ting Fu <ting.fu@intel.com>
2023-04-28 11:07:41 +08:00
Ting Fu
7ed6f28a7c
lavfi/dnn: modify dnn interface for removing native backend
...
Native backend will be removed in following commits, so change the
dnn interface and modify the error message in it first.
Signed-off-by: Ting Fu <ting.fu@intel.com>
2023-04-28 11:07:40 +08:00
Paul B Mahol
4e57a0f35a
avfilter/afir_template: avoid multiplications if memcpy is enough
2023-04-27 22:53:13 +02:00
Paul B Mahol
19148a5b9f
avfilter: add FIR equalizer coefficients source filter
2023-04-27 21:45:57 +02:00
Paul B Mahol
595f0cbb4a
avcodec/smacker: do not use NULL for av_log()
2023-04-27 21:38:21 +02:00
Paul B Mahol
44c8f7df03
avformat/adtsenc: do not pass NULL to av_log()
2023-04-27 21:38:21 +02:00