Anton Khirnov
6bbea932ca
fftools/ffmpeg: set AVFrame.time_base for decoded frames
...
Makes it easier to keep track of the timebase the frames are in.
2 years ago
Anton Khirnov
b6e7d64394
fftools/ffmpeg: stop using packet pts for decoded audio frame pts
...
If input packets have timestamps, they will be propagated to output
frames by the decoder, so at best this block does not do anything.
There can also be an arbitrary amount of delay between packets sent to
the decoder and decoded frames (e.g. due to decoder's intrinsic delay or
frame threading), so deriving any timestamps from packet properties is
wrong.
2 years ago
Anton Khirnov
5b3aeab1bd
fftools/ffmpeg_filter: use correct timebase for filter EOF timestamp
...
It does not need to be equal to demuxer timebase.
2 years ago
Anton Khirnov
0aada80e73
fftools/ffmpeg_filter: keep track of filtergraph input timebase
...
Will be useful in following commits.
2 years ago
Anton Khirnov
04f0c40c74
fftools/ffmpeg_filter: add InputFilter private data
...
Move InputFilter.frame_queue to it, which is not accessed outside of
ffmpeg_filter.
2 years ago
Anton Khirnov
1dcae45ecb
fftools/ffmpeg_filter: factorize allocating InputFilter
2 years ago
Anton Khirnov
87ced7aee0
fftools/ffmpeg_filter: make graph_desc private
...
It is not used outside of ffmpeg_filter.
2 years ago
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.
2 years ago
Anton Khirnov
aee5b774bf
fftools/ffmpeg_filter: make ifilter_parameters_from_frame() static
...
It is no longer used outside of this file.
2 years ago
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.
2 years ago
Anton Khirnov
7e3eb24123
fftools/ffmpeg: move OutputStream.packets_encoded to Encoder
...
It is no longer used outside of ffmpeg_enc.
2 years ago
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.
2 years ago
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.
2 years ago
Anton Khirnov
f4a60b8ddc
fftools/ffmpeg: reduce access to OutputStream.enc_ctx
...
It will be made private to Encoder in the future.
2 years ago
Anton Khirnov
5a04aae821
fftools/ffmpeg: deprecate -adrift_threshold
...
This option has had no effect since -async was removed in
3d86a13b47
2 years ago
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.
2 years ago
Anton Khirnov
aae5ba31ca
lavf/dv: shorten code by using a local variable
2 years ago
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.
2 years ago
Paul B Mahol
5617465916
avfilter/af_anlms: improve documentation and extend option
2 years ago
Paul B Mahol
f09280dfc4
avfilter/af_arls: improve documentation and extend option
2 years ago
James Almer
159f8b8d71
avfilter/audio: move a variable declaration outside of an unrelated deprecated block
...
Signed-off-by: James Almer <jamrial@gmail.com>
2 years ago
Paul B Mahol
eaf15b5882
avfilter/vf_waveform: cc2b3201e7
missed same for >8 bits
2 years ago
James Almer
e7c690a046
avcodec/hevc_ps: check for out of range bitdepth in SPS
...
Signed-off-by: James Almer <jamrial@gmail.com>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
Paul B Mahol
7b2851b290
avfilter/af_asdr: add support for threads
2 years ago
Paul B Mahol
4f63e049a2
avfilter/af_asdr: add timeline support
2 years ago
Paul B Mahol
a47bd6d3d8
avfilter/af_asdr: set output frame duration
2 years ago
Paul B Mahol
a2f4adf680
avfilter: add arls filter
2 years ago
Paul B Mahol
f247a3d82d
avfilter/af_adynamicequalizer: add precision option
2 years ago
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>
2 years ago
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>
2 years ago
Paul B Mahol
5564ba49a1
avfilter/af_adynamicequalizer: refactor code to gain small speedup
2 years ago
Paul B Mahol
153aaae457
avfilter/af_adynamicequalizer: factor detection filter code
2 years ago
Paul B Mahol
51504cf279
avfilter/af_adynamicequalizer: add dftype option
...
Useful for filter selection for detection control.
2 years ago
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>
2 years ago
Anton Khirnov
af8be7bf43
lavf/dauddec: set timebase to 1/samplerate
...
Prevents lavf from generating inexact timestamps with the default
timebase of 1/90000.
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago