aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* avcodec/vvc/dec: fix possible null-pointer dereferenceMarvin Scholz2025-06-121-1/+2
| | | | | | | | | When checking for filmgrain here, needs_fg can be true even when film_grain_characteristics is NULL (when aom_film_grain.enable is true), therefore this check could end up dereferencing film_grain_characteristics even though it is NULL. Fix CID 1648347
* avformat/internal: add missing __clang__ checkKacper Michajłow2025-06-121-1/+1
| | | | | | | Clang x86_64-pc-windows-msvc doesn't define __GNUC__. Signed-off-by: Kacper Michajłow <kasper93@gmail.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* avutil/intmath: use AV_HAS_BUILTIN to detect builtin availabilityKacper Michajłow2025-06-122-9/+7
| | | | | | | | | Fixes use of bultins on clang x86_64-pc-windows-msvc which does not define any __GNUC__. Also on other targets __GNUC__ is defined to 4 by default, so any feature testing based on version is not really valid. Signed-off-by: Kacper Michajłow <kasper93@gmail.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* ffmpeg_demux: init resume_warn variableMarvin Scholz2025-06-111-1/+1
| | | | | | | Fixes an uninitialized read introduced with 6232f416b172358c9dd82462037953f02743df27 Fix CID 1643162 Uninitialized scalar variable
* lavfi/f_sendcmd: clear Command on alloc failureMarvin Scholz2025-06-111-0/+1
| | | | | | | | If the command array failed to allocate, the current parsed Command has to be cleared, else memory allocated for it would be leaked. Fix CID 1638635
* lavfi/f_sendcmd: add helper to clear CommandMarvin Scholz2025-06-111-6/+14
| | | | | Makes clearing the Command more explicit and consistent.
* avformat/sdp: add framerate entryMarvin Scholz2025-06-112-2/+5
| | | | | This also updates fate-lavf-mov_rtphint as there the SDP is included in the muxed file.
* avformat/rtpdec_jpeg: Set width and heigh codec parametersErik Linge2025-06-111-0/+2
| | | | Signed-off-by: Marvin Scholz <epirat07@gmail.com>
* avformat/rtsp: parse framerate in sdpErik Linge2025-06-111-0/+7
| | | | | Co-authored-by: Marvin Scholz <epirat07@gmail.com> Signed-off-by: Marvin Scholz <epirat07@gmail.com>
* doc: use av_dict_iterate in documentation exampleMarvin Scholz2025-06-111-2/+2
|
* vulkan: maintain compatibility with older headersLynne2025-06-122-3/+3
|
* hwcontext_vulkan: fix image copyLynne2025-06-112-15/+28
| | | | | The patch was applied by mistake in an unfinished form. This fixes the build and lets the code run.
* vulkan/ffv1dec: fix FFVkSPIRVCompiler leakaverne2025-06-111-35/+23
|
* vulkan/ffv1dec: fix leak in FFVulkanDecodeSharedaverne2025-06-111-0/+2
|
* vulkan: fix leak in FFVkExecPoolaverne2025-06-111-0/+2
|
* hwcontext_vulkan: use host image copyLynne2025-06-115-2/+165
|
* hwcontext_vulkan: add a setting to limit queuesLynne2025-06-101-2/+15
| | | | | If its a problem, you'll likely want to set it to 1 than more fine-grained control, which you can already do via the API.
* hwcontext_vulkan: minimize queue allocation on NVIDIALynne2025-06-101-1/+19
| | | | | | | | | | | | On NVIDIA, there's a global maximum limit of approximately 112 queues, which means it takes ONLY 7 total programs using the maximum amount of queues to cause the driver to error out/*segfault* during initialization. Also, each queue takes about 30ms to allocate, which quickly adds up. This reduces the queues allocate to the minimum that we would be happy with. Its not worth limiting decode/encode queues as they're generally not a lot, and do help.
* hwcontext_vulkan: do not use optical flow queueus by defaultLynne2025-06-101-8/+0
| | | | | We don't use them, and on NVIDIA, each queue takes around 30ms to allocate, and the driver has a global limit of ONLY 112 queues.
* configure: rename POSIX ioctl checkLeo Izen2025-06-082-3/+3
| | | | | | | | | | | | | | | Commit 00b64fca55a3a009c9d0e391c85f4fd3291e5d12 introduced configure detection for HAVE_POSIX_IOCTL but unfortunately this conflicts with v4l-utils version 1.30, which itself checks for #ifdef HAVE_POSIX_IOCTL in a public header and erroneously determines it to be true because we define this to be 0. Since this is only used for avdevice/v4l2, we rename this to something else, namely ioctl_posix, simply to prevent the name conflict with the file /usr/include/libv4l2.h at least until they can upstream a fix on their end. Signed-off-by: Leo Izen <leo.izen@gmail.com>
* avformat/movenc: handle EAC-3 extension bits for Atmosnyanmisaka2025-06-082-3/+12
| | | | | | | | Based on a patch by nyanmisaka. Fixes commit #9996. Reviewed-by: Baptiste Coudurier <baptiste.coudurier@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/ac3_parser: handle more header bits in ff_ac3_parse_header()James Almer2025-06-087-221/+282
| | | | | | Based on a patch by nyanmisaka. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/ac3_parser: use a padded buffer in av_ac3_parse_header()James Almer2025-06-081-1/+5
| | | | | | | The GetBitContext API requires the buffer to be padded, and the documentation for av_ac3_parse_header() does not specify it, so use a temporary local buffer. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/d3d12va_encode: fix l0 reference count limitAraz Iusubov2025-06-081-2/+4
| | | | | | | | Prevents potential null pointer dereference when querying MaxL1ReferencesForB from codec-specific support structures during GOP structure initialization. Signed-off-by: Tong Wu <wutong1208@outlook.com>
* avformat/dhav: Add missed free for end_bufferDerek Buitenhuis2025-06-081-0/+3
| | | | | | | Accidentally left out of 36ec9217e6dca3432304c9d76078d9618247eb0f. Found-by: Kacper Michajłow <kasper93@gmail.com> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avutil/x86/intmath: remove inline asm implementations for clip functionsJames Almer2025-06-071-62/+0
| | | | | | | | | | | GCC/Clang is smart enough to emit minss/maxss the same way as these functions. The only theoretical benefit was in x86_32, where x87 floats are used, but the penalty of making the clipping opaque to the compiler's scheduler plus moving values from mmx regs to xmm and back will offset any potential speedup. x86_32 builds targetting anything made in the last two decades and a half should use -msse -mfp=sse anyway. Signed-off-by: James Almer <jamrial@gmail.com>
* libavformat/rtpdec: Fix RTP timestamp wraparound in Producer Reference TimeClément Péron2025-06-081-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rtp_set_prft() function incorrectly calculates the timestamp delta when RTP timestamps wrap around the 32-bit boundary. The current code: delta_timestamp = (int64_t)timestamp - (int64_t)s->last_rtcp_timestamp; treats both timestamps as large positive values, causing wraparound to produce a large negative delta instead of the correct small positive delta. For example, with a 90kHz video clock: - last_rtcp_timestamp = 0xFFFFFF00 (near wraparound) - timestamp = 0x00000100 (after wraparound) - Current result: delta ≈ -4.3 billion ticks ≈ -47,721 seconds - Expected result: delta ≈ +512 ticks ≈ +0.006 seconds This causes prft->wallclock to jump backward by approximately: - 90kHz video: ~47,721 seconds (~13.25 hours) - 48kHz audio: ~89,478 seconds (~24.9 hours) - 8kHz audio: ~536,871 seconds (~6.2 days) Fix by casting the subtraction result to int32_t, which correctly handles wraparound through modular arithmetic: delta_timestamp = (int32_t)(timestamp - s->last_rtcp_timestamp); This ensures the delta is always in the range [-2^31, 2^31-1], making wraparound produce the correct small positive values. Fixes timing jumps in applications that rely on Producer Reference Time for media synchronization. Signed-off-by: Clément Péron <peron.clem@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/framecrcenc: List types and checksums for for side dataMichael Niedermayer2025-06-0720-1235/+1344
| | | | | | | This allows detecting changes and regressions in side data related code, same as what framecrc does for before already for packet data itself. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/dhav: Do not evaluate avio_size() multiple timesMichael Niedermayer2025-06-071-3/+4
| | | | | | | | | Code like FFMIN(MAX_DURATION_BUFFER_SIZE, avio_size(s->pb)) is not safe as FFMIN() is a macro and avio_size() is thus evaluated multiple times Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/tls_openssl: fix build error when openssl version < 3Jack Lau2025-06-071-13/+20
| | | | | | | | | add the missing data structure pkey in the tls_context properly set this pkey and free it Signed-off-by: Jack Lau <jacklau1222@qq.com> Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* tools/target_dem_fuzzer: remove unused fuzz_tagKacper Michajłow2025-06-071-3/+0
| | | | | Signed-off-by: Kacper Michajłow <kasper93@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* tools/target_dem_fuzzer: make fuzz data pointer constantKacper Michajłow2025-06-071-1/+1
| | | | | | | Mostly to avoid warnings. Signed-off-by: Kacper Michajłow <kasper93@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* tools/target_dec_fuzzer: suppress Wunused-functionKacper Michajłow2025-06-071-0/+3
| | | | | Signed-off-by: Kacper Michajłow <kasper93@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* MAINTAINERS: Add myself for graph printingsoftworkz2025-06-071-1/+2
| | | | | | | ..and resources Signed-off-by: softworkz <softworkz@hotmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/vvc: Fix unchecked return code and shadowingFrank Plowman2025-06-071-2/+6
| | | | Signed-off-by: Frank Plowman <post@frankplowman.com>
* MAINTAINERS: Add myself as vvc maintainerFrank Plowman2025-06-071-1/+2
| | | | | | | | | | | My OpenPGP key is available at https://keys.openpgp.org/vks/v1/by-fingerprint/34E248D6B7DF476970C7330403A84C6A098F2C6B and https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x34e248d6b7df476970c7330403a84c6a098f2c6b Signed-off-by: Frank Plowman <post@frankplowman.com>
* MAINTAINERS: add myself as vvc maintainerWu Jianhua2025-06-071-1/+1
| | | | Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
* avformat/format: make experimental flag works for muxerZhao Zhili2025-06-072-2/+3
| | | | Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avformat/whip: Constify arguments in is_rtp_rtcp/is_rtcpZhao Zhili2025-06-071-2/+2
| | | | | | Fix warning of -Wincompatible-pointer-types-discards-qualifiers. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avformat/tls: Fix integer overflow with option mtuZhao Zhili2025-06-071-1/+1
| | | | Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avcodec/sanm: codec31/32 supportManuel Lauss2025-06-061-0/+59
| | | | | | | codec31/32 are similar to codec1/3 (RLE coding) but with two 4-bit pixels per byte; they are only used in the Sega-CD release of Rebel Assault 1. Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
* avcodec/sanm: fix codec33/34 tile generatorManuel Lauss2025-06-061-18/+15
| | | | | | | | Some of the calculated values were wrong and/or assigned to the wrong pixel of the 4x4 block. Found during testing with Rebel Assault Sega-CD release. Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
* avcodec/sanm: remove codec4 block smoothingManuel Lauss2025-06-061-19/+0
| | | | | | | | it has a bug and its effects aren't that noticeable, esp. with the smoothing applied to the whole picture by modern video display engines. Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
* avutil/frame: Fix av_realloc_array() argument orderAndreas Rheinhardt2025-06-061-2/+2
| | | | | | This is not a real bug, but mostly cosmetic. Fixes ticket #11620. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffman: Combine allocationsAndreas Rheinhardt2025-06-061-14/+17
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/aacpsy: Remove always-true checksAndreas Rheinhardt2025-06-061-4/+0
| | | | | | Possible since 03cf10164578aed33f4d0cb5b69d63669c01a538. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/iirfilter: Remove iirfilter, psy-preprocessingAndreas Rheinhardt2025-06-0613-810/+1
| | | | | | | | The iirfilter is only used in its test tool since 01ecb7172b684f1c4b3e748f95c5a9a494ca36ec which stopped using it in AAC, its only user. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/psymodel: Use av_memdup() where appropriateAndreas Rheinhardt2025-06-061-5/+2
| | | | | | | Also "fixes" the inverted order of arguments in the av_malloc_array() calls and therefore part of ticket #11620. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/frame: Use av_memdup() for duplicating extended data arrayAndreas Rheinhardt2025-06-061-3/+2
| | | | | | | | | Just do it like av_frame_replace(). Also "fixes" the swapped order or arguments to av_malloc_array() (the first is supposed to be the number of elements, the second the size of an element) and therefore part of ticket #11620. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/frame: Always return error upon errorAndreas Rheinhardt2025-06-061-4/+1
| | | | | | | | (I don't know whether this can be triggered for a file with nonnegative channel count, given that src's extended data can't have been allocated in this case.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>