aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* avformat/fifo: Check for keyframe video type before stop droppingArthur Grillo2025-04-161-3/+25
| | | | | | | | | | | | | | | | | | | The current behavior when using restart_with_keyframe is that it will recover if it also encounters any audio packet, as they are flagged as a keyframe. The expectation is that packets are dropped until the next _video_ keyframe. To fix that, check if exists a video stream, if it exists check the packet stream codec type, only letting it recover when it is a video one. If there is no video stream, resume to the original behavior, not checking the codec type. Fixes ticket: #11467 Signed-off-by: Arthur Grillo <arthurgrillo@riseup.net> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* tools: Fix deprecation warning in patcheckLink Mauve2025-04-161-1/+1
| | | | | | | GNU apparently deprecated their egrep alias, replace it with 'grep -E' to avoid getting flooded with deprecation warnings. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* fftools/textformat/avtextformat: Make close functions return voidAndreas Rheinhardt2025-04-164-20/+9
| | | | | | | Just like normal close functions. Reviewed-by: softworkz . <softworkz-at-hotmail.com@ffmpeg.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/textformat/avtextformat: Add missing AVERROR()Andreas Rheinhardt2025-04-161-2/+2
| | | | | Reviewed-by: softworkz . <softworkz-at-hotmail.com@ffmpeg.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/textformat/avtextformat: Initialize stuff earlierAndreas Rheinhardt2025-04-161-6/+6
| | | | | | | | | | | | | avtext_context_close() calls av_opt_free() on an AVTextFormatContext as well as av_bprint_finalize() on the containing section_pbuf AvBPrints, yet it can happen that the AVBPrints have not been initialized (only zeroed) and that av_opt_set_defaults() has not been called. This works, but it is not really documented to do so. So ensure that the options and the AVBPrints have been initialized when avtext_context_close() is called. Reviewed-by: softworkz . <softworkz-at-hotmail.com@ffmpeg.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/textformat/avtextformat: Fix segfault upon allocation errorAndreas Rheinhardt2025-04-161-4/+6
| | | | | | | | Would happen if an AVTextFormatContext's private context could not be allocated. Reviewed-by: softworkz . <softworkz-at-hotmail.com@ffmpeg.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/textformat/avtextformat: Fix segfault upon allocation errorAndreas Rheinhardt2025-04-161-4/+6
| | | | | Reviewed-by: softworkz . <softworkz-at-hotmail.com@ffmpeg.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* textformat/tw_avio: Remove close_on_uninit param from create_fileAndreas Rheinhardt2025-04-163-4/+4
| | | | | | | | | | avtextwriter_create_file() creates an AVIOContext whose pointer resides in its private context. If it were not always closed on uninit, the AVIOContext would leak, so it makes no sense to have this parameter. Reviewed-by: softworkz . <softworkz-at-hotmail.com@ffmpeg.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/textformat/tw_avio: Use avio_closep()Andreas Rheinhardt2025-04-161-3/+2
| | | | | | | Avoids leaving dangling pointers behind. Reviewed-by: softworkz . <softworkz-at-hotmail.com@ffmpeg.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/textformat/tw_avio: Don't flush unnecessarilyAndreas Rheinhardt2025-04-161-1/+0
| | | | | | | avio_close() automatically flushes the AVIOContext. Reviewed-by: softworkz . <softworkz-at-hotmail.com@ffmpeg.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/textformat/tw_avio: Remove unused private classAndreas Rheinhardt2025-04-161-12/+3
| | | | | | | This AVTextWriter does not have any options. Reviewed-by: softworkz . <softworkz-at-hotmail.com@ffmpeg.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/textformat: Use "", not <> for lavu headersAndreas Rheinhardt2025-04-166-30/+16
| | | | | | | Also remove unused headers. Reviewed-by: softworkz . <softworkz-at-hotmail.com@ffmpeg.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/textformat/avtextformat: Simplify avtext_print_rational()Andreas Rheinhardt2025-04-161-4/+3
| | | | | | | | Use snprintf() directly instead of initializing an AVBPrint just for this. Reviewed-by: softworkz . <softworkz-at-hotmail.com@ffmpeg.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/hwcontext_vulkan: use the typedef'd name for the expect_assume structJames Almer2025-04-151-1/+1
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/hwcontext_vulkan: check if expect_assume is supported by the headerJames Almer2025-04-152-0/+11
| | | | | Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: James Almer <jamrial@gmail.com>
* lavfi/src_movie: set pkt_timebaseNicolas George2025-04-151-0/+1
| | | | | Fix “Could not update timestamps for skipped samples” warning and associated misfeature.
* avformat/movenc: fix setting elst/stss for IAMF with OpusFelicia Lim2025-04-141-0/+9
|
* avformat/iamf_writer: fix setting skip_samples and discard_padding for OPUSFelicia Lim2025-04-141-8/+17
|
* avcodec/decode: Only use ff_progress_frame_get_buffer() with blank inputAndreas Rheinhardt2025-04-143-17/+10
| | | | | | | | | All users (namely HEVC) that use ff_progress_frame_alloc() should just use ff_thread_get_buffer(). Using ff_progress_frame_get_buffer() is not a must; it is merely a convenience wrapper. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* vulkan_ffv1: add cached symbol reader for AMDLynne2025-04-142-28/+50
| | | | | | Speeds up everything on AMD by 3x. This uses 32 local invocations to load state into cache, as well as to do the RCT faster.
* vulkan: add support for expect/assumeLynne2025-04-146-12/+27
| | | | | | This commit adds support for compiler hints. While on AMD these are not used/needed, Nvidia benefits from them, and gives a sizeable 10% speedup on 4k.
* vulkan_ffv1: shortcut +-1 coeffs in symbol readingLynne2025-04-141-1/+4
| | | | Slightly faster, and allows for further optimizations.
* vulkan_ffv1: remove need for scratch data during setupLynne2025-04-143-58/+44
| | | | This saves on some VRAM, but mainly allows for a more unified path.
* vulkan_ffv1: externalize extended lookup checkLynne2025-04-142-2/+7
| | | | 8% speedup on nvidia on 4k.
* ffv1/vulkan: redo context count tracking and quant_table_idx managementLynne2025-04-148-34/+31
| | | | | | | | This commit also makes it possible for the encoder to choose a different quantization table on a per-slice basis, as well as adding this capability to the decoder. Also, this commit fully fixes decoding of context=1 encoded files.
* vulkan_ffv1: cache only 2 lines when decoding RGBLynne2025-04-145-330/+203
| | | | | | | | This reduces the intermediate VRAM used for RGB decoding by a factor of 100x for 6k video. This also speeds the decoder up by 16% for 4k RGB24 and 31% for 6k video. This is equivalent to what the software decoder does, but with less pointers.
* vulkan_ffv1: fix left-2 sample addressingLynne2025-04-141-6/+8
| | | | | Typo. Not enough to fix context=1, but its a start.
* vulkan_ffv1: improve buffer barrier correctness for slice stateLynne2025-04-141-3/+2
| | | | This is likely a nanooptimization, but its more correct.
* vulkan_ffv1: fix reset shader dependenciesLynne2025-04-141-19/+17
| | | | | Without a barrier upfront, the reset shader may read data fields not yet set by the setup shader.
* vulkan_ffv1: fallback to upload if mapping packet fails, fix fallbackLynne2025-04-141-12/+7
| | | | | | The commit which added support for host mapping accidentally broke the original, upload route. For drivers without host-mapping (very few), fix it.
* vulkan_ffv1: init overread/corrupt fieldsLynne2025-04-141-2/+2
| | | | Forgotten.
* vulkan_ffv1: allocate just as much memory for slice state as neededLynne2025-04-141-4/+4
| | | | | Rather than always using the maximum allowed slices, just use the number of slices present in this frame.
* vulkan_ffv1: optimize symbol readerLynne2025-04-141-7/+5
| | | | This was the fastest variant tested.
* vulkan_ffv1: slightly optimize the range decoderLynne2025-04-141-5/+4
| | | | GPUs have cmovs as standard.
* vulkan_ffv1: remove unused defineLynne2025-04-141-2/+0
| | | | Leftover debug macro.
* vulkan_ffv1: enable acceleration on IntelLynne2025-04-141-14/+0
| | | | Fixed by previous commit.
* hwcontext_vulkan: disable descriptor buffer extension on IntelLynne2025-04-141-1/+21
| | | | | Temporary workaround. Will be replaced with a version check once a fix is in the works and a known next version for Mesa with a fix is known.
* vulkan_decode: only create sequence params in end_frameLynne2025-04-143-26/+0
| | | | | | | We tried to create sequence params in both start_frame and end_frame. This was redundant. Just always create them in end_frame.
* vulkan: remove unused field from exec poolsLynne2025-04-141-2/+0
| | | | | This used to be involved in a mechanism to switch between queue indices, but since the rewrite of the rewrite of the rewrite, it was rewritten out.
* vulkan_shaderc/glslang: print full shaders on TRACE rather than VERBOSELynne2025-04-142-2/+2
| | | | Way too spammy.
* vulkan: fix logging level when erroring upon creating shader moduleLynne2025-04-141-1/+1
|
* avcodec/mpegaudioenc: Rename MPA_encode_* -> mpa_encode_*Andreas Rheinhardt2025-04-131-6/+6
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegaudioenc: Move PutBitContext to stackAndreas Rheinhardt2025-04-131-6/+5
| | | | | | Avoids keeping dangling pointers in the context. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegaudioenc: Don't pad one bit at a timeAndreas Rheinhardt2025-04-131-5/+5
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegaudioenc: Avoid intermediate bufferAndreas Rheinhardt2025-04-131-4/+7
| | | | | | | We know the final size before encoding, so we can switch to ff_get_encode_buffer() which avoids an implicit memcpy(). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegaudioenc: Combine writing scale factorsAndreas Rheinhardt2025-04-131-5/+2
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegaudioenc_{fixed,float}: Merge encodersAndreas Rheinhardt2025-04-134-156/+134
| | | | | | | | Most of the encoders is the same. So deduplicate them. This reduces code size from 22410B to 12637B here. The data in mpegaudiotab.h is also automatically deduplicated. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegaudioenc_template: Remove always-false branchAndreas Rheinhardt2025-04-131-5/+3
| | | | | | | The sample rates here have already been checked generically via CODEC_SAMPLERATES(). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/asf_tags: Deduplicate tagsAndreas Rheinhardt2025-04-132-5/+1
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/opus/tab: Deduplicate arraysAndreas Rheinhardt2025-04-132-9/+3
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>