summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* avcodec/ffv1: Clear state on allocMichael Niedermayer2025-08-070-0/+0
| | | | | | | | Fixes: use of uninitialized memory Fixes: 428969823/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FFV1_DEC_fuzzer-5909681623334912 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/utvideodec: Set B for the width= 1 caseMichael Niedermayer2025-08-070-0/+0
| | | | | | | | Fixes: use of uninitialized meory Fixes: 428034093/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_UTVIDEO_DEC_fuzzer-6195630160805888 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/ffv1: Clear state on allocMichael Niedermayer2025-08-071-1/+1
| | | | | | | | Fixes: use of uninitialized memory Fixes: 428969823/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FFV1_DEC_fuzzer-5909681623334912 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/utvideodec: Set B for the width= 1 caseMichael Niedermayer2025-08-071-1/+1
| | | | | | | | Fixes: use of uninitialized meory Fixes: 428034093/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_UTVIDEO_DEC_fuzzer-6195630160805888 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>
* CODEOWNERS: add myself for lib{avcodec,avutil,swscale}/ppc/Sean McGovern2025-08-071-0/+3
|
* lavc: bump minor version and add APIChanges entry for ProRes RAWLynne2025-08-082-2/+5
|
* lavc: add a ProRes RAW parserLynne2025-08-084-0/+89
| | | | | | Simple parser that only parses frame information. This helps avoid requiring the software decoder on init to decode a single frame, since the decoder can be quite slow.
* lavc: add codec ID and profiles for ProRes RAWLynne2025-08-086-0/+23
|
* scale_vulkan: add support for basic DebayeringLynne2025-08-083-4/+163
|
* scale_vulkan: refactor shader initializationLynne2025-08-081-75/+85
|
* vulkan: add support for 16-bit RGGB Bayer pixfmtLynne2025-08-082-2/+6
|
* avcodec/jpeg2000dec: implement cdef remapping during pixel format matchingMichael Niedermayer2025-08-071-1/+11
| | | | | | | | Fixes: out of array access Fixes: poc.jp2 Found-by: Andy Nguyen <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/jpeg2000dec: move cdef default check into get_siz()Michael Niedermayer2025-08-071-11/+11
| | | | | | This way cdef is at its final value earlier Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/exr: Dont access outside xsize/ysizeMichael Niedermayer2025-08-071-4/+6
| | | | | | | | Fixes: out of array access Fixes: BIGSLEEP-436510316/dwa_uncompress_write.exr Found-by: Google Big Sleep Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/exr: Check rle_raw_data and surroundingsMichael Niedermayer2025-08-071-2/+13
| | | | | | | | | Fixes: out of array read Fixes: BIGSLEEP-436510153/dwa_uncompress_read.exr Found-by: Google Big Sleep Signed-off-by: Michael Niedermayer <[email protected]>
* CODEOWNERS: Add myself for VVCFrank Plowman2025-08-071-0/+4
|
* avutil/avassert: use __builtin_assume if availableKacper Michajłow2025-08-071-2/+5
| | | | Signed-off-by: Kacper Michajłow <[email protected]>
* avformat/hls: fix handle_init_section_args callback typeKacper Michajłow2025-08-071-4/+4
| | | | | | | | Fixes: utils.c:524:9: runtime error: call to function handle_init_section_args through pointer to incorrect function type 'void (*)(void *, const char *, int, char **, int *)' Signed-off-by: Kacper Michajłow <[email protected]>
* avutil/tx: zero whole array, not only one elementKacper Michajłow2025-08-071-1/+1
| | | | Signed-off-by: Kacper Michajłow <[email protected]>
* examples: Add check and replace av_free() to avoid potential memory errorsJiasheng Jiang2025-08-071-1/+5
| | | | | | | | | | Add check for the return value of av_packet_alloc() to avoid potential NULL pointer dereference. Moreover, replace redundant av_free() with fprintf(). Fixes: 9a38184a14 ("examples/decode_audio: allocate the packet dynamically") Signed-off-by: Jiasheng Jiang <[email protected]> Reviewed-by: Nicolas George <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* libavcodec/tests/snowenc: Add av_free() to avoid memory leakJiasheng Jiang2025-08-071-1/+6
| | | | | | | | Add av_free() to free s.temp_dwt_buffer and s.temp_idwt_buffer at the end of the function to avoid memory leak. Fixes: 5d48e4eafa ("Merge commit 'a6a750c7ef240b72ce01e9653343a0ddf247d196'") Signed-off-by: Jiasheng Jiang <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* libavfilter/af_firequalizer: Add check for av_malloc_array()Jiasheng Jiang2025-08-071-0/+2
| | | | | | | | Add check for the return value of av_malloc_array() to avoid potential NULL pointer dereference. Fixes: d3be186ed1 ("avfilter/firequalizer: add dumpfile and dumpscale option") Signed-off-by: Jiasheng Jiang <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* examples: Add proper deallocations to avoid potential memory leaksJiasheng Jiang2025-08-071-1/+8
| | | | | | | | Add proper deallocations in the error paths to avoid potential memory leaks. Fixes: e7dfaf16a4 ("libavfilter: example audio filtering program") Signed-off-by: Jiasheng Jiang <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* libavcodec/videotoolbox_vp9: Move av_malloc() to avoid memory leakJiasheng Jiang2025-08-071-3/+3
| | | | | | | | Move av_malloc() after the check for subsampling to avoid memory leak if subsampling < 0 and av_malloc() succeeds. Fixes: a41a2efc85 ("lavc/videotoolbox: add VP9 hardware acceleration") Signed-off-by: Jiasheng Jiang <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/itut35: rename some provider codesMaryla Ustarroz-Calonge2025-08-076-10/+10
| | | | | | | | | | | | | | | | | | In general, a provider code corresponds to a company/organization, and the name should be that of the company, not of a given feature. The feature is signalled in the "provider oriented code". The exception is HDR Vivid, where the code 0x0004 indicates the HDR Vivid feature itself rather than CUVA (China UHD Video Industry Alliance), according to the UHD World Associations 'HDR Video Technology Part 2-1 Application Guide to System Integration' document. ITU_T_T35_PROVIDER_CODE_CUVA -> ITU_T_T35_PROVIDER_CODE_HDR_VIVID ITU_T_T35_PROVIDER_CODE_LCEVC-> ITU_T_T35_PROVIDER_CODE_VNOVA ITU_T_T35_PROVIDER_CODE_SMTPE -> ITU_T_T35_PROVIDER_CODE_SAMSUNG Signed-off-by: Maryla Ustarroz-Calonge <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/itut35: always check the provider code and country code togetherMaryla Ustarroz-Calonge2025-08-074-78/+52
| | | | | | | | | | | ITU-T T.35 provider codes are attributed by national bodies and it's possible to have collisions across countries. This is why the country code must always be checked as well. Use if statements rather than nested switches which would be unreadable. Signed-off-by: Maryla Ustarroz-Calonge <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/libdav1d: move itut-t35 parsing to a separate functionMaryla Ustarroz-Calonge2025-08-071-77/+88
| | | | | | | This is in preparation to change the switch statement to if/else. Signed-off-by: Maryla Ustarroz-Calonge <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* Revert "forgejo/lint_commit_msg: add script for commit message linting"Michael Niedermayer2025-08-062-149/+0
| | | | | | | | | | | | | This should be done by fate. This script already blocks security fixes (https://code.ffmpeg.org/FFmpeg/FFmpeg/actions/runs/1046/jobs/0) IMHO its not good 1. to add commit message formating rules, never discussed or agreed 2. to expect developers to push commits trial and error style, make fate can test this already and tell the devlopers before pushing, saving him time This reverts commit cc6ad703b41e318bd1e4cb6196defaf505dbfea3.
* .forgejo/CODEOWNERS: Add myself for a more libavutil bits which i know wellMichael Niedermayer2025-08-061-0/+10
| | | | Signed-off-by: Michael Niedermayer <[email protected]>
* configure: add POWER9 & 10 cpusSean McGovern2025-08-061-1/+1
| | | | IBM introduced POWER9 in 2017 and likewise POWER10 in 2020.
* avfilter/vf_thumbnail: fix buffer overflow for odd sized HBD inputsNiklas Haas2025-08-061-1/+1
| | | | This histogram index was not correctly downshifted to 8-bit.
* avcodec/mpc8: init avctx->sample_rateKacper Michajłow2025-08-061-1/+7
| | | | | | | | Fixes frame validation. Fixes: 416134551/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPC8_fuzzer-5765557242888192 Found-by: OSS-Fuzz Signed-off-by: Kacper Michajłow <[email protected]>
* avcodec/cbs_h266_syntax_template: fix out of bounds accessKacper Michajłow2025-08-061-15/+9
| | | | | | | | | | current->num_tile_columns is not updated in the loop, so the existing check was not working. Check current index instead and break. This also simplifies duplicated log. Fixes: 435225531/clusterfuzz-testcase-minimized-ffmpeg_BSF_VVC_METADATA_fuzzer-6639684232216576 Found-by: OSS-Fuzz Signed-off-by: Kacper Michajłow <[email protected]>
* avcodec/vvc/ctu: check coeff before multiplyKacper Michajłow2025-08-061-1/+1
| | | | | | | | | | | ff_vvc_palette_escape_val() can return AVERROR in which case the coeff*scale will overflow. Fixes: runtime error: signed integer overflow: -1094995529 * 6528 cannot be represented in type 'int' Fixes: 435225406/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VVC_fuzzer-5118570024730624 Found-by: OSS-Fuzz Signed-off-by: Kacper Michajłow <[email protected]>
* avformat/Makefile: fix error unresolved external symbol ff_dtls_protocolWu Jianhua2025-08-071-0/+1
| | | | | | | | | | | | | Introduced by 307983b292adb60c82e75c8e5e41deedc89efbf0 Use the following command line to reproduce the issue: ./configure --toolchain=msvc --disable-asm --enable-ffmpeg \ --disable-everything --enable-decoder=vvc --enable-parser=vvc \ --enable-demuxer='vvc,mpegts' --enable-protocol='file,pipe' \ --enable-encoder='rawvideo,wrapped_avframe' \ --enable-muxer='rawvideo,md5,null' Signed-off-by: Wu Jianhua <[email protected]>
* avformat/mov: set primary extradata based on the first Sample only if it's ↵James Almer2025-08-061-2/+2
| | | | | | | | | not already in place If the first Sample references the first stsd entry, then setting it here is redundant. Signed-off-by: James Almer <[email protected]>
* forgejo/CODEOWNERS: add myself to docsGyan Doshi2025-08-061-0/+4
|
* .forgejo/CODEOWNERS: add myself to a few thingsMichael Niedermayer2025-08-061-2/+12
| | | | Signed-off-by: Michael Niedermayer <[email protected]>
* configure: don't disable '-ftree-vectorize' on GCC >= 13 on major architecturesJiawei2025-08-062-1/+20
| | | | | | | | | | | | | | | | | | | | | This changes configure to stop disabling -ftree-vectorize on GCC versions 13 and newer, on major architectures. Background: - Original `-fno-tree-vectorize` was added in 2009 in commit 973859f5230e to avoid compiler errors. - Re-enabled in 2016 in commit cb8646af24bd but caused failures due to inline CABAC assembly issues and was disabled again in fd6dbc53855fb. - Commit 182663a58a7a in 2023 fixed the inline CABAC assembly issues. - Recent versions of GCC, in particular 13 and newer, seem to generally work reliably with respect to vectorization, although bugs have been observed on Loongarch. Cautiously allow the GCC default of having vectorization enabled, on major architectures where we expect to see enough testing. If further issues are observed, they should be reported and noted here in configure, so the workarounds can be scoped and version limited.
* avcodec/motion_est: Remove double protection from init_ref()Michael Niedermayer2025-08-061-3/+3
| | | | Signed-off-by: Michael Niedermayer <[email protected]>
* configure: treat unrecognized flags as errors on MSVCKacper Michajłow2025-08-051-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is important for feature checking to work correctly. It can happen that an unrecognized flag passes the compile test with only a warning, while failing in preprocessor-only check with an error. This causes all test_cpp calls to fail and silently produces arguably broken MSVC builds. Also, all check_* functions don't work as expected, because they assume the check passed, even though there was a warning. Additionally, this brings the behavior in line with GCC/Clang based builds, failing early on unrecognized flags instead of silently continuing with warnings in the log. The /options:strict option is available starting in Visual Studio 2022 version 17.0. Because of that, we cannot use check_cflags alone, as it would add this flag for older MSVC versions and produce warnings. So, we need to manually perform a version check. A bit of a chicken and egg problem. Perform the version check before adding extra flags from the user to ensure we don't silently fail the preprocessor check due to invalid flags on older MSVC versions. Note that behavior differs depending on whether we are compiling or only preprocessing. This fixes silent different between handling: `cl.exe -P foo c.c` c1: fatal error C1083: Cannot open source file: 'foo': No such file or directory `cl.exe -c foo c.c` cl : Command line warning D9024 : unrecognized source file type 'foo', object file assumed Where -P fails, while -c throws warnings only. Of course `foo` is completely bogus here, but depends on the flags or configuration this may be unsupported argument. Or even some converted path from MSYS when run inside it. The objective is to always error out instead of silently hiding this. Use check_cflags even after the _MSC_FULL_VER check, for non-MSVC compilers. For example Clang-CL impersonate MSVC, but does not support -options:strict flag currently. Signed-off-by: Kacper Michajłow <[email protected]>
* configure: filter link flags separately for MSVCKacper Michajłow2025-08-051-2/+9
| | | | | | | | | This avoids adding flags that cl.exe doesn't understand. Fixes cases where external libraries pkg-config file adds `-L` to the cflags, strip it before passing to cl.exe. Signed-off-by: Kacper Michajłow <[email protected]>
* configure: don't use dangling temp file stateKacper Michajłow2025-08-051-0/+2
| | | | | | | There was implicit assumption that the $TMPC file is empty when doing --cpu=host checks. This breaks if any check is done before that. Signed-off-by: Kacper Michajłow <[email protected]>
* hwcontext_vulkan: fix exporting multi-plane DRM modifiersRussell Greene2025-08-051-10/+94
| | | | | | | | | | | | | | | | | | | | | | Previously, it was assumed that `drmFormatModifierPlaneCount` was one for all modifiers when exporting, which is not always the case, in particular for AMD GPUs and maybe others. Fetch the number of memory planes and fill the structs appropriately in this situation. The encoded stream is still bad in the case whre modifers are involved, but I think this patch still stands on its own and I suspect that may be a driver bug. A potential improvement that could be make is to cache the format information, so we can avoid the two GetPhysicalDeviceFormatProperties2 calls for each export, as well as the allocation. I doubt this is very expensive, but seemed worth noting. v2 changes: query the format properties with the test image created in `vulkan_frames_init` to avoid allocating space for the query during export Signed-off-by: Russell Greene <[email protected]>
* vulkan_encode_h264/5: Fix uninitialized return value in write_extra_headersDavid Rosca2025-08-052-0/+2
|
* lavc/vulkan/common: sign-ify lengthsLynne2025-08-053-14/+14
| | | | | This makes left_bits return useful data rather than overflowing, and also saves some 64-bit integer operations, which is still always a plus sadly.
* hwcontext_vulkan: enable uniformBufferStandardLayoutLynne2025-08-051-0/+1
|
* hwcontext_vulkan: temporarily disable host_image_copyLynne2025-08-051-1/+0
| | | | | | | NVIDIA's support for it is a disaster. Of no benefit to other vendors. NVIDIA are working on fixing it, but it may take time.
* vf_libplacebo: add support for specifying a LUT for the inputLynne2025-08-052-0/+66
| | | | This makes it possible to apply Adobe .cube files to inputs.
* tests/fate/hlsenc: add testcase of hls fragment mp4 named cmfaSteven Liu2025-08-052-0/+65
| | | | | | | Add allow extension name cmfa and cmfv test, this testcase only cover fragment mp4 named cmfa. ticket description in ticket/11526