aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* doc/examples/transcode: stop using decoder's AVCodecContext.time_baseAnton Khirnov2023-06-031-5/+2
| | | | | | | | The contents of this field are not defined for decoding. Use pkt_timebase, which is the timebase of demuxed packets. Drop a tautological av_packet_rescale_ts() call, as the stream and decoder timebases are the same.
* doc/examples/transcode: set packet timebase for decodingAnton Khirnov2023-06-031-0/+5
| | | | It is recommended for callers to set it, though not required.
* avcodec/magicyuvenc: add slice encoding supportPaul B Mahol2023-06-031-93/+119
|
* avcodec/av1dec: reset the fragment on extradata reading failureJames Almer2023-06-021-1/+1
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/av1dec: reset the fragment on reading failureJames Almer2023-06-021-0/+1
| | | | | | | | 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>
* avfilter/vf_mix: add fast filtering in case all tmix weights are samePaul B Mahol2023-06-021-2/+73
|
* avformat/oggparseflac: use the GetByteContext APIJames Almer2023-06-011-15/+12
| | | | | | | 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>
* avcodec/nvenc: stop using deprecated rc modes with SDK 12.1Timo Rothenpieler2023-06-014-0/+40
|
* configure: use non-deprecated nvenc GUID for conftestTimo Rothenpieler2023-06-011-1/+1
|
* avfilter/avf_showcqt: switch to activatePaul B Mahol2023-06-011-34/+50
| | | | And make output frame durations always same.
* avfilter/vf_mergeplanes: remove hack for linesize calculationPaul B Mahol2023-05-311-10/+11
|
* avformat/imf: clean-up loggingPierre-Anthony Lemieux2023-05-314-100/+91
| | | | | * remove logging to NULL * remove extraneous logging
* fftools/ffmpeg_filter: do not flush encoders on parameter changeAnton Khirnov2023-05-311-1/+1
| | | | It makes no sense to do so.
* fftools/ffmpeg_mux: flush bsfs immediately on exceeding recoding timeAnton Khirnov2023-05-311-6/+5
| | | | | | 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.
* fftools/ffmpeg_filter: constify the argument of filtergraph_is_simple()Anton Khirnov2023-05-312-3/+8
|
* fftools/ffmpeg_filter: make InputStream.filter privateAnton Khirnov2023-05-312-16/+17
| | | | It is no longer accessed outside of ffmpeg_filter.
* fftools/ffmpeg_filter: make ifilter_has_all_input_formats() staticAnton Khirnov2023-05-312-14/+12
| | | | It is no longer used outside ffmpeg_filter.
* fftools/ffmpeg_filter: drop unreachable codeAnton Khirnov2023-05-311-11/+0
| | | | | Filtergraphs with no inputs are initialized as soon as all their outputs are bound, so this code should not be reachable.
* fftools/ffmpeg_enc: stop configuring filters from encoder flushAnton Khirnov2023-05-311-12/+2
| | | | | There is no way for a filtergraph to have all input parameters, yet not be configured, so this code should not be reachable.
* fftools/ffmpeg: move sub2video handling to ffmpeg_filterAnton Khirnov2023-05-315-162/+177
| | | | | | 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.
* fftools/ffmpeg: rework setting sub2video parametersAnton Khirnov2023-05-313-44/+41
| | | | | | 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.
* fftools/ffmpeg: tweak sub2video_heartbeat() argumentsAnton Khirnov2023-05-311-4/+3
| | | | | | 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.
* fftools/ffmpeg_filter: move sub2video subtitle queue to InputFilterPrivAnton Khirnov2023-05-312-12/+15
| | | | | | 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.
* fftools/ffmpeg_dec: move sub2video submission to ffmpeg_filterAnton Khirnov2023-05-314-16/+41
| | | | | | | | | 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.
* fftools/ffmpeg: constify AVSubtitle parameters as appropriateAnton Khirnov2023-05-312-3/+5
|
* fftools/ffmpeg_filter: try to configure filtergraphs earlierAnton Khirnov2023-05-311-0/+18
| | | | | | 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.
* fftools/ffmpeg_mux_init: move OutputFilter setup code to ffmpeg_filterAnton Khirnov2023-05-312-77/+70
| | | | That is a more appropriate place for it.
* fftools/ffmpeg_filter: factor out binding an output stream to OutputFilterAnton Khirnov2023-05-313-4/+11
| | | | | While the new function is trivial for now, it will become more useful in future commits.
* fftools/ffmpeg_filter: create Input/OutputFilters together with FilterGraphAnton Khirnov2023-05-311-83/+74
| | | | | | 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.
* fftools/ffmpeg_filter: move some functions higher upAnton Khirnov2023-05-311-187/+187
| | | | Needed by the following commit.
* fftools/ffmpeg_filter: decouple allocating InputFilter and binding it to ↵Anton Khirnov2023-05-311-9/+22
| | | | | | InputStream Will be useful in future commits.
* fftools/ffmpeg_filter: store just the link label in OutputFilterAnton Khirnov2023-05-313-9/+13
| | | | Not the entire AVFilterInOut. This is simpler.
* fftools/ffmpeg_filter: always pass graph description to fg_create()Anton Khirnov2023-05-314-15/+14
| | | | | | 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.
* fftools/ffmpeg_filter: use a dedicated variable for marking simple filtergraphsAnton Khirnov2023-05-311-1/+7
| | | | | Do not use an unrelated graph property, which will change in future commits.
* fftools/ffmpeg: add logging for creating output streamsAnton Khirnov2023-05-311-0/+32
|
* fftools/ffmpeg_mux_init: merge ost_add_from_filter() to ost_add()Anton Khirnov2023-05-311-39/+32
| | | | | This way ost_add() knows about the complex filtergraph it is fed from, which will become useful in future commits.
* avdevice/decklink_common: Convert to using avpriv_packet_list functionsDevin Heitmueller2023-05-311-35/+15
| | | | | | | | | | | | 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>
* avformat/oggparseflac: check init_get_bits' resultPaul Arzelier2023-05-301-1/+4
| | | | | | | | | | 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>
* avfilter/avf_aphasemeter: switch to activatePaul B Mahol2023-05-301-20/+61
|
* avfilter/avf_aphasemeter: avoid using doublePaul B Mahol2023-05-301-2/+2
|
* avfilter/avf_abitscope: refactor bit counting for histogramPaul B Mahol2023-05-301-16/+16
| | | | This helps compiler figure out it can unroll loop and give 4x speedup.
* avfilter/avf_ahistogram: refactor frame fill data codePaul B Mahol2023-05-301-16/+36
|
* lavc/h264chroma: RISC-V V add motion compensation for 8x8 chroma blocksArnie Chang2023-05-305-0/+353
| | | | | | Optimize the put and avg filtering for 8x8 chroma blocks Signed-off-by: Arnie Chang <arnie.chang@sifive.com>
* avfilter/avf_showwaves: cleanup and simplify some draw callsPaul B Mahol2023-05-301-50/+41
|
* avfilter/vf_colorspace: fix message for missing/incorrect colorspaceSami Boukortt2023-05-301-3/+3
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avfilter/f_ebur128: set output frame durationPaul B Mahol2023-05-301-5/+5
| | | | | Also produce output video timestamps that are consistent with 10 frames per second.
* avfilter/af_afir: do not use ff_outlink_get_status() on inlinksPaul B Mahol2023-05-301-9/+7
|
* avfilter/af_headphone: do not call ff_outlink_get_status() on inlinkPaul B Mahol2023-05-301-11/+20
|
* avfilter/vf_framepack: remove not needed calls and add newline to logPaul B Mahol2023-05-301-3/+1
|
* avfilter/f_graphmonitor: always output last frame on EOFPaul B Mahol2023-05-301-1/+1
|