Anton Khirnov
828d3b4432
doc/examples/transcode: set packet timebase for decoding
...
It is recommended for callers to set it, though not required.
2023-06-03 11:27:11 +02:00
Paul B Mahol
6b8d53f728
avcodec/magicyuvenc: add slice encoding support
2023-06-03 00:11:48 +02:00
James Almer
4da14c302f
avcodec/av1dec: reset the fragment on extradata reading failure
...
Signed-off-by: James Almer <jamrial@gmail.com>
2023-06-02 14:07:20 -03:00
James Almer
8c6b931f4c
avcodec/av1dec: reset the fragment on reading failure
...
Fixes: NULL pointer dereference
Fixes: 59359/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AV1_fuzzer-6726080594313216
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: James Almer <jamrial@gmail.com>
2023-06-02 14:01:10 -03:00
Paul B Mahol
9a9b56c870
avfilter/vf_mix: add fast filtering in case all tmix weights are same
2023-06-02 18:54:32 +02:00
James Almer
da23151eaf
avformat/oggparseflac: use the GetByteContext API
...
All but one read are byte aligned, so there's no point in using the
GetBitContext API.
Signed-off-by: James Almer <jamrial@gmail.com>
2023-06-01 19:51:06 -03:00
Timo Rothenpieler
d2b46c1ef7
avcodec/nvenc: stop using deprecated rc modes with SDK 12.1
2023-06-01 23:47:14 +02:00
Timo Rothenpieler
03823ac0c6
configure: use non-deprecated nvenc GUID for conftest
2023-06-01 23:24:43 +02:00
Paul B Mahol
3cfd85ec20
avfilter/avf_showcqt: switch to activate
...
And make output frame durations always same.
2023-06-01 20:27:33 +02:00
Paul B Mahol
baa9fccf8d
avfilter/vf_mergeplanes: remove hack for linesize calculation
2023-05-31 19:24:03 +02:00
Pierre-Anthony Lemieux
0f2f0dd5b4
avformat/imf: clean-up logging
...
* remove logging to NULL
* remove extraneous logging
2023-05-31 09:03:58 -07:00
Anton Khirnov
ba2c791627
fftools/ffmpeg_filter: do not flush encoders on parameter change
...
It makes no sense to do so.
2023-05-31 16:20:19 +02:00
Anton Khirnov
106167374c
fftools/ffmpeg_mux: flush bsfs immediately on exceeding recoding time
...
Current code marks the output stream as finished and waits for a flush
packet, but that is both unnecessary and suspect, as in theory nothing
should be sent to a finished stream - not even flush packets.
2023-05-31 16:20:19 +02:00
Anton Khirnov
2674532eee
fftools/ffmpeg_filter: constify the argument of filtergraph_is_simple()
2023-05-31 16:20:19 +02:00
Anton Khirnov
3bfc2c589a
fftools/ffmpeg_filter: make InputStream.filter private
...
It is no longer accessed outside of ffmpeg_filter.
2023-05-31 16:20:19 +02:00
Anton Khirnov
5924b70075
fftools/ffmpeg_filter: make ifilter_has_all_input_formats() static
...
It is no longer used outside ffmpeg_filter.
2023-05-31 16:20:19 +02:00
Anton Khirnov
2262df5e8a
fftools/ffmpeg_filter: drop unreachable code
...
Filtergraphs with no inputs are initialized as soon as all their outputs
are bound, so this code should not be reachable.
2023-05-31 16:20:19 +02:00
Anton Khirnov
f3e0a83e8e
fftools/ffmpeg_enc: stop configuring filters from encoder flush
...
There is no way for a filtergraph to have all input parameters, yet not
be configured, so this code should not be reachable.
2023-05-31 16:20:19 +02:00
Anton Khirnov
f8abab673c
fftools/ffmpeg: move sub2video handling to ffmpeg_filter
...
Make all relevant state per-filtergraph input, rather than per-input
stream. Refactor the code to make it work and avoid leaking memory when
a single subtitle stream is sent to multiple filters.
2023-05-31 16:20:19 +02:00
Anton Khirnov
20cacfe493
fftools/ffmpeg: rework setting sub2video parameters
...
Set them in ifilter_parameters_from_dec(), similarly to audio/video
streams. This reduces the extent to which sub2video filters need to be
treated specially.
2023-05-31 16:20:19 +02:00
Anton Khirnov
ea5c39cef6
fftools/ffmpeg: tweak sub2video_heartbeat() arguments
...
This function should not take an InputStream, as it only uses it to get
the InputFile and the timebase. Pass those directly instead and avoid
confusion over dealing with multiple InputStreams.
2023-05-31 16:20:19 +02:00
Anton Khirnov
a6d67b11f5
fftools/ffmpeg_filter: move sub2video subtitle queue to InputFilterPriv
...
This queue should be associated with a specific filtergraph input - if
a subtitle stream is sent to multiple filters then each should have its
own queue.
2023-05-31 16:20:19 +02:00
Anton Khirnov
5d530e3a72
fftools/ffmpeg_dec: move sub2video submission to ffmpeg_filter
...
This code is a sub2video analogue of ifilter_send_frame(), so it
properly belongs to the filtering code.
Note that using sub2video with more than one target for a given input
subtitle stream is currently broken and this commit does not change
that. It will be addressed in following commits.
2023-05-31 16:19:49 +02:00
Anton Khirnov
3d35b73b2a
fftools/ffmpeg: constify AVSubtitle parameters as appropriate
2023-05-31 16:15:47 +02:00
Anton Khirnov
ad4efb9158
fftools/ffmpeg_filter: try to configure filtergraphs earlier
...
When the filtergraph has no inputs, it can be configured immediately
when all its outputs are bound to output streams. This will simplify
treating some corner cases.
2023-05-31 16:15:47 +02:00
Anton Khirnov
7520cd9f07
fftools/ffmpeg_mux_init: move OutputFilter setup code to ffmpeg_filter
...
That is a more appropriate place for it.
2023-05-31 16:15:47 +02:00
Anton Khirnov
87b576135e
fftools/ffmpeg_filter: factor out binding an output stream to OutputFilter
...
While the new function is trivial for now, it will become more useful in
future commits.
2023-05-31 16:15:47 +02:00
Anton Khirnov
dc5864a00c
fftools/ffmpeg_filter: create Input/OutputFilters together with FilterGraph
...
This way the list of filtergraph inputs/outputs is always known after
FilterGraph creation. This will allow treating simple and complex
filtergraphs in a more uniform manner.
2023-05-31 16:15:47 +02:00
Anton Khirnov
a1061d4bdc
fftools/ffmpeg_filter: move some functions higher up
...
Needed by the following commit.
2023-05-31 16:15:47 +02:00
Anton Khirnov
00183880aa
fftools/ffmpeg_filter: decouple allocating InputFilter and binding it to InputStream
...
Will be useful in future commits.
2023-05-31 16:15:47 +02:00
Anton Khirnov
7ea10bfef3
fftools/ffmpeg_filter: store just the link label in OutputFilter
...
Not the entire AVFilterInOut. This is simpler.
2023-05-31 16:15:47 +02:00
Anton Khirnov
da7ae627e1
fftools/ffmpeg_filter: always pass graph description to fg_create()
...
Currently NULL would be passed for simple filtergraphs, which would
make the filter code extract the graph description from the output
stream when needed. This is unnecessarily convoluted.
2023-05-31 16:15:47 +02:00
Anton Khirnov
badf959ed6
fftools/ffmpeg_filter: use a dedicated variable for marking simple filtergraphs
...
Do not use an unrelated graph property, which will change in future
commits.
2023-05-31 16:15:47 +02:00
Anton Khirnov
b56db2956b
fftools/ffmpeg: add logging for creating output streams
2023-05-31 16:15:47 +02:00
Anton Khirnov
eeb7d92ac7
fftools/ffmpeg_mux_init: merge ost_add_from_filter() to ost_add()
...
This way ost_add() knows about the complex filtergraph it is fed from,
which will become useful in future commits.
2023-05-31 16:15:47 +02:00
Devin Heitmueller
859c34706d
avdevice/decklink_common: Convert to using avpriv_packet_list functions
...
The existing DecklinkQueue implementation was using the PacketList
structure but wasn't using the standard avpriv_packet_list_get and
avpriv_packet_list_put functions. Convert to using them so we
eliminate the duplicate logic, per Marton Balint's suggestion.
Updated to reflect feedback from Marton Balint provided on 05/11/23.
Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2023-05-31 00:21:00 +02:00
Paul Arzelier
a9042db1d3
avformat/oggparseflac: check init_get_bits' result
...
Check init_get_bits' result for NULL, to avoid dereferencing a NULL
pointer later (CWE-476).
Without this, a segfault happens when trying to decode a handcrafted
ogg-flac file with an absurdly long (e.g. 268435455 bytes) ogg header.
Co-authored-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul Arzelier <paul.arzelier@free.fr>
2023-05-30 18:26:32 -03:00
Paul B Mahol
4d9afbeef5
avfilter/avf_aphasemeter: switch to activate
2023-05-30 20:09:47 +02:00
Paul B Mahol
3ea3a4ba16
avfilter/avf_aphasemeter: avoid using double
2023-05-30 20:09:46 +02:00
Paul B Mahol
862ebbf2ed
avfilter/avf_abitscope: refactor bit counting for histogram
...
This helps compiler figure out it can unroll loop and give 4x speedup.
2023-05-30 19:21:13 +02:00
Paul B Mahol
1636fb415a
avfilter/avf_ahistogram: refactor frame fill data code
2023-05-30 18:18:14 +02:00
Arnie Chang
c5508f60c2
lavc/h264chroma: RISC-V V add motion compensation for 8x8 chroma blocks
...
Optimize the put and avg filtering for 8x8 chroma blocks
Signed-off-by: Arnie Chang <arnie.chang@sifive.com>
2023-05-30 17:15:05 +02:00
Paul B Mahol
b01cfdb4ab
avfilter/avf_showwaves: cleanup and simplify some draw calls
2023-05-30 17:00:30 +02:00
Sami Boukortt
06e8eedeba
avfilter/vf_colorspace: fix message for missing/incorrect colorspace
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2023-05-30 09:05:19 -04:00
Paul B Mahol
81f658b99d
avfilter/f_ebur128: set output frame duration
...
Also produce output video timestamps that are consistent with
10 frames per second.
2023-05-30 14:08:40 +02:00
Paul B Mahol
447bdddeac
avfilter/af_afir: do not use ff_outlink_get_status() on inlinks
2023-05-30 14:08:22 +02:00
Paul B Mahol
4ab1184fae
avfilter/af_headphone: do not call ff_outlink_get_status() on inlink
2023-05-30 02:16:47 +02:00
Paul B Mahol
492f64de08
avfilter/vf_framepack: remove not needed calls and add newline to log
2023-05-30 02:16:46 +02:00
Paul B Mahol
12acbcb7a2
avfilter/f_graphmonitor: always output last frame on EOF
2023-05-30 02:16:45 +02:00
Paul B Mahol
ac6a6d1abf
avfilter/af_join: do not use ff_outlink_get_status() on inlink
2023-05-30 02:16:44 +02:00