Commit Graph

3323 Commits

Author SHA1 Message Date
openvela-robot 60f384255d lavfi/tests/filtfmts: Constify a variable.
Fixes the following warning:
libavfilter/tests/filtfmts.c: In function ‘main’:
libavfilter/tests/filtfmts.c:103:18: warning: assignment discards ‘const’ qualifier from pointer target type
2026-04-20 19:44:06 +08:00
openvela-robot 316e991ed1 arm: Check for have_vfp_vm instead of !have_vfpv3 for float_dsp_vfp
This was missed in e2710e790c since those functions weren't exercised
by checkasm.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:44:04 +08:00
openvela-robot f7f952bf0b Merge commit 'd6390090c4dbd766b77353553d9cb4fb4fb41ebd'
* commit 'd6390090c4dbd766b77353553d9cb4fb4fb41ebd':
  configure: Skip check for inline assembly capabilities when explicitly disabled

Merged-by: James Almer <jamrial@gmail.com>
2026-04-20 19:43:58 +08:00
openvela-robot f362b3c5d0 lavc: fix hw_device_ctx operation
Commit b46a77f19d accidentally broke this (requested change that was
added to the patch later and which was not fully tested).

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2026-04-20 19:43:56 +08:00
openvela-robot 7ba71d4d18 avformat: remove ABI portion of the side data merging API
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:43:25 +08:00
openvela-robot fe0f2066fe configure: Group system feature variables and system libraries together 2026-04-20 19:43:23 +08:00
openvela-robot 91ed2a7a0d libavformat: not treat 0 as EOF
transfer_func variable passed to retry_transfer_wrapper
are h->prot->url_read and h->prot->url_write functions.
These need to return EOF or other error properly.
In case of returning >= 0, url_read/url_write is retried
until error is returned.

Signed-off-by: Daniel Kucera <daniel.kucera@gmail.com>
2026-04-20 19:42:43 +08:00
openvela-robot 1755dd84e7 lavc: external hardware frame pool initialization
This adds a new API, which allows the API user to query the required
AVHWFramesContext parameters. This also reduces code duplication across
the hwaccels by introducing ff_decode_get_hw_frames_ctx(), which uses
the new API function. It takes care of initializing the hw_frames_ctx
if needed, and does additional error handling and API usage checking.

Support for VDA and Cuvid missing.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 19:42:40 +08:00
openvela-robot a989fe3089 avcodec/cfhd: support cropped height tag
Ported from libav. Authored by one of the following:

Anton Khirnov <anton@khirnov.net>
Diego Biurrun <diego@biurrun.de>
Vittorio Giovara <vittorio.giovara@gmail.com>

Reviewed-by: kierank
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:42:34 +08:00
openvela-robot 8ccc694e72 qsv: Make the hevc idr_interval consistent with the h264 one
According to the MediaSDK documentation the idr_interval value has
a different meaning depending on the codec:

    0 in H264 means make every I-frame IDR, in HEVC it means to have
    it only at the beginning.

    1 in H264 means every other I-frame is not-IDR, in HEVC it means
    that every I-frame is IDR.

Keep the behaviour consistent between the two encoders by increasing
by 1 internally the idr_interval value for HEVC.
2026-04-20 19:42:32 +08:00
openvela-robot 9b8c4df586 lavf/cafenc: Allow muxing opus.
QuickTime does not require the (unknown) kuki chunk for decoding.
2026-04-20 19:42:21 +08:00
openvela-robot 3358bf1661 cbs: Add test dependencies
Fixes the MPEG-2 failure with --disable-error-resilience.
2026-04-20 19:42:19 +08:00
openvela-robot 0bab024127 configure: add missing optional deps on gcrypt and openssl to the hls muxer
Should fix ticket #6738

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:42:12 +08:00
openvela-robot 20f24ace3c mss1: Add missing macro parameters to ARITH_GET_* macros
It is wrong to pass no arguments to a macro that expects one argument
and some compilers complain.
2026-04-20 19:42:09 +08:00
openvela-robot b493a4cf24 avcodec/snowdec: Check mv_scale
Fixes: runtime error: signed integer overflow: 2 * -1094995530 cannot be represented in type 'int'
Fixes: 3512/clusterfuzz-testcase-minimized-4812747210489856

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:42:06 +08:00
openvela-robot d0d7b4c6a9 qsv: Expose idr_interval for hevc as well 2026-04-20 19:42:03 +08:00
openvela-robot 1e9d0ae9b4 configure: add a -lstdc++ flag to the some external library checks
Two of them are missing it in their pkg-config file, so adding it
here is a workaround until said pkg-config files are fixed.

Debugged with the help of Reino Wijnsma.

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:42:00 +08:00
openvela-robot 00c9930f1d Remove all output devices
The libavformat API is not suitable for exporting output devices as muxers.
Some practical problems are e.g. lack of timing/synchronization mechanisms
or interaction with output-specific features.
2026-04-20 19:41:57 +08:00
openvela-robot c9b043d5ad configure: add missing libfontconfig and libfreetype dependencies to showcqt filter
Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:41:51 +08:00
openvela-robot 2b7458c6de configure: Drop feature for randomly disabling/enabling components
This feature was never used for anything.
2026-04-20 19:41:48 +08:00
openvela-robot 56e06e9517 configure: remove libdl dependency from libndi_newtek
We are not using dynamic loading for libndi.

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2026-04-20 19:41:33 +08:00
openvela-robot 65270aef7c configure: Fix stupid typo in gsm.h header name 2026-04-20 19:41:31 +08:00
openvela-robot f8db777ae1 configure: fix decklink dependencies
We don't need libdl for win32/mingw.

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2026-04-20 19:41:26 +08:00
openvela-robot 66f9acc6dd build: Drop support for Tru64 Unix (OSF/1)
This proprietary Unix flavor dropped from the face of the earth more
than a decade ago. Nothing of value was lost.
2026-04-20 19:41:23 +08:00
openvela-robot 4a9161f3f7 Makefile: generate stripped CLI tools directly instead of copying unstripped ones first
Now works with --disable-stripping.

Signed-off-by: Marton Balint <cus@passwd.hu>
2026-04-20 19:41:20 +08:00
openvela-robot 6d94f51622 configure: rename hevc_ps to hevcparse
Build h2645_parse.o with it, as every hevc_ps dependency also needs it.
This is more in line with h264's h264parse module.

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:41:17 +08:00
openvela-robot d1e26d889f avcodec/dca_parser: revert to conservative sync distance estimation
Fixes regression introduced by commit a0349ae27c
when parsing 14-bit streams with excessive frame size stored in header.

Fixes ticket #6723.
2026-04-20 19:41:14 +08:00
openvela-robot 9e363d673e cpu: split flag checks per arch in av_cpu_max_align()
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 19:41:11 +08:00
openvela-robot d76f607314 MAINTAINERS: change the decklink maintainer to myself
Signed-off-by: Marton Balint <cus@passwd.hu>
2026-04-20 19:41:05 +08:00
openvela-robot 4724a96364 configure: Add test_pkg_config()
This helper is split off check_pkg_config(), setting only the pkg CFLAGS
and extralibs. This is useful for checks that do not require or do not
benefit from setting global CFLAGS.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2026-04-20 19:41:02 +08:00
openvela-robot 32379c63c8 avcodec/mips: preload data in hevc sao edge 45 degree filter msa functions
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:39:19 +08:00
openvela-robot 7ce0667b28 hevc: Fix aligned array declarations 2026-04-20 19:39:16 +08:00
openvela-robot f31fc20b53 avfilter/f_metadata: avoid trailing whitespace in filter output
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2026-04-20 19:39:10 +08:00
openvela-robot 6a66e82289 qsv: Join the derived session to the parent
Should improve the performance on multiple transcoding from a single
source.
2026-04-20 19:39:07 +08:00
openvela-robot a1a2206b2f lavf/tls_gnutls: fix compilation with GnuTLS 2.x
Commit 598e416840 added use of
GNUTLS_E_PREMATURE_TERMINATION, which wasn't introduced to GnuTLS
before 2.99.x / 3.x. This fixes compilation with older versions.

Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
2026-04-20 19:38:31 +08:00
openvela-robot 46b1bf1363 http: Reset compressed header flag when starting to read a request
This fixes redirects, where the original redirect response indicated
support for compression, while the actual redirected content didn't.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:38:29 +08:00
openvela-robot 28b9545108 avfilter/interlace: rename two variables for consistency
Signed-off-by: Thomas Mundt <tmundt75@gmail.com>
2026-04-20 19:38:24 +08:00
openvela-robot 128da943b3 cbs_h264: Fix writing streams with auxiliary pictures
Tested with the alphaconformanceG sample.
2026-04-20 19:38:20 +08:00
openvela-robot c8ecda600b avformat/libopenmpt: Query duration and metadata after selecting subsong
Duration depends on the selected subsong and thus must be queried after
selecting the subsong. There is no compelling reason to query other
metadata earlier either.

Tested with libopenmpt version: 0.2.8760-beta27
Libopenmpt configure options: --without-ogg --without-vorbis
--without-vorbisfile --without-portaudio --without-portaudiocpp
--without-mpg123 --without-pulseaudio --without-sndfile --without-flac

Signed-off-by: Jörn Heusipp <osmanx@problemloesungsmaschine.de>
Signed-off-by: Josh de Kock <josh@itanimul.li>
2026-04-20 19:38:13 +08:00
openvela-robot 1bd6a99951 smacker: return meaningful error codes on failure 2026-04-20 19:38:08 +08:00
openvela-robot 8f743bc28d pixdesc: Add API to map color property names to enum values
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 19:38:03 +08:00
openvela-robot 29e30ba936 pixdesc: Add API to map color property names to enum values
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 19:38:00 +08:00
openvela-robot b0895f84f2 libavcodec/exr : add X86 SIMD for reorder_pixels
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:37:55 +08:00
openvela-robot 18fb7cdfcb libavfilter/vf_vpp: Add common filters of the qsv vpp
Add common filters of the qsv vpp features including scale,denosie,
deinterlace,frc,crop and procAmp.

Performance will be significantly reduced in the test if using cascade
mode just like qsv framerate + qsv scale + qsv deinterlace + qsv denoise in
separated way no matter in system or video memmory cases.
And the code is so redundant because so much the same just as session and
surface's creation and management.
So we add a common qsv filter.

Usage:
-hwaccel qsv -c:v h264_qsv -r 25 -i in -vf
vpp_qsv=w=iw/2:h=400:deinterlace=1:framerate=60:detail=50:denoise=50
-b 2M -maxrate 3M -c:v h264_qsv -y out.h264

Signed-off-by: ChaoX A Liu <chaox.a.liu@gmail.com>
Signed-off-by: Zhengxu Huang <zhengxu.maxwell@gmail.com>
Signed-off-by: Andrew Zhang <huazh407@gmail.com>
Change-Id: I130392ce722138c209ab658c5f03f0009b6e8024
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2026-04-20 19:37:53 +08:00
openvela-robot 583c2ad71a lavd/kmsgrab: Fix packet flag setting
Found-by: James Almer <jamrial@gmail.com>
2026-04-20 19:37:48 +08:00
openvela-robot af1ee8f3c9 avio: update avio_alloc_context() doxy
It must be freed using avio_context_free() starting with commit
99684f3ae7.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 19:37:46 +08:00
openvela-robot b8459ecff1 h264_sei: Add namespace prefix to all SEI values
This avoids confusion with equivalent H.265 SEI values when both are
being used at the same time.

(cherry picked from commit 6ea220cbee)
2026-04-20 19:37:42 +08:00
openvela-robot 2abdb3a8da cbs: Always check for bitstream end before reading 2026-04-20 19:37:39 +08:00
openvela-robot 56294c9719 avfilter/vf_datascope: make it possible for output window to automatically change position
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:37:29 +08:00
openvela-robot c727fd9de4 flvdec: Check the avio_seek return value after reading a metadata packet
If the metadata packet is corrupted, flv_read_metabody can accidentally
read past the start of the next packet. If the start of the next packet
had been flushed out of the IO buffer, we would be unable to seek to
the right position (on a nonseekable stream).

Prefer to clearly error out instead of silently trying to read from a
desynced stream which will only be interpreted as garbage.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:37:26 +08:00
openvela-robot 3111366040 avcodec/diracdec: Fix integer overflow in INTRA_DC_PRED()
Fixes: runtime error: signed integer overflow: 1168175789 + 1168178473 cannot be represented in type 'int'
Fixes: 3081/clusterfuzz-testcase-minimized-4807564879462400
Fixes: 2844/clusterfuzz-testcase-minimized-5561715838156800

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:37:22 +08:00
openvela-robot 64a2fcfaa9 Revert "checkasm: Test more h264 idct variants"
This reverts commit 547db1eaec.

This commit wasn't supposed to be pushed (yet) since it hasn't
been reviewed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:37:20 +08:00
openvela-robot 17e8e04310 avcodec/fits: add missing header includes
Fixes checkheaders.

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:37:14 +08:00
openvela-robot c83c6794f5 msvc: Properly specify dllexport for data symbols shared across dll boundaries
We currently only have exported data symbols within libavcodec, but
the concept is easy to extend to other libraries if necessary.
The attribute declaration needs to be in a private header though,
since we can't use CONFIG_SHARED in public installed headers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:37:11 +08:00
openvela-robot c5ed9f1ee5 avfilter/vf_libvmaf: fix pre convert to framesync2 bugs
Hi, it fixes the errors while converting to framesync2.
libvmaf was changed recently, double *score variable is removed in the new
version since it's not used anywhere. This patch fixes all the warnings and
segmentation faults.

Signed-off-by: Ashish Singh <ashk43712@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2026-04-20 19:37:07 +08:00
openvela-robot 51c82b2c0e lavf: make avio_read_partial() public
Main use-case is proxying avio through a foreign I/O layer and a custom
AVIO context, without losing latency and performance characteristics.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 19:37:05 +08:00
openvela-robot 8f53bc3adc lavc/vaapi_encode_h265: Enable VBR mode
Follow vaapi_h264 style, enable the VBR mode.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2026-04-20 19:36:59 +08:00
openvela-robot d6b24a2408 swscale: Do not expand a macro with 'defined' in it
Fixes:

    libswscale/utils.c:1632:5: warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
    #if USE_MMAP
        ^
    libswscale/utils.c:1577:49: note: expanded from macro 'USE_MMAP'
    #define USE_MMAP (HAVE_MMAP && HAVE_MPROTECT && defined MAP_ANONYMOUS)
                                                    ^
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 19:36:57 +08:00
openvela-robot 4af5536f55 avfilter/af_agate: switch to activate
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:36:50 +08:00
openvela-robot c0df136248 configure: Include d3d11va_extralibs in libavutil
This fixes shared WinRT/UWP builds with d3d11va enabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:36:48 +08:00
openvela-robot 5bfef89719 libavdevice/decklink: configurablity to set max queue size
Signed-off-by: Ravindra Patagar <rpatagar@akamai.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2026-04-20 19:36:43 +08:00
openvela-robot 8a6966744a yadif: Account for the buffer alignment while processing the frame edges
Avoid out of bound reads.

Bug-Id: 1031
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 19:36:41 +08:00
openvela-robot 36baa52d31 lavc/g726: Add a little-endian G.726 encoder.
Fixes ticket #6596.
2026-04-20 19:36:37 +08:00
openvela-robot d82712c491 png: Report more details regarding unsupported pixel formats 2026-04-20 19:36:35 +08:00
openvela-robot 9273b63c15 avfilter/vf_pseudocolor: add support for some subsampled formats 2026-04-20 19:36:32 +08:00
openvela-robot e3613e06db lavc: Add mpeg2_metadata bitstream filter 2026-04-20 19:36:29 +08:00
openvela-robot 88e5255639 lavc/vaapi_encode_h264: add "coder" option support
Follow libx264 style to support "coder" option, and set it to
cabac by default.

Signed-off-by: Yi A Wang <yi.a.wang@intel.com>
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2026-04-20 19:36:26 +08:00
openvela-robot 4b41db93bc cbs_h2645: Return error if writing fails 2026-04-20 19:36:23 +08:00
openvela-robot 66eb88b55e Add macros to x86util.asm .
Improved version of VBROADCASTSS that works like the avx2 instruction.
Emulation of vpbroadcastd.
Horizontal sum HSUMPS that places the result in all elements.
Emulation of blendvps and pblendvb.

Signed-off-by: Ivan Kalvachev <ikalvachev@gmail.com>
2026-04-20 19:36:19 +08:00
openvela-robot 525be6b180 h264dec: use a large enough field for reference list modification values
pic_num can be at most 17-bit, so uint8_t is not sufficient.

Found-By: Bradley Sepos <bradley@bradleysepos.com>
CC: libav-stable@libav.org
2026-04-20 19:36:17 +08:00
openvela-robot 773a310335 avfilter/scale_npp: fix passthrough mode
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2026-04-20 19:36:12 +08:00
openvela-robot 6b584e3d38 lavc: Add coded bitstream read/write API 2026-04-20 19:36:08 +08:00
openvela-robot 1c91b8efaf h264: Add support for alternative transfer characterics SEI
The use of this SEI is for backward compatibility in HLG HDR systems:
older devices that cannot interpret the "arib-std-b67" transfer will
get the compatible transfer (usually bt709 or bt2020) from the VUI,
while newer devices that can interpret HDR will read the SEI and use
its value instead.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 19:36:05 +08:00
openvela-robot 54e1d567ee h264: Add support for alternative transfer characterics SEI
The use of this SEI is for backward compatibility in HLG HDR systems:
older devices that cannot interpret the "arib-std-b67" transfer will
get the compatible transfer (usually bt709 or bt2020) from the VUI,
while newer devices that can interpret HDR will read the SEI and use
its value instead.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 19:36:02 +08:00
openvela-robot 127f49fdc9 avformat/hlsenc: allow dynamic encryption key rotation
Makes behaviour of 805ce25b1d optional, re-enables
HLS key rotation feature

Reviewed-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: DHE <git@dehacked.net>
2026-04-20 19:35:57 +08:00
openvela-robot 6e48113fce hevc: Validate the number of long term reference pictures
This would overflow if the stream contained a value greater than the
maximum allowed by the standard (32).
2026-04-20 19:35:55 +08:00
openvela-robot 55845e9707 avcodec/dirac_vlc: Fix invalid shift
Fixes: runtime error: shift exponent 65 is too large for 64-bit type 'residual' (aka 'unsigned long')
Fixes: 2737/clusterfuzz-testcase-minimized-4968639147016192

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:35:50 +08:00
openvela-robot 9f0224be97 mov: Do not set stsd_count if mov_read_stsd() fails
Based on an FFmpeg patch by Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:35:47 +08:00
openvela-robot 3193bb9c8d sws/tests/pixdesc_query: fix use of free() instead of av_free()
Fix CID 1415949
2026-04-20 19:35:44 +08:00
openvela-robot bebb77e59c mov: log and return early on non-positive stsd entry counts
Based on an FFmpeg patch by Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:35:42 +08:00
openvela-robot 89b81ef958 libavcodec/mips: Improve avc dequant-idct luma dc msa function
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:35:37 +08:00
openvela-robot 79094c054b avconv: when using -loop option bail out if seek to start fails
Fixes an infinite loop when a demuxer fails to seek to the start of the input.

Signed-off-by: Peter Große <pegro@friiks.de>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 19:35:34 +08:00
openvela-robot f489948ba4 avcodec/jpeg2000dec: Fix h/vden typo
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:35:31 +08:00
openvela-robot 251bc421fc lavc, lavu: move frame cropping to a convenience function
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 19:35:27 +08:00
openvela-robot e093ccac19 avutil/frame: add ICC Profile to av_frame_side_data_name
Reviwed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:35:11 +08:00
openvela-robot 3d14f6b478 rmdec: add missing brackets to compound statement
Accidentally left out of 95ce02b35d.
2026-04-20 19:35:08 +08:00
openvela-robot 6d23642de2 lavu/frame: add new side data type for ICC profiles
Many image formats support embedding of ICC profiles directly in
their bitstreams. Add a new side data type to allow exposing them to
API users.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2026-04-20 19:35:05 +08:00
openvela-robot 2e843aa235 libavcodec/mjpeg_qsv: Add QSV MJPEG encoder
usage:
-hwaccel qsv -c:v h264_qsv -i in -c:v mjpeg_qsv -global_quality 80 -f
mjpeg out

Signed-off-by: ChaoX A Liu <chaox.a.liu@gmail.com>
Signed-off-by: Zhengxu Huang <zhengxu.maxwell@gmail.com>
Signed-off-by: Andrew Zhang <huazh407@gmail.com
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2026-04-20 19:35:02 +08:00
openvela-robot 0c81828c55 pixdesc: Explicitly handle invalid arguments to av_find_best_pix_fmt_of_2() 2026-04-20 19:34:58 +08:00
openvela-robot 9ae85ec8be hevc: Make sure to update the current frame transfer characteristic
Otherwise the first decoded frame will still be tagged with the
original transfer instead of the alternative one.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 19:34:55 +08:00
openvela-robot 9fde2cd08e opusenc: remove unused variable
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2026-04-20 19:34:46 +08:00
openvela-robot 6194d2da7c rmdec: don't ignore the return value of av_get_packet() 2026-04-20 19:34:43 +08:00
openvela-robot 07da58245e avcodec/magicyuv: make RLE table reading match reference
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:34:38 +08:00
openvela-robot f427048dac build: Add feature test macros for glibc 2.19+
glibc introduced _DEFAULT_SOURCE in version 2.19 to replace _BSD_SOURCE and
_SVID_SOURCE, which were deprecated in version 2.20. Add _DEFAULT_SOURCE
where the latter two are used to be forwards-compatible and avoid warnings
about the use of deprecated definitions.
2026-04-20 19:34:35 +08:00
openvela-robot ba5f8a3479 avformat/avio: Remove no-op code in url_find_protocol().
In url_find_protocol(), proto_str is either "file" or a string
consisting of only the characters in URL_SCHEME_CHARS, which does not
include ','. Therefore the strchr(proto_str, ',') call always returns
NULL.

Note: The code was added in commit
6161c41817.

Signed-off-by: Wan-Teh Chang <wtc@google.com>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2026-04-20 19:34:31 +08:00
openvela-robot a051d6d396 flac: Convert to the new bitstream reader
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2026-04-20 19:34:28 +08:00
openvela-robot 1c42f64ac7 avcodec/noise_bsf: add support for dropping packets
Signed-off-by: Marton Balint <cus@passwd.hu>
2026-04-20 19:34:25 +08:00
openvela-robot 02cc9486d2 bitstream: Avoid undefined behavior in bitstream_skip()
Do not use skip_remaining() to fully wipe the cache, as this could do
a 64-bit shift of a 64-bit variable which is undefined behavior in C.
Instead set the related variables to zero directly.

Thanks to Uoti for pointing out the problem.

CC: libav-stable@libav.org
2026-04-20 19:34:22 +08:00
openvela-robot 4349ab8774 Revert "x86/sbrdsp: remove unnecessary sign extend instruction in apply_noise_main"
This reverts commit 24bb7db403.

noise has to after all be sign extended, not zero extended, on tests
other than checkasm.
Fixes most aac tests broken by the now reverted commit.
2026-04-20 19:34:16 +08:00
openvela-robot 9684da3360 Add Cinepak encoder
With permission of Tomas Härdin applied by Rl aetey.se

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2026-04-20 19:34:13 +08:00
openvela-robot b416f95782 avfomat/hlsenc: support fmp4 format in hls
add the fmp4 format into hlsenc
because the fmp4 format add into hls from version 7.
the spec link is:
https://tools.ietf.org/html/draft-pantos-http-live-streaming-20
and the describe on WWDC
https://developer.apple.com/videos/play/wwdc2017/515/

Signed-off-by: Steven Liu <lq@onvideo.cn>
2026-04-20 19:34:08 +08:00
openvela-robot 1d9865c731 lavf: Remove codec_tag from dashenc and smoothstreamingenc
Currently, the tags enforced and set on the segmenter muxer level
mismatch what the mp4/ismv muxer uses (since 713efb2c0d).

Skip the codec_tag altogether here, to let the user (try to) set
whichever codec/tag is preferred; the individual chained muxer will
reject invalid codecs anyway.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:34:05 +08:00
openvela-robot f293061025 avcodec/interplayvideo: check that video_size is >0
Fixes #6498.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:33:46 +08:00
openvela-robot 33f1d4f8bb dvbsubdec: Fixed segfault when decoding subtitles
This fixes a segfault (originally found in Movian, but traced to libav)
when decoding subtitles because only an array of rects is allocated,
but not the actual structs it contains. The issue was probably
introduced in commit 2383323 where the loop to allocate the rects in
the array was thrown away.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 19:33:43 +08:00
openvela-robot deb62e9786 avcodec/utvideodec: add SIMD for restore_rgb_planes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:33:37 +08:00
openvela-robot 24fa46ffba dxva: add declarative profile checks
Make supported codec profiles part of each dxva_modes entry. Every DXVA2
mode is representative for a codec with a subset of supported profiles,
so reflecting that in dxva_modes seems appropriate.

In practice, this will more strictly check MPEG2 profiles, will stop
relying on the surface format checks for selecting the correct HEVC
profile, and remove the verbose messages for mismatching H264/HEVC
profiles. Instead of the latter, it will now print the more nebulous "No
decoder device for codec found" verbose message.

This also respects AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH. Move the
Main10 HEVC entry before the normal one to make this work better.

Originally inspired by VLC's code.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 19:33:33 +08:00
openvela-robot 0a7c6f3c3c avcodec/hevcdec: check ff_init_cabac_decoder() for failure
Fixes: runtime error: left shift of 1965559808 by 4 places cannot be represented in type 'int'
Fixes: 2333/clusterfuzz-testcase-minimized-5223935677300736

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:33:28 +08:00
openvela-robot d7f2f212e8 configure: Reset X86ASM_DEP(FLAGS) when probing for the assembler program
These variables might be set from a previous probe run, but one or the
other program that is probed for may not grok the flags, resulting in
errors during assembling when the values of those variables are passed
to the assembler.
2026-04-20 19:33:25 +08:00
openvela-robot 3ec50d1bf7 ffmpeg: Flush output BSFs when encode reaches EOF
Before this, output bitstream filters would never see EOF and
therefore would not be able to flush any delayed packets.

(cherry picked from commit f64d1100a5)
2026-04-20 19:33:21 +08:00
openvela-robot 84ac5f2251 nvenc: Add an explicit auto alias 2026-04-20 19:33:18 +08:00
openvela-robot 0390bd712b opus_celt: do not use double precision exp2
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2026-04-20 19:33:14 +08:00
openvela-robot c9527827e0 build: Add an option for passing linker flags to the shared library build
Also employ this mechanism to pass $libdir to the runtime library search
path if rpath is enabled. This fixes underlinking of some test binaries
on some systems.
2026-04-20 19:33:11 +08:00
openvela-robot b5fa9421c4 build: Generalize yasm/nasm-related variable names
None of them are specific to the YASM assembler.

(Cherry-picked from libav commit 39e208f4d4)

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:33:07 +08:00
openvela-robot 71b4c38e4b configure: Automatically add -isysroot for darwin if --sysroot is specified
Check the existing flags in the cc/cflags/cppflags/ldflags for
occurrances of -isysroot; if none is found but --sysroot was specified,
set -isysroot to the same value as --sysroot.

This simplifies configuring cross-builds for iOS, if the global
environment variable SDKROOT isn't set.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:33:04 +08:00
openvela-robot ee40e2ca41 mdec: stop preferring the simple IDCT.
This was added in e3e3c82555, probably
as a workaround for the fact that the quant table was not permutated
and the IDCT coefficients are, meaning that you'd only get correct
reconstruction if the IDCT permutation was an identity matrix, which
happens to be the case when you use the simple IDCT. The quant table
permutation bug was fixed in 42dd1434bf,
meaning this workaround is no longer necessary.

In practical terms, before 42dd1434bf,
the PSNR between decodes of the fate-mdec using simple (C) or simplemmx
IDCTs was 35. After 42dd1434bf, it's 90.
2026-04-20 19:33:01 +08:00
openvela-robot 64c700d013 af_bs2b: Add missing casts to complex pointer assignments
Fixes several warnings of the type:
libavfilter/af_bs2b.c:171:22: warning: assignment from incompatible pointer type
2026-04-20 19:32:58 +08:00
openvela-robot da26bf7c02 configure: Move up the avbuild directory creation
The early check for inconsistent in-source vs out-of-source build
cannot generate a config.log otherwise.

(Cherry-picked from libav commit 0ee78020cd)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:32:54 +08:00
openvela-robot bbb50f3a1a tls_openssl: Readd support for nonblocking operation
The rtmp protocol uses nonblocking reads, to poll for incoming
messages from the server while publishing a stream.

Prior to 94599a6de3 and
d13b124eaf, the tls protocol
handled the nonblocking flag, mostly as a side effect from not
using custom IO callbacks for reading from the socket. When custom
IO callbacks were taken into use in
d15eec4d6b, the handling of a nonblocking
socket wasn't necessary for the default blocking mode any longer.

The code was simplified, since it was overlooked that other code
within libavformat actually used the tls protocol in nonblocking mode.

This fixes publishing over rtmps, with the openssl backend.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:32:51 +08:00
openvela-robot 181da903cd avcodec/decode: Update decode_simple_internal() to get the side data correctly.
Use avci->last_pkt_props to get the side data. Using |pkt| doesn't work
when FF_API_MERGE_SD is set, as the compressed side data is expanded into
|tmp|, leaving the original |pkt| unchanged.

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:32:48 +08:00
openvela-robot 4e113a9f66 movenc: use correct tag list for AVOutputFormat.codec_tag
ff_mp4_obj_type contains the wrong type of tags for
AVOutputFormat.codec_tag. AVOutputFormat.codec_tag is used to
validate AVCodecParameters.codec_tag so needs to be the same
type of tag.

Creates new tag lists for mp4 and ismv.  New tag lists support
same list of codecs found in ff_mp4_obj_type. psp uses the same
tag list as mp4 since these both use mp4_get_codec_tag to look up tags.
2026-04-20 19:32:45 +08:00
openvela-robot a0751ad3bf avfilter: add superequalizer filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:32:40 +08:00
openvela-robot 928bc45f53 doc: Drop the legacy symlink to README
Windows does not like symlinks and README.md is pretty common nowadays.
2026-04-20 19:32:37 +08:00
openvela-robot 44915cbcc8 fate: use do_md5sum instead of the md5 protocol for most md5 fate tests
The md5 protocol has no seek support, but some tests use seeks. This changes
the fate tests to actually create the output files and calculate the md5 on the
written files, which also makes the tests independent of the size of the output
buffers and output buffering in general.

A new md5pipe fate test method is also introduced to keep the old functionality
for tests where using a non-seekable output was intentional, and matroska md5
tests are changed to use that.

Signed-off-by: Marton Balint <cus@passwd.hu>
2026-04-20 19:32:33 +08:00
openvela-robot 5e3edcdb97 d3d11va: Link directly to dxgi.dll and d3d11.dll functions if LoadLibrary is unavailable
When targeting the UWP API subset, the LoadLibrary function is not
available (and the fallback, LoadPackagedLibrary, can't be used to
load system DLLs). In these cases, link directly to the functions
in the DLLs instead of trying to load them dynamically at runtime.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:32:30 +08:00
openvela-robot 4510dba153 avformat/libssh: check the user provided a password before trying to use it
Fixes ticket #6413

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:32:16 +08:00
openvela-robot 25dd2f503f build: Add missing mpeg4audio dependency for RTP muxer 2026-04-20 19:32:13 +08:00
openvela-robot d8c9558be3 avcodec/hevcdec: Check nb_sps
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:32:08 +08:00
openvela-robot d085763a9b hwcontext: Mark local table static const 2026-04-20 19:32:05 +08:00
openvela-robot c3c938c502 vp9: fix overwrite in ff_vp9_ipred_dr_16x16_16_avx2.
Fixes trac issue 6459.
2026-04-20 19:31:59 +08:00
openvela-robot cb899a6fcc libfdk-aacdec: Correct buffer_size parameter
The timeDataSize argument to aacDecoder_DecodeFrame() seems undocumented
and until 2016 04 (203e3f28fbebec7011342017fafc2a0bda0ce530) unused.
After that commit libfdk-aacdec interprets it as size in sample units
and memsets that on error.

FFmpeg as well as others (like GStreamer) did interpret it as size in
bytes.

Fixes: 1442/clusterfuzz-testcase-minimized-4540199973421056 (This requires recent libfdk to reproduce)

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:31:56 +08:00
openvela-robot a3787b6fb6 lavc/mediacodecdec: switch to the new generic filtering mechanism 2026-04-20 19:31:52 +08:00
openvela-robot 8fd8af8355 ppc: Drop support for Apple GCC
Apple GCC has not been a thing anymore on PowerPC since many years.
2026-04-20 19:31:49 +08:00
openvela-robot 922276c34b x86inc: Add some additional cpuflag relations
Simplifies writing assembly code that depends on available instructions.

LZCNT implies SSE2
BMI1 implies AVX+LZCNT
AVX2 implies BMI2
2026-04-20 19:31:45 +08:00
openvela-robot 6b39e92993 Convert all AVClass struct declarations to designated initializers. 2026-04-20 19:31:42 +08:00
openvela-robot 6647d7daeb avcodec/cfhd: Check band parameters before storing them
Fixes out of array read
Fixes: 2169/clusterfuzz-testcase-minimized-5688641642823680

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:31:38 +08:00
openvela-robot 9c3e941c35 nvenc: Add default value for AVCodecContext::refs
AVCodecContext::refs is used to control the DPB size to be used by the
encoder. The default value for AVCodecContext::refs as set in
libavcodec/options_table.h is 1.

This patch sets AVCodecContext::refs to 0 for h264_nvenc and hevc_nvenc in
order to let the driver take the decision of the correct DPB size to use in
all cases.

Signed-off-by: Srinath K R <skr@nvidia.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 19:31:35 +08:00
openvela-robot 616227430e avfilter/af_sofalizer: switch to libmysofa
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:31:31 +08:00
openvela-robot 23b79b95b3 lavu: add new D3D11 pixfmt and hwcontext
To be used with the new d3d11 hwaccel decode API.

With the new hwaccel API, we don't want surfaces to depend on the
decoder (other than the required dimension and format). The old D3D11VA
pixfmt uses ID3D11VideoDecoderOutputView pointers, which include the
decoder configuration, and thus is incompatible with the new hwaccel
API. This patch introduces AV_PIX_FMT_D3D11, which uses ID3D11Texture2D
and an index. It's simpler and compatible with the new hwaccel API.

The introduced hwcontext supports only the new pixfmt.

Frame upload code untested.

Significantly based on work by Steve Lhomme <robux4@gmail.com>, but with
heavy changes/rewrites.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2026-04-20 19:31:28 +08:00
openvela-robot f98f936d75 libavfilter/scale2ref: Fix out-of-bounds array access
ff_scale_eval_dimensions blindly assumes that two inputs are always
available as of 3385989b98. This is
notably not the case when the function is called for the scale
filter. With the scale filter inputs[1] does not exist.

ff_scale_eval_dimensions now has an updated scale2ref check that
makes certain two inputs are actually available before attempting to
access the second one.

Thanks to James Almer for reporting this bug. This should fix the 820
Valgrind tests I single-handedly managed to break.

Signed-off-by: Kevin Mark <kmark937@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:31:21 +08:00
openvela-robot 79a43667a7 build: Add missing zlib dependencies for several protocols 2026-04-20 19:31:17 +08:00
openvela-robot 297f8ccb61 x86/aacpsdsp: optimize ff_ps_stereo_interpolate_sse3
Move the unpacking outside of the loop. 5% to 10% faster.

Suggested-by: ubitux
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:31:14 +08:00
openvela-robot 487d321cac avutil/md5: fix misaligned reads
This makes ubsan happy and also considerably increases performance on
big endian systems.

Tested on an IBM POWER7 3.55 GHz

Before:

2.24user 0.14system 0:02.39elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
2.26user 0.11system 0:02.38elapsed 99%CPU (0avgtext+0avgdata 2688maxresident)k
2.23user 0.15system 0:02.38elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
2.25user 0.12system 0:02.38elapsed 100%CPU (0avgtext+0avgdata 2624maxresident)k
2.20user 0.15system 0:02.36elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k

After:

1.86user 0.13system 0:02.00elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
1.89user 0.11system 0:02.01elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
1.85user 0.14system 0:02.00elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
1.84user 0.15system 0:01.99elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
1.89user 0.13system 0:02.02elapsed 99%CPU (0avgtext+0avgdata 2688maxresident)k

Tested-by: Nicolas George <george@nsup.org>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Sean McGovern <gseanmcg@gmail.com>
2026-04-20 19:31:11 +08:00
openvela-robot 1f49d24247 x86/aacps: add ff_ps_stereo_interpolate_ipdopd_sse3()
About 2x faster than the c version.

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:31:07 +08:00
openvela-robot 22c7276013 tls: Hide backend implementation details from users
TLS is currently implemented over either OpenSSL or GnuTLS, with more
backends likely to appear in the future. Currently, those backend libraries
are part of the protocol names used during e.g. the configure stage of a
build. Hide those details behind a generically-named declaration for the
TLS protocol to avoid leaking those details into the configuration stage.
2026-04-20 19:31:04 +08:00
openvela-robot cb35569ed6 checkasm: add _fixed suffix to fixed_dsp tests
Should prevents future conflicts with the similarly named floatdsp tests
2026-04-20 19:30:57 +08:00
openvela-robot 2663b69081 smacker: Improve error handling
Return sensible error values and forward error codes.
2026-04-20 19:30:46 +08:00
openvela-robot 0413c4d6d1 compat/cuda: make cuvidGetDecoderCaps optional 2026-04-20 19:30:43 +08:00
openvela-robot d15b6e7ea6 os_support: Remove the dynamic loading of getaddrinfo from the fallback getaddrinfo
If we for some unexplicable reason didn't pick up getaddrinfo
at configure, the default, IPv4-only, fallback should be good enough.

This effectively reverts 6023d84a2b.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:30:40 +08:00
openvela-robot 1dcc8d537b examples/encode_video: add log
This helps to visualize how the send/receive API works.
2026-04-20 19:30:36 +08:00
openvela-robot 61f36b04b0 hlsenc: Support recovery from an already present playlist
Parse the playlist to recover the start sequence and previously
generated segments and continue muxing from there.

Mainly useful for near-seamless recovery in live scenarios.
2026-04-20 19:30:33 +08:00
openvela-robot 49b979a213 configure: Fix the msvcrt version check for mingw32
This was actually broken when committed in 46e3936fb04; the
test never succeeded, and thus, _aligned_malloc wasn't actually
used on legacy mingw.

Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 427f7a1f9e)
2026-04-20 19:30:30 +08:00
openvela-robot 40e9cda88d configure: Fix the msvcrt version check for mingw32
This was actually broken when committed in 46e3936fb04; the
test never succeeded, and thus, _aligned_malloc wasn't actually
used on legacy mingw.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:30:27 +08:00
openvela-robot a2da5d5492 avcodec/dds: Fix runtime error: left shift of 145 by 24 places cannot be represented in type 'int'
Fixes: 1891/clusterfuzz-testcase-minimized-6274417925554176

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:30:23 +08:00
openvela-robot b277c50a49 vaapi: Add ABGR map only if VA_FOURCC_ABGR is defined
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 19:30:20 +08:00
openvela-robot 9034342c7e avfilter/af_sidechaincompress: change default makeup gain to 1
This avoids producing out of range or clipped samples.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:29:57 +08:00
openvela-robot 42165a9f81 vp9_superframe_bsf: cache input packets directly
Avoids unnecessary allocs+copies and makes the code slightly simpler.
2026-04-20 19:29:54 +08:00
openvela-robot 3835a3c155 avcodec/mlpdec: Fix runtime error: left shift of negative value -1
Fixes: 1636/clusterfuzz-testcase-minimized-5310494757879808

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:29:32 +08:00
openvela-robot 700515e1f1 doc: Document hwupload, hwdownload and hwmap filters 2026-04-20 19:29:29 +08:00
openvela-robot abee26d60a avfilter/af_silenceremove: set output timestamps
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:29:11 +08:00
openvela-robot 261f0bffc9 movenc: Add an option for enabling negative CTS offsets
This reduces the need for an edit list; streams that start with
e.g. dts=-1, pts=0 can be encoded as dts=0, pts=0 (which is valid
in mov/mp4) by shifting the dts values of all packets forward.
This avoids the need for edit lists for such streams (while they
still are needed for audio streams with encoder delay).

This eases conformance with the DASH-IF interoperability guidelines.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:29:08 +08:00
openvela-robot 73fdf8ea30 videotoolbox: add hwcontext support
This adds tons of code for no other benefit than making VideoToolbox
support conform with the new hwaccel API (using hw_device_ctx and
hw_frames_ctx).

Since VideoToolbox decoding does not actually require the user to
allocate frames, the new code does mostly nothing.

One benefit is that ffmpeg_videotoolbox.c can be dropped once generic
hwaccel support for ffmpeg.c is merged from Libav.

Does not consider VDA or VideoToolbox encoding.

Fun fact: the frame transfer functions are copied from vaapi, as the
mapping makes copying generic boilerplate. Mapping itself is not
exported by the VT code, because I don't know how to test.
2026-04-20 19:29:04 +08:00
openvela-robot ee8efdd619 arm: Avoid using .dn register aliases
clang now (in the upcoming 5.0 version) is capable of building our
arm assembly without relying on gas-preprocessor, although clang/LLVM
doesn't support .dn register aliases.

The VC1 MC assembly was only built and used if the chosen assembler
supported the .dn directives though. This was supported as long as
gas-preprocessor was used.

This means that VC1 decoding got a speed regression on clang 5.0,
unless the user manually chose using gas-preprocessor again.

By avoiding using the .dn register aliases, we can build the VC1 MC
assembly with the latest clang version.

Support for the .dn/.qn directives in clang/LLVM isn't actively planned,
see https://bugs.llvm.org/show_bug.cgi?id=18199.

This partially reverts 896a5bff64.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:29:02 +08:00
openvela-robot c2e5802584 ffprobe: discard non-selected streams 2026-04-20 19:28:53 +08:00
openvela-robot 15582aaf26 mpjpeg: Use proper CR/LF in multipart headers
This is more correct.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:28:50 +08:00
openvela-robot dfbab19968 Changelog: mention afir addition
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:28:45 +08:00
openvela-robot 505fdad7b4 h264_refs: validate the SPS pointer in ff_h264_execute_ref_pic_marking()
Bug-Id: 1036
CC: libav-stable@libav.org
2026-04-20 19:28:42 +08:00
openvela-robot 7736b7fcdf avfilter/vf_histogram: actually add parade display mode
Rename previous parade mode to stack, what it really was from start.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:28:38 +08:00
openvela-robot 92ff62f6f6 hevcdec: remove HEVCContext usage from hevc_sei
Based on the H264 SEI implementation.

This will be mainly useful once support for SEI messages that can be
used by the hevc parser are implemented, like Picture Timing.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 19:28:35 +08:00
openvela-robot c7a7d4cdd5 avcodec/msvideo1: Check buffer size before re-getting the frame
Fixes timeout
Fixes: 1306/clusterfuzz-testcase-minimized-6152296217968640

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:27:32 +08:00
openvela-robot 5be1014ad0 hevc: 16x16 NEON idct: Use the right element size for loads/stores
This doesn't change the actual behaviour of the code but improves
readability.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:27:29 +08:00
openvela-robot bc5ca5a16f configure: fix libopus detection
Prevents compilation failures on libopus < 1.0.3
Regression since 37941878.
2026-04-20 19:27:26 +08:00
openvela-robot fce65aa9b2 aacsbr: Turnoff in the event of over read.
Aliased compressed AAC bytes are almost certainly not meaningful SBR
data. In the wild this causes harsh artifacts switching HE-AAC streams
that don't have SBR headers aligned with segment boundaries.

Turning off SBR falls back to a default set of upsampling parameters
that can function as a sort of error concealment. This is consistent
with how the decoder handles other sorts of errors.

Bug-Id: 1047
CC: libav-stable@libav.org

Signed-off-by: Sean McGovern <gseanmcg@gmail.com>
2026-04-20 19:27:23 +08:00
openvela-robot 99cb657c9d avfilter/interlace: add complex vertical low-pass filter
This complex (-1 2 6 2 -1) filter slightly less reduces interlace 'twitter' but better retain detail and subjective sharpness impression compared to the linear (1 2 1) filter.

Signed-off-by: Thomas Mundt <tmundt75@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:27:13 +08:00
openvela-robot 831a88377c vlc: Add header #include when the types are used
Do not rely on indirectly including it from bitstream.h.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2026-04-20 19:27:10 +08:00
openvela-robot cbff5f292a lavc/mips/hevc_idct_msa: Add missing const qualifier.
Fixes many warnings:
initialization discards 'const' qualifier from pointer target type
2026-04-20 19:27:06 +08:00
openvela-robot 7eca105221 hevc: Add NEON add_residual for bitdepth 10
Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:27:03 +08:00
openvela-robot 8cd8c9a1b7 avformat/matroskadec: export Content Light Level metadata
Based on a patch by Hendrik Leppkes

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:26:59 +08:00
openvela-robot 53384f1e81 avconv_hw: Add implicit device creation with default parameters
If -hwaccel foo is supplied without any other device options, and the
foo hwaccel is meant to have a device, try to make such a device with
default parameters for the hwaccel to use.
2026-04-20 19:26:55 +08:00
openvela-robot c7b045bd38 Merge commit 'c2fa6bb0e8703a7a6aa10e11f9ab36094416d83f'
* commit 'c2fa6bb0e8703a7a6aa10e11f9ab36094416d83f':
  mpeg12dec: move setting first_field to mpeg_field_start()

This commit is a noop, see 2f6f2f4f73

Merged-by: James Almer <jamrial@gmail.com>
2026-04-20 19:26:52 +08:00
openvela-robot eac6455f41 vp9_raw_reorder_bsf: Remove a redundant allocation
This was left over from an earlier version which created the new
packet inside the current frame structure.  Now it just leaks an
unused packet, so remove the allocation entirely.
2026-04-20 19:26:49 +08:00
openvela-robot 9c96a53bd3 avfilter/lavfutils: use image2pipe demuxer on ff_load_image
allow protocols other than file to be used
for example, use data protocol to embed a file in script

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2026-04-20 19:26:41 +08:00
openvela-robot c8da68ac7b arm: hevc_idct: Tune the add_res_8x8 and add_res_32x32 functions
Before:              Cortex     A7      A8      A9     A53
hevc_add_res_8x8_8_neon:     116.0    58.7    80.2    90.7
hevc_add_res_32x32_8_neon:  1230.0   737.5  1187.5   974.4
After:
hevc_add_res_8x8_8_neon:      97.7    57.0    73.7    80.0
hevc_add_res_32x32_8_neon:  1216.0   698.7  1127.5   827.1

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:26:38 +08:00
openvela-robot d35a661176 avformat/hlsenc: hold old key info when append list
fix ticket id: #6353

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2026-04-20 19:26:34 +08:00
openvela-robot c9b62626d7 spherical: add functions to retrieve and request projection names
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 19:26:31 +08:00
openvela-robot 9c0c87e6cd opus_pvq: minor cleanups
Removes unneeded variables, renames confusing and innacurate variables
and rewrites and slightly optimizes hadamard interleave/deinterleave
functions.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2026-04-20 19:26:27 +08:00
openvela-robot 012e5f3d75 vaapi_encode: Use gop_size consistently in RC parameters
The non-H.26[45] codecs already use this form.  Since we don't
currently generate I frames for codecs which support them separately
to IDR, the p_per_i variable is set to infinity by default so that it
doesn't interfere with any other calculation.  (All the code for I
frames still exists, and it works for H.264 if set manually.)
2026-04-20 19:26:24 +08:00
openvela-robot 5bfd18d3fa avcodec/nvenc: surface allocation reduction
This patch aims to reduce the number of input/output surfaces
NVENC allocates per session. Previous default sets allocated surfaces to 32
(unless there is user specified param or lookahead involved). Having large
number of surfaces consumes extra video memory (esp for higher resolution
encoding). The patch changes the surfaces calculation for default, B-frames,
lookahead scenario respectively.

The other change involves surface selection. Previously, if a session
allocates x surfaces, only x-1 surfaces are used (due to combination
of output delay and lock toggle logic). To prevent unused surfaces,
changing surface rotation to using predefined fifo.

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2026-04-20 19:26:21 +08:00
openvela-robot fb28e66730 avfoundation: update to use AVCodecParameters 2026-04-20 19:26:18 +08:00
openvela-robot 422a1991f3 Merge commit '373fd76b4dbd9aa03ed28e502f33f2ca8c1ce19a'
* commit '373fd76b4dbd9aa03ed28e502f33f2ca8c1ce19a':
  hevcdec: do not set decoder-global SPS prematurely

Merged-by: Clément Bœsch <u@pkh.me>
2026-04-20 19:26:13 +08:00
openvela-robot 42155f8737 mlp: Drop ff_ prefix from a static function 2026-04-20 19:26:10 +08:00
openvela-robot 86925df79b Merge commit 'ee480790c7eeb03c9cebd8971c46e0cb7db65277'
* commit 'ee480790c7eeb03c9cebd8971c46e0cb7db65277':
  build: Add name parameter to check_lib() helper function

Merged-by: Clément Bœsch <u@pkh.me>
2026-04-20 19:25:56 +08:00
openvela-robot 289d32216c mlp: Rename the channel layout variable
Purely cosmetic change, will make code more readable once the new
channel layout takes over.
2026-04-20 19:25:53 +08:00
openvela-robot e8162bf00e Merge commit '86157e6db2c7a9222f77fa7e7f50fb9aebc3aa81'
* commit '86157e6db2c7a9222f77fa7e7f50fb9aebc3aa81':
  hevc: decouple calling get_format() from exporting the SPS parameters

See 786032cad8 (which has been reverted
and replaced with Anton's version to reduce diffs between the two
projects).

Merged-by: Clément Bœsch <u@pkh.me>
2026-04-20 19:25:37 +08:00
openvela-robot e97e881617 matroskaenc: don't warn about unknown spherical metadata when there isn't any
The same warning is issued when actual unknown spherical metadata is
found further down in the function.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 19:25:34 +08:00
openvela-robot 62d3c4f631 avformat/concatdec: fix the h264 annexb extradata check
The start code can be either in the first three or four bytes.
2026-04-20 19:25:31 +08:00
openvela-robot d0269f487a hevc: Add NEON IDCT DC functions for bitdepth 8
Signed-off-by: Alexandra Hájková <alexandra@khirnov.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:25:28 +08:00
openvela-robot 9885ebbf5b avfilter/af_biquads: allow filtering only selected channels
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:25:23 +08:00
openvela-robot 512df17738 Add ClearVideo decoder
Only I-frames are decoded for now.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2026-04-20 19:25:20 +08:00
openvela-robot d7229702bd tools/target_dec_fuzzer: Remove FuzzerInterface.h dependancy
The header is not always available in the docker build environment

Suggested-by: Kostya Serebryany
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:25:17 +08:00
openvela-robot 22cca2dbae vc1dec: raise an error if sprite picture data is missing
Bug-Id: 1013
CC: libav-stable@libav.org
2026-04-20 19:25:13 +08:00
openvela-robot ad4ecf043d avfilter: add lumakey filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:25:10 +08:00
openvela-robot 246958d462 swscale-test: const correctness 2026-04-20 19:25:08 +08:00
openvela-robot 202bea6cb5 avformat/webmdashenc: Require the 'adaptation_sets' option to be set
This seems to be non-optional, and if the muxer is run without it,
strlen() is run on NULL, causing a segfault.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:24:57 +08:00
openvela-robot 365a162a2f flv: Validate the packet size
Size can be negative at that point.

Bug-Id: 1041
CC: libav-stable@libav.org
2026-04-20 19:24:54 +08:00
openvela-robot 09cc2633c9 avfilter/af_compand: Check av_strtok() for failure
Fixes CID1396256

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:24:51 +08:00
openvela-robot c566449ce3 dca: Account for lfe when checking for the channel count
Bug-Id: 1037
CC: libav-stable@libav.org
2026-04-20 19:24:49 +08:00
openvela-robot cf92d4a89c Merge commit '932cc6496ef6ab0e589ea51d3adefe5b7d7f1e2a'
* commit '932cc6496ef6ab0e589ea51d3adefe5b7d7f1e2a':
  vdpau: Do not #include vdpau_x11.h from the main vdpau header

Merged-by: Clément Bœsch <u@pkh.me>
2026-04-20 19:24:28 +08:00
openvela-robot 2bd3ddfefe swscale: Add gbrap10 output
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 19:24:17 +08:00
openvela-robot 60e5600b57 Merge commit '404cb74793284aa03e2e1a7e911c980c4cba0e9e'
* commit '404cb74793284aa03e2e1a7e911c980c4cba0e9e':
  configure: Pass CFLAGS_HEADERS through the right CFLAGS filter

Merged-by: James Almer <jamrial@gmail.com>
2026-04-20 19:23:46 +08:00
openvela-robot fc3f9b849f Add FM Screen Capture Codec decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2026-04-20 19:23:43 +08:00
openvela-robot 41510da941 configure: Fix decklink license dependency. 2026-04-20 19:23:39 +08:00
openvela-robot 01610cb3aa hevc: Add NEON 16x16 IDCT
The speedup vs C code is around 6-13x.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:23:36 +08:00
openvela-robot 5a444cb11f avfilter/vf_framerate: always request input if no output is provided in request_frame
Fixes ticket #6285.

Signed-off-by: Marton Balint <cus@passwd.hu>
2026-04-20 19:23:33 +08:00
openvela-robot 3210b0c8d1 ac3_parser: add a public function for parsing the data required by the demuxer
Make the current semi-public avpriv_ac3_parse_header() private to lavc.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2026-04-20 19:23:30 +08:00
openvela-robot d79fdc6fee Revert "avcodec/svq1: zero initialize entries array"
This reverts commit aed84ee4d1.

It is a false positive from Valgrind with recent GCC and
-funswitch-loops (present in -O3).
2026-04-20 19:23:25 +08:00
openvela-robot 70d9e7374d examples: Fixed and extended Doxygen documentation
Added parameter descriptions for all functions
 and converted in-function comments into regular
 (non-Doxygen) comments.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 19:23:23 +08:00
openvela-robot 6017cef3d3 avformat/movenc: auto insert vp9_superframe bsf when needed
Experimental VP9 support was added to the muxer recently.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:23:18 +08:00
openvela-robot 08724df39f lavfi: Drop unused and empty header file
This header was public but deprecated on 2013-04-11 (lavfi 3.8.0).
2026-04-20 19:23:15 +08:00
openvela-robot 1443c88e93 avfilter/vf_paletteuse: silence warning about misaligned indentation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:23:12 +08:00
openvela-robot de0b685796 matroska: Read only the data written in the scratch buffer
The private buffer is 20bytes but depending on the type only 12 bytes
are actually filled.
2026-04-20 19:23:09 +08:00
openvela-robot a917b0c818 ffmpeg: make transcode_init_done atomic.
Should fix tsan warnings in fate-fifo-muxer-h264/wav:

WARNING: ThreadSanitizer: data race (pid=26552)
  Write of size 4 at 0x000001e0d7c0 by main thread:
    #0 transcode_init src/ffmpeg.c:3761 (ffmpeg+0x00000050ca1c)
[..]
  Previous read of size 4 at 0x000001e0d7c0 by thread T1:
    #0 decode_interrupt_cb src/ffmpeg.c:460 (ffmpeg+0x0000004fde19)
2026-04-20 19:21:14 +08:00
openvela-robot 42860e1e34 mov: Move code shared with CAF to a separate file 2026-04-20 19:21:11 +08:00
openvela-robot 3f0c389478 build: Add missing object dependency for extract_extradata bitstream filter
Cherry-picked from libav commit cfee5e1a0f

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:21:08 +08:00
openvela-robot 611dd3323a vp9: Add bsf to fix reordering in raw streams
Takes a raw input stream containing frames with correct timestamps but
possibly out of order and inserts additional show-existing-frame
packets to correct the ordering.
2026-04-20 19:21:05 +08:00
openvela-robot 6d1cf434b6 Bump minor for 3.3
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:21:02 +08:00
openvela-robot 41355d04db pthread_frame: Propagate sw_pix_fmt across threads 2026-04-20 19:20:59 +08:00
openvela-robot 694825af65 Merge commit 'fe7bc1f16abaefe66d8a20f734ca3eb8a4ce4d43'
* commit 'fe7bc1f16abaefe66d8a20f734ca3eb8a4ce4d43':
  configure: Do not unconditionally check for (and enable) xlib

Merged-by: James Almer <jamrial@gmail.com>
2026-04-20 19:19:42 +08:00
openvela-robot 8708c05210 takdec: Use ISO C printf conversion specifiers where appropriate
libavformat/takdec.c:144:20: warning: format '%X' expects argument of type 'unsigned int', but argument 4 has type 'uint32_t'
2026-04-20 19:19:39 +08:00
openvela-robot 176643688e Merge commit '7433feb82f75827884d909de34d341a1c4401d4a'
* commit '7433feb82f75827884d909de34d341a1c4401d4a':
  lavfi: Make default get_video_buffer work with hardware frames

Merged-by: Matthieu Bouron <matthieu.bouron@gmail.com>
2026-04-20 19:18:45 +08:00
openvela-robot 86a5435c0c dcadec: remove extra indirection
num_core_channels is always equal to s->audio_header.prim_channels,
neither one of those variables ever get changed.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 19:18:42 +08:00
openvela-robot 52703294f0 pthread_frame: minor simplification to error handling
Get rid of the "ret" variable, and always use err. Report the packet as
consumed if err is unset. This should be equivalent to the old code,
which obviously required err=0 for p->result>=0 (and otherwise,
p->result must have had the value err was last set to). The code block
added by commit 32a5b63126 is also not needed anymore, because the new
code strictly returns err if it's >=0.

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
2026-04-20 19:18:21 +08:00
openvela-robot c52b990551 hevcdec: Use LOCAL_ALIGNED_* for declaring local variables with alignment
Not all compilers can do alignment larger than the normal stack alignment
for variables on the stack. In these cases, the LOCAL_ALIGNED_* macros
produce the workaround alignment wrapper consisting of a padded array
and a pointer variable.

This fixes the hevc fate tests on RVCT/ARMCC after adding IDCT assembly
that actually assumes/relies on this alignment.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:18:18 +08:00
openvela-robot 80f7e78d19 doc/examples/filtering_*: switch to codecpar 2026-04-20 19:18:13 +08:00
openvela-robot 1d997dddc0 jack: Drop support for old (2012) JACK versions 2026-04-20 19:17:59 +08:00
openvela-robot 59f3e047ea Merge commit 'b90c8a3d08e3f9ad4de1253376d2d1d93abb8b8c'
* commit 'b90c8a3d08e3f9ad4de1253376d2d1d93abb8b8c':
  fate: Add tests for mov display matrix

Adapted to use ffprobe -show_entries

Merged-by: James Almer <jamrial@gmail.com>
2026-04-20 19:17:54 +08:00
openvela-robot ba7919128a hwcontext: Move NONE to the be the first member of AVHWDeviceType
Also use that to fix a warning in av_hwdevice_get_type_name().
2026-04-20 19:17:51 +08:00
openvela-robot 630332e347 Merge commit 'c454dfcff90f0ed39c7b0d4e85664986a8b4476c'
* commit 'c454dfcff90f0ed39c7b0d4e85664986a8b4476c':
  Use ISO C printf conversion specifiers where appropriate

This commit is a noop, an equivalent patch is currently under review on
the mailing-list: http://ffmpeg.org/pipermail/ffmpeg-devel/2017-March/209239.html

Merged-by: Clément Bœsch <u@pkh.me>
2026-04-20 19:17:39 +08:00
openvela-robot 124bd8266b hevc: Add NEON 4x4 and 8x8 IDCT
Optimized by Martin Storsjö <martin@martin.st>.

The speedup vs C code is around 3.2-4.4x.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:17:36 +08:00
openvela-robot 2c1d74ff88 avcodec/x86/idctdsp: Remove duplicate include
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:17:31 +08:00
openvela-robot 394fdfe5e0 nsvdec: don't ignore the return value of av_get_packet()
Fixes invalid reads with corrupted files.

CC: libav-stable@libav.org
Bug-Id: 1039
2026-04-20 19:17:29 +08:00
openvela-robot 1f12a8f3e6 fate: mask errors while constructing report files
The first case was forgotten in 89790ba2bf.

Note: build_only=yes is one of the case where hiding the errors makes
sense.
2026-04-20 19:17:25 +08:00
openvela-robot 006e67b07a configure: Skip check for inline assembly capabilities when explicitly disabled
Otherwise inline assembly may get enabled when disabled on the command line.
2026-04-20 19:17:22 +08:00
openvela-robot 3707a76a2f avcodec/tiff: Check geotag count for being non zero
Fixes memleak
Fixes: 874/clusterfuzz-testcase-5252796175613952

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:16:02 +08:00
openvela-robot b01540eb9d avplay: Use the named syntax for buffersrc arguments
Avoid confusion.
2026-04-20 19:15:59 +08:00
openvela-robot 405c00ba6e Merge commit '5cc0057f4910c8c72421b812c8f337ef6c43696c'
* commit '5cc0057f4910c8c72421b812c8f337ef6c43696c':
  lavu: remove the custom atomic API

This commit is a noop. The removal is postponed until all usages in
FFmpeg are dropped as well. A patchset is on discussion on the
mailing-list:
http://ffmpeg.org/pipermail/ffmpeg-devel/2017-March/209003.html

Merged-by: Clément Bœsch <u@pkh.me>
2026-04-20 19:15:36 +08:00
openvela-robot d5fd2361ca Bump major versions of all libraries
This disables everything that was deprecated at least 18 months ago.

Readjust the minimum API version as needed, postponing any
API-incompatible changes until the next bump.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 19:15:31 +08:00
openvela-robot 71bfdd19ba fate: update ref file for apng-clock test 2026-04-20 19:15:12 +08:00
openvela-robot 5c9d437753 libavutil: Hook up the rest of the gcc specific attributes to clang as well
Hook up all attributes that don't have a MSVC specific version at the
moment.

See f637046d31 for details.

These don't seem to be critical for building with clang in MSVC mode
though, and thus haven't been hooked up until now.

These seem to build fine with as old clang as 3.3 at least.
(clang 3.3 disguises itself as gcc 4.2 normally, so all of these
have been used for clang before, except for av_cold.)

The clang version numbers themselves are useless for detecting what
attributes are available, since Apple's clang builds use a completely
different versioning (presenting itself as e.g. clang 8.0 instead
of 3.8).

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:15:09 +08:00
openvela-robot dfff387961 Merge commit 'e87a501e7d03ac68b58520108fe24ad9d0b36765'
* commit 'e87a501e7d03ac68b58520108fe24ad9d0b36765':
  swscale: Update bitdepth range check

This commit is a noop.

Up to 14 bits is supported since fa36f33422. This commits pushes the
limit to 15 bits but we don't seem to have pixel formats that enters in
that category.

12:03 <ubitux> so what's your opinion? should we move to 15 even if unused currently to make it consistent with libav and the function names, or keep our 14 suggesting there might be an issue with 15?
12:05 <ubitux> (functions are called hScale8To15_c, hScale16To15_c, ff_hscale8to15, ...)
12:06 <michaelni> I prefer to keep 14 until theres a case that allows us to test this and i suspect it will not work with 15 at least not all the code

Merged-by: Clément Bœsch <u@pkh.me>
2026-04-20 19:14:25 +08:00
openvela-robot 5ed9d31362 nvenc: Allow different const qps for I, P and B frames
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 19:14:22 +08:00
openvela-robot 59b4b5bf4b avcodec, avformat: deprecate anything related to side data merging
This patch deprecates anything that has to do with merging/splitting
side data. Automatic side data merging (and splitting), as well as all
API symbols involved in it, are removed completely.

Two FF_API_ defines are dedicated to deprecating API symbols related to
this: FF_API_MERGE_SD_API removes av_packet_split/merge_side_data in
libavcodec, and FF_API_LAVF_KEEPSIDE_FLAG deprecates
AVFMT_FLAG_KEEP_SIDE_DATA in libavformat.

Since it was claimed that changing the default from merging side data to
not doing it is an ABI change, there are two additional FF_API_ defines,
which stop using the side data merging/splitting by default (and remove
any code in avformat/avcodec doing this): FF_API_MERGE_SD in libavcodec,
and FF_API_LAVF_MERGE_SD in libavformat.

It is very much intended that FF_API_MERGE_SD and FF_API_LAVF_MERGE_SD
are quickly defined to 0 in the next ABI bump, while the API symbols are
retained for a longer time for the sake of compatibility.
AVFMT_FLAG_KEEP_SIDE_DATA will (very much intentionally) do nothing for
most of the time it will still be defined. Keep in mind that no code
exists that actually tries to unset this flag for any reason, nor does
such code need to exist. Code setting this flag explicitly will work as
before. Thus it's ok for AVFMT_FLAG_KEEP_SIDE_DATA to do nothing once
side data merging has been removed from libavformat.

In order to avoid that anyone in the future does this incorrectly, here
is a small guide how to update the internal code on bumps:

- next ABI bump (probably soon):
  - define FF_API_LAVF_MERGE_SD to 0, and remove all code covered by it
  - define FF_API_MERGE_SD to 0, and remove all code covered by it
- next API bump (typically two years in the future or so):
  - define FF_API_LAVF_KEEPSIDE_FLAG to 0, and remove all code covered
    by it
  - define FF_API_MERGE_SD_API to 0, and remove all code covered by it

This forces anyone who actually wants packet side data to temporarily
use deprecated API to get it all. If you ask me, this is batshit fucked
up crazy, but it's how we roll. Making AVFMT_FLAG_KEEP_SIDE_DATA to be
set by default was rejected as an ABI change, so I'm going all the way
to get rid of this once and for all.

Reviewed-by: James Almer <jamrial@gmail.com>
Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:14:17 +08:00
openvela-robot 9ac52d3b26 hwcontext: Add device derivation
Creates a new device context from another of a different type which
refers to the same underlying hardware.
2026-04-20 19:14:14 +08:00
openvela-robot e0b8cee60d avcodec/vp9: avx2 implementation of ipred_dl_16x16_16
vp9_diag_downleft_16x16_10bpp_c: 263.0
vp9_diag_downleft_16x16_10bpp_sse2: 44.7
vp9_diag_downleft_16x16_10bpp_ssse3: 32.5
vp9_diag_downleft_16x16_10bpp_avx: 31.9
vp9_diag_downleft_16x16_10bpp_avx2: 25.7
vp9_diag_downleft_16x16_12bpp_c: 264.7
vp9_diag_downleft_16x16_12bpp_sse2: 44.4
vp9_diag_downleft_16x16_12bpp_ssse3: 32.0
vp9_diag_downleft_16x16_12bpp_avx: 32.4
vp9_diag_downleft_16x16_12bpp_avx2: 25.5

Benchmarked with 10000 runs

Signed-off-by: Ilia <zakne0ne@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2026-04-20 19:13:46 +08:00
openvela-robot cb962d440b build: Add missing object dependency for extract_extradata bitstream filter 2026-04-20 19:13:43 +08:00
openvela-robot e9e6db3dbd Merge commit '5ebef79abecc3ffcc4ab0d46e203d13b068107c9'
* commit '5ebef79abecc3ffcc4ab0d46e203d13b068107c9':
  Fix instances of broken indentation found by gcc 6

Noop, see 21d3f0c02, 6089c44a2

Merged-by: Clément Bœsch <u@pkh.me>
2026-04-20 19:11:35 +08:00
openvela-robot f2b536f75e matroskaenc: add support for Spherical Video elements
Signed-off-by: James Almer <jamrial@gmail.com>
Minor cosmetic changes by committer.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 19:11:33 +08:00
openvela-robot b3107ede45 Merge commit 'ae90119c6701fa09ff747cca35238e36b2d2ab2f'
* commit 'ae90119c6701fa09ff747cca35238e36b2d2ab2f':
  configure: Simplify license incompatibility check

An extra GPLV3 list is added for libsmbclient as having it in both GPL
and VERSION3 lists would cause a duplicate in the final config list.

Also, for consistency, libnpp is treated the same as the other nonfree
component (libfdk_aac and openssl).

Merged-by: Clément Bœsch <u@pkh.me>
2026-04-20 19:11:22 +08:00
openvela-robot f3f06f48e9 configure: Replace -no_weak_symbols with -Werror=partial-availability
Jack uses weak symbols on purpose.
2026-04-20 19:11:19 +08:00
openvela-robot 44eea8239d doc/filters: Add colourspace values for colormatrix filter
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Kieran Kunhya <kierank@obe.tv>
2026-04-20 19:10:58 +08:00
openvela-robot ed5318df6a x86: fft: Port to cpuflags 2026-04-20 19:10:55 +08:00
openvela-robot 326d7483eb swresample/swresample: do not reset tsf on swr_alloc_set_opts
so tsf option in aresample will have effect
previously tsf/internal_sample_format had no effect

fate is updated
s32p previously used fltp internally
dblp previously used fltp/dblp internally

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2026-04-20 19:10:50 +08:00
openvela-robot 0403a6561c h2645_parse: use the bytestream2 API for packet splitting
The code does some nontrivial jumping around in the buffer, so it is
safer to use a checked API rather than do everything manually.

Fixes a bug in nalff parsing, where the length field is currently not
counted in the buffer size check, resulting in possible overreads with
invalid files.

CC: libav-stable@libav.org
Bug-Id: 1002
Found-By: Kamil Frankowicz
2026-04-20 19:10:48 +08:00
openvela-robot 852b6320fb avcodec/cuvid: add support for cropping/resizing
Overhauled version, original patch by Miroslav Slugeň <thunder.m@email.cz>.
2026-04-20 19:10:27 +08:00
openvela-robot ca2e12c3e0 Add Cineform HD Decoder
Decodes YUV 4:2:2 10-bit and RGB 12-bit files.
Older files with more subbands, skips, Bayer, alpha not supported.

Further fixes and refactorings by Anton Khirnov <anton@khirnov.net>,
Diego Biurrun <diego@biurrun.de>, Vittorio Giovara <vittorio.giovara@gmail.com>

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2026-04-20 19:10:25 +08:00
openvela-robot f751d0e990 avcodec: clarify some decoding/encoding API details
Make it clear that there is no timing-dependent behavior. In particular,
there is no state in which both input and output are denied, and where
you have to wait for a while yourself to make progress (apparently some
hardware decoders like to do this).

Avoid wording that makes references to time. It shouldn't be mistaken
for some kind of asynchronous API (like POSIX read() can return EAGAIN
if there is no new input yet). It's a state machine, so try to use
appropriate terms.

Signed-off-by: Diego Biurrun <diego@biurrun.de>

Merges Libav commit 8a60bba0ae.
2026-04-20 19:10:21 +08:00
openvela-robot 360b97f335 add initial QP value options
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2026-04-20 19:10:19 +08:00
openvela-robot 0b21d78fb1 spherical: Add tiled equirectangular type and projection-specific properties
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 19:10:14 +08:00
openvela-robot b096afe39c mov: Fix spherical metadata_source parsing
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:10:09 +08:00
openvela-robot 4dbeceea4b avcodec/h264, videotoolbox: fix crash after VT decoder fails
The way videotoolbox hooks in as a hwaccel is pretty hacky. The VT decode
API is not invoked until end_frame(), so alloc_frame() returns a dummy
frame with a 1-byte buffer. When end_frame() is eventually called, the
dummy buffer is replaced with the actual decoded data from
VTDecompressionSessionDecodeFrame().

When the VT decoder fails, the frame returned to the h264 decoder from
alloc_frame() remains invalid and should not be used. Before
9747219958, it was accidentally being
returned all the way up to the API user. After that commit, the dummy
frame was unref'd so the user received an error.

However, since that commit, VT hwaccel failures started causing random
segfaults in the h264 decoder. This happened more often on iOS where the
VT implementation is more likely to throw errors on bitstream anomolies.
A recent report of this issue can be see in
http://ffmpeg.org/pipermail/libav-user/2016-November/009831.html

The issue here is that the dummy frame is still referenced internally by the
h264 decoder, as part of the reflist and cur_pic_ptr. Deallocating the
frame causes assertions like this one to trip later on during decoding:

  Assertion h->cur_pic_ptr->f->buf[0] failed at src/libavcodec/h264_slice.c:1340

With this commit, we leave the dummy 1-byte frame intact, but avoid returning it
to the user.

This reverts commit 9747219958.

Signed-off-by: wm4 <nfxjfg@googlemail.com>
2026-04-20 19:10:05 +08:00
openvela-robot a583c08f5d pixlet: Fix architecture-dependent code and values
The constants used in the decoder used floating point precision,
and this caused different values to be generated on different
architectures. Additionally on big endian machines, the fate test
would output bytes in native order, which is different from the one
hardcoded in the test.

So, eradicate floating point numbers and use fixed point (32.32)
arithmetics everywhere, replacing constants with precomputed integer
values, and force the pixel format output to be the same in the fate
test.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 19:10:02 +08:00
openvela-robot 5dbdb3ed9b lavf/matroska: Support QDMC. 2026-04-20 19:09:58 +08:00
openvela-robot 24d40e2983 build: Explicitly set 32-bit/64-bit object formats for nasm/yasm
Consistently use object format names with "32" suffix and set object format
to "win64" on Windows x86_64, which fixes assembling with nasm.
2026-04-20 19:09:55 +08:00
openvela-robot efad1cf19a avcodec/adxdec: Fix runtime error: left shift of negative value -1
Fixes: 705/clusterfuzz-testcase-5129572590813184

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:09:52 +08:00
openvela-robot d51ae8882c nvenc: Remove qmin and qmax constraints for nvenc vbr
qmin and qmax are not necessary for nvenc vbr.

Also fix for using 2 pass vbr mode for slow preset through ctx->flag NVENC_TWO_PASSES.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 19:09:46 +08:00
openvela-robot b3b07196ba avformat/oggdec: remove unused parameter of ogg_restore()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:09:32 +08:00
openvela-robot a65addcf8c intmath: add faster clz support 2026-04-20 19:09:29 +08:00
openvela-robot bba66c4615 compat/cuda: fix ulong size on cygwin 2026-04-20 19:09:25 +08:00
openvela-robot eead5ebe3a build: Add "build" shorthand target that depends on all compile targets 2026-04-20 19:09:22 +08:00
openvela-robot 8cbfcac15e Makefile: Clean compat subdirectory.
Fixes ticket #5546.
2026-04-20 19:09:19 +08:00
openvela-robot 23f89e95e6 nvenc: Fix the preset mapping list
The map is a sparse array and does not need a empty element to terminate
it.

The empty element is stored after the last one inserted in the list,
overwriting whichever element was next with zeros.

Bug-Id: 1029

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 19:09:16 +08:00
openvela-robot f7538a478d avcodec/qdrw: check bytes per scanline for 2bpp images
One byte less is read in case of small width.
Closes #6194.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:09:13 +08:00
openvela-robot 5bd5c1f28f build: Drop DOC_ prefix from EXAMPLES-related variables 2026-04-20 19:09:10 +08:00
openvela-robot 1d38b12c69 avcodec/scpr: check if total_freq is 0 in decode0
Fixes SIGFPE, closes #6196.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:09:07 +08:00
openvela-robot d709f20dd4 rtsp: Move the pollfd setup out of the for loop 2026-04-20 19:09:04 +08:00
openvela-robot e27cf0a44b avcodec/qdrw: fix decoding odd size images for 16bit case
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:09:00 +08:00
openvela-robot 679b0d52be fate: Use bitexact optimizations in the svq3-2 test
This fixes the test with mmxext disabled because the current reference
frame hashes correspond to the non-bitexact mmxext optimizations.
2026-04-20 19:08:57 +08:00
openvela-robot 6ccf19a7f4 avcodec/vp56: Implement very basic error concealment
This should fix the fate failure due to a truncated last frame.
Alternatively the frame could be dropped.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:08:53 +08:00
openvela-robot 0b087e270e apetag: fix flag value to signal footer presence
According to the spec[1], a value of 0 means the footer is present and a value
of 1 means it's absent, the exact opposite of header presence flag where 1
means present and 0 absent.
The reason for this is compatibility with APEv1 tags, where there's no header,
footer presence was mandatory for all files, and the flags field was a zeroed
reserved field.

[1] http://wiki.hydrogenaud.io/index.php?title=Ape_Tags_Flags

Signed-off-by: James Almer <jamrial@gmail.com>

CC: libav-stable@libav.org

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 19:08:49 +08:00
openvela-robot 073b7ec76f lavc/utils: Make second parameter to apply_param_change() const.
Fixes a compilation warning:
passing argument 2 of ‘apply_param_change’ discards ‘const’ qualifier from pointer target type
2026-04-20 19:08:45 +08:00
openvela-robot b62b144de2 fate: Add another SVQ3 test to increase coverage 2026-04-20 19:08:42 +08:00
openvela-robot 3a5ca21f1f lavfi: Add VAAPI deinterlacer
(cherry picked from commit ade370a4d7)
(cherry picked from commit 2d518aec4c)
2026-04-20 19:08:38 +08:00
openvela-robot 909af8cfa4 arm: vp9itxfm: Avoid reloading the idct32 coefficients
The idct32x32 function actually pushed q4-q7 onto the stack even
though it didn't clobber them; there are plenty of registers that
can be used to allow keeping all the idct coefficients in registers
without having to reload different subsets of them at different
stages in the transform.

Since the idct16 core transform avoids clobbering q4-q7 (but clobbers
q2-q3 instead, to avoid needing to back up and restore q4-q7 at all
in the idct16 function), and the lanewise vmul needs a register in
the q0-q3 range, we move the stored coefficients from q2-q3 into q4-q5
while doing idct16.

While keeping these coefficients in registers, we still can skip pushing
q7.

Before:                              Cortex A7       A8       A9      A53
vp9_inv_dct_dct_32x32_sub32_add_neon:  18553.8  17182.7  14303.3  12089.7
After:
vp9_inv_dct_dct_32x32_sub32_add_neon:  18470.3  16717.7  14173.6  11860.8

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:08:36 +08:00
openvela-robot b5b838658e MAINTAINERS: Add ffmpeg-security alias members
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:08:31 +08:00
openvela-robot 622bfee9f2 fate: Update fate-lavf-mkv after commit 5d3953a5dc 2026-04-20 19:08:28 +08:00
openvela-robot 4e0971635d avcodec/qdrw: don't overwrite bpp when checking its value
Finishes fixing ticket #6171
2026-04-20 19:08:25 +08:00
openvela-robot 2c0e739a45 fate: Add webp alpha test 2026-04-20 19:08:22 +08:00
openvela-robot 05fe89a970 lavd/opengl_enc: Support BGR48. 2026-04-20 19:08:19 +08:00
openvela-robot 9a8e0306a8 matroskaenc: factor ts_offset into block timecode computation
ts_offset was added to cluster timecode, but then effectively subtracted
back off the block timecode

When setting initial_padding for an audio stream, the timestamps are
written incorrectly to the mkv file.  cluster timecode gets written
as pts0 + ts_offset which is correct, but then block timecode gets
written as pts - cluster timecode which expanded is
pts - (pts0 + ts_offset).  Adding cluster and block tc back together:
cluster + block = (pts0 + ts_offset) + (pts - (pts0 + ts_offset)) = pts
But the result should be pts + ts_offset since demux will subtract the
CodecDelay element from pts and set initial_padding to CodecDelay.
This patch gives the correct result.
2026-04-20 19:08:16 +08:00
openvela-robot f6ea469a16 avformat/hlsenc: fix cid 1401346 Dereferencing pointer error
check if proto is null before av_strcasecmp
CID:  1401346

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2026-04-20 19:08:12 +08:00
openvela-robot 6f9d0abff0 build: Drop leftover reference to old EXAMPLES logic 2026-04-20 19:08:09 +08:00
openvela-robot 443856bdac avcodec/nvenc: allow forcing keyframes by default 2026-04-20 19:08:05 +08:00
openvela-robot 0a74ed87f2 configure: Explicitly spell out first require_pkg_config() parameter
This is less confusing than encountering "" in the argument list.
2026-04-20 19:07:54 +08:00
openvela-robot 1f8d2ca7ab avcodec/pictordec: Do not read more than nb_planes
Fixes undefined behavior
Fixes: 622/clusterfuzz-testcase-5745722022428672

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:07:48 +08:00
openvela-robot 3af3e76266 dv: Don't return EIO upon EOF 2026-04-20 19:07:46 +08:00
openvela-robot 70386d997e opusenc: initialize the emphasis coefficients on init
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2026-04-20 19:07:40 +08:00
openvela-robot 71067418e7 vf_deinterlace_vaapi: Create filter buffer after context
The Intel proprietary VAAPI driver enforces the restriction that a
buffer must be created inside an existing context, so just ensure
this is always true.
2026-04-20 19:07:38 +08:00
openvela-robot 990bf77324 lavc/vda_h264_dec.c Fix NULL pointer dereference
ps.sps_list entries may be NULL, so check before dereferencing

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:07:34 +08:00
openvela-robot 03a54b95ff vf_fade: Make sure to not miss the last lines of a frame
When slice_h is rounded up due to chroma subsampling, there's
a risk that jobnr * slice_h exceeds frame->height.

Prior to a638e9184d, this wasn't an issue for the last slice
of a frame, since slice_end was set to frame->height for the last
slice.

a638e9184d tried to fix the case where other slices than the
last one would exceed frame->height (which can happen where the
number of slices/threads is very large compared to the frame
height).

However, the fix in a638e9184d instead broke other cases,
where slice_h * nb_threads < frame->height. Therefore, make
sure the last slice always ends at frame->height.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:07:31 +08:00
openvela-robot 1217af5f73 swr/aarch64: add missing ret to ff_resample_common_apply_filter_x8_float_neon 2026-04-20 19:07:28 +08:00
openvela-robot 68e4d25778 configure: Handle SDL version check through pkg-config 2026-04-20 19:07:25 +08:00
openvela-robot 0f33400874 opusenc: fix coarse energy quantization with 2 bits left
Fixes CID1400584

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2026-04-20 19:07:22 +08:00
openvela-robot 9925916650 avconv: Move rescale to stream timebase before monotonisation
If the stream timebase is coarser than the muxing timebase then the
monotonisation process may fail because adding one to the timestamp
need not actually produce a different timestamp after the rescale.
2026-04-20 19:07:19 +08:00
openvela-robot b381010255 opus_pvq: fix uninitialized variable usage
Fixes CID1400586

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2026-04-20 19:07:16 +08:00
openvela-robot 915d0ab882 libopenh264dec: Let the framework use the h264_mp4toannexb bitstream filter
This avoids a lot of boilerplate code within the decoder wrapper itself.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:07:13 +08:00
openvela-robot c4c5966137 adpcm: fix clipping for yamaha
According to specification max value allowed is 0x6000.
Fixes #5862.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:07:10 +08:00
openvela-robot 45a4a4d378 mov: Do not try to parse multiple stsd for the same track
Bug-Id: 1017
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 19:07:07 +08:00
openvela-robot 157170c0bb doc/protocols: add option usage description
Fixes ticket #6148.

Signed-off-by: Lou Logan <lou@lrcd.com>
2026-04-20 19:07:02 +08:00
openvela-robot fc1defe9d0 lavc: Add device context field to AVCodecContext
For use by codec implementations which can allocate frames internally.
2026-04-20 19:06:59 +08:00
openvela-robot e1d5d262b6 avcodec: add FM Screen Capture Codec decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:06:55 +08:00
openvela-robot 65aa808230 aac: Validate the sbr sample rate before using the value
Avoid a floating point exception.

Bug-Id: 1027
CC: libav-stable@libav.org
2026-04-20 19:06:52 +08:00
openvela-robot d3956f0756 lavf/omadec: Remove an unsed variable. 2026-04-20 19:06:49 +08:00
openvela-robot b445829464 configure: Move up the avbuild directory creation
The early check for inconsistent in-source vs out-of-source build
cannot generate a config.log otherwise.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 19:06:46 +08:00
openvela-robot 949bb9d217 avcodec: add ATRAC Advanced Lossless decoders
Only lossy part is decoded for now.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:06:43 +08:00
openvela-robot 5dacc884ef avio: add a destructor for AVIOContext
Before this commit, AVIOContext is to be freed with a plain av_free(),
which prevents us from adding any deeper structure to it.
2026-04-20 19:06:40 +08:00
openvela-robot 8779b5534c avformat/apetag: fix flag value to signal footer presence
According to the spec[1], a value of 0 means the footer is present and a value
of 1 means it's absent, the exact opposite of header presence flag where 1
means present and 0 absent.
The reason for this is compatibility with APEv1 tags, where there's no header,
footer presence was mandatory for all files, and the flags field was a zeroed
reserved field.

[1] http://wiki.hydrogenaud.io/index.php?title=Ape_Tags_Flags

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:06:36 +08:00
openvela-robot a4cd493b97 mov: Rework stsc index validation
In order to avoid potential integer overflow change the comparison
and make sure to use the same unsigned type for both elements.
2026-04-20 19:06:33 +08:00
openvela-robot 16a288a167 avcodec/qdmc: silence gcc 6.2.0 warning
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:06:30 +08:00
openvela-robot 48a43faaaf hlsenc: Correctly write down all 16 bytes in hex
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 19:06:27 +08:00
openvela-robot e6a63e9305 lavf/mov.c: Avoid OOB in mov_read_udta_string()
Core of patch is from paul@paulmehta.com
Reference https://crbug.com/643952 (udta_string portion)

Signed-off-by: Matt Wolenetz <wolenetz@chromium.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:06:24 +08:00
openvela-robot 9a1285a82c utvideodec: Add a missing include
This was missing from 77c23704c7, fixing building.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:06:09 +08:00
openvela-robot 23ae923998 avcodec/mjpegenc: Remove non functional huffman reallocation and error handling
If this is wanted iam not against it but it must be designed to work with all cases
like slice threads, and a single growing buffer does not work very well with slices.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:06:06 +08:00
openvela-robot d2dd2c373c avcodec: Mark some codecs with threadsafe init as such
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 19:06:03 +08:00
openvela-robot a020ff7f24 ffplay: change keyboard volume control to logarithmic
The command line parameter remains linear.

Signed-off-by: Marton Balint <cus@passwd.hu>
2026-04-20 19:05:58 +08:00
openvela-robot 2fe1a1b662 configure: Correctly recurse in do_check_deps()
Fixes all sorts of configuration problems introducec by dad7a9c7c0
on non-Linux or non-vanilla configs. Also removes a line made redundant
in that commit.
2026-04-20 19:05:56 +08:00
openvela-robot 0c3d38b98c avcodec/pictordec: Fix logic error
Fixes: 559/clusterfuzz-testcase-6424225917173760

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:05:51 +08:00
openvela-robot 7966340226 Use bitstream_init8() where appropriate 2026-04-20 19:05:48 +08:00
openvela-robot 588c4de169 configure: use dashes instead of slashes in lib.exe invocation
This avoids issues with wrong parameter translation by msys on some systems,
and the Windows SDK tools accept both forms equally.
2026-04-20 19:05:45 +08:00
openvela-robot 0fc3a50557 wma: Convert to the new bitstream reader 2026-04-20 19:05:42 +08:00
openvela-robot 503cbe6501 avcodec/mpc8: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:05:36 +08:00
openvela-robot 6dcf5385dc rtmp: Correctly handle the Window Acknowledgement Size packets
This swaps which field is set when the Window Acknowledgement Size
and Set Peer BW packets are received, renames the fields in
order to clarify their role further and adds verbose comments
explaining their respective roles and how well the code currently
does what it is supposed to.

The Set Peer BW packet tells the receiver of the packet (which
can be either client or server) that it should not send more data
if it already has sent more data than the specified number of bytes,
without receiving acknowledgement for them. Actually checking this
limit is currently not implemented.

In order to be able to check that properly, one can send the
Window Acknowledgement Size packet, which tells the receiver of the
packet that it needs to send Acknowledgement packets
(RTMP_PT_BYTES_READ) at least after receiving a given number of bytes
since the last Acknowledgement.

Therefore, when we receive a Window Acknowledgement Size packet,
this sets the maximum number of bytes we can receive without sending
an Acknowledgement; therefore when handling this packet we should set
the receive_report_size field (previously client_report_size).

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:05:33 +08:00
openvela-robot 50bfbc45e6 avfilter/scale: refactor common code for scaling height/width expressions
Implements support for height/width expressions in vf_scale_vaapi,
by refactoring common code into a new libavfilter/scale.c

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2026-04-20 19:05:30 +08:00
openvela-robot 374fb35779 svq3: Convert to the new bitstream reader 2026-04-20 19:05:27 +08:00
openvela-robot 9fa7ea5d9f avcodec/dca_lbr: Fix off by 1 error in freq check
Fixes out of array read
Fixes: 510/clusterfuzz-testcase-5737865715646464

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:05:24 +08:00
openvela-robot 02a42ad43d configure: Add proper weak dependency of drawtext filter on libfontconfig 2026-04-20 19:05:21 +08:00
openvela-robot 358c283457 Merge commit 'd639dcdae022130078c9c84b7b691c5e9694786c'
* commit 'd639dcdae022130078c9c84b7b691c5e9694786c':
  ratecontrol: Move Xvid-related functions to the place they are actually used

Merged-by: Clément Bœsch <u@pkh.me>
2026-04-20 19:05:08 +08:00
openvela-robot beb3a2761e avconv: allow -b to be used with streamcopy
In this mode it tells the muxer about the bitrate of the input stream.
2026-04-20 19:05:05 +08:00
openvela-robot 669e2a09a5 MAINTAINERS: Add myself for boadec.c
It seems ive written this thing though i cannot really remember

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:04:51 +08:00
openvela-robot 69e54e5471 golomb: Convert to the new bitstream reader 2026-04-20 19:04:47 +08:00
openvela-robot 293a53db63 ircamdec: prevent overflow during block alignment calculation
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2026-04-20 19:04:18 +08:00
openvela-robot 955415d61f dashenc: add support for assigning streams to AdaptationSets
Also makes sure all streams are assigned to exactly one AdaptationSet.

This patch is originally based partially on code by Vignesh Venkatasubramanian.

Signed-off-by: Peter Große <pegro@friiks.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:04:15 +08:00
openvela-robot 3721a36217 avformat/mov: Fix integer truncation in mov_read_uuid()
Fixes Ticket6102

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:04:12 +08:00
openvela-robot b6a45d6d0a dashenc: add option to provide UTC timing source
If set, adds a UTCTiming tag in the manifest.

This is part of the recommendations listed in the "Guidelines for
Implementations: DASH-IF Interoperability Points" [1][2]
Section 4.7 describes means for the Availability Time Synchronization.

A usable default is "https://time.akamai.com/?iso"

[1] http://dashif.org/guidelines/
[2] http://dashif.org/wp-content/uploads/2016/12/DASH-IF-IOP-v4.0-clean.pdf
    (current version as of writing)

Signed-off-by: Peter Große <pegro@friiks.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:04:09 +08:00
openvela-robot e982e6747f lavfi: make ff_framequeue_skip_samples() more useful.
Instead of just updating statistics and leaving the work to the
call site, have it actually do the work.

Also: skip the samples by updating the frame data pointers
instead of moving the samples. More efficient and avoid writing
into shared frames.
Found-By: Muhammad Faiz <mfcc64@gmail.com>
2026-04-20 19:04:05 +08:00
openvela-robot 3d7ac5a234 rtmp: Account for bytes_read wraparound
Servers seem to be happy to receive the wrapped-around value as long
as they receive a report, otherwise they timeout.

Initially reported and analyzed by Thomas Bernhard.
2026-04-20 19:04:02 +08:00
openvela-robot e31a7561e9 doc/examples/decoder_targeted: Disable error concealment after 20 frames
This allows testing EC and non EC. Avoids spending most time in EC on
high res samples and reduces the likelyhood of hitting timeouts

Fixes: Timeout in 467/fuzz-2-ffmpeg_VIDEO_AV_CODEC_ID_H263_fuzzer

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:03:59 +08:00
openvela-robot c8a6da62c6 vaapi_encode: Add MPEG-2 support 2026-04-20 19:03:56 +08:00
openvela-robot dd0efe6690 avfilter/avf_showspectrum: fix 2 possible crashes
Make sure no division by zero is done.
Make sure there are actually samples available.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:03:52 +08:00
openvela-robot 0ae32f761e dashenc: add mandatory id to AdaptationSet and Period in manifest
Signed-off-by: Peter Große <pegro@friiks.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:03:49 +08:00
openvela-robot c4f0c880de avfilter: add abitscope multimedia filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:03:46 +08:00
openvela-robot f10d3d3e4c fifo: Return the correct AVERROR value 2026-04-20 19:03:43 +08:00
openvela-robot a8e4fdc797 ffmpeg_opt.c: Introduce a -vstats_version option and document the existing -vstats format.
Signed-off-by: Sasi Inguva <isasi@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:03:40 +08:00
openvela-robot 93c2c9d61e configure: Move optflags checks to a more sensible place 2026-04-20 19:03:37 +08:00
openvela-robot 575008de31 lavf/mov: Unscramble dref debug output. 2026-04-20 19:03:34 +08:00
openvela-robot 163c8ec96e mpc: Convert to the new bitstream reader 2026-04-20 19:03:31 +08:00
openvela-robot a843c3c930 avformat/hlsenc: improve to write m3u8 head block
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2026-04-20 19:03:17 +08:00
openvela-robot 3d16fef69c swscale-test: const correctness for pointer variable
libswscale/swscale-test.c:369:20: warning: passing argument 2 of ‘sws_scale’ from incompatible pointer type [-Wincompatible-pointer-types]
libswscale/swscale.h:207:5: note: expected ‘const uint8_t * const* {aka const unsigned char * const*}’ but argument is of type ‘uint8_t ** {aka unsigned char **}’
2026-04-20 19:03:15 +08:00
openvela-robot dc5c2bf943 avcodec/nvenc: make gpu indices independend of supported capabilities 2026-04-20 19:03:09 +08:00
openvela-robot 0550ac3c7d apedec: Convert to the new bitstream reader 2026-04-20 19:03:06 +08:00
openvela-robot d75862f27e avcodec/wmapro: redone stream selection for XMA1/2
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:03:02 +08:00
openvela-robot 14f8b0924c hevc: Mark as having threadsafe init
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 19:02:51 +08:00
openvela-robot 752e94aa47 Merge commit 'f450cc7bc595155bacdb9f5d2414a076ccf81b4a'
* commit 'f450cc7bc595155bacdb9f5d2414a076ccf81b4a':
  h264: eliminate decode_postinit()

Also includes fixes from 1f7b4f9abc and e344e65109.

Original patch replace H264Context.next_output_pic (H264Picture *) by
H264Context.output_frame (AVFrame *). This change is discarded as it
is incompatible with the frame reconstruction and motion vectors
display code which needs the extra information from the H264Picture.

Merged-by: Clément Bœsch <u@pkh.me>
Merged-by: Matthieu Bouron <matthieu.bouron@gmail.com>
2026-04-20 19:02:43 +08:00
openvela-robot 8f90452138 nvenc: Explicitly push the cuda context on encoding
Make sure that NVENC does not misbehave if other cuda usages happen
in the application.
2026-04-20 19:02:41 +08:00
openvela-robot d1cec3529b speedhq: Align blocks variable properly.
Seemingly ff_clear_block_sse assumed that the block array is aligned,
so make sure it is.

Fixes ticket #6079

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:02:35 +08:00
openvela-robot 2b1eafd03d qsv: Set the correct range for la_depth
Setting an invalid range for it makes the encoder behave inconsistently.
2026-04-20 19:02:32 +08:00
openvela-robot 0cfbd98cdd libavfilter/af_biquads: warn about clipping only after frame with clipping 2026-04-20 19:02:28 +08:00
openvela-robot da67ce9489 dxva2: get the slice number directly from the surface in D3D11VA
No need to loop through the known surfaces, we'll use the requested surface
anyway.

The loop is only done for DXVA2.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 19:02:24 +08:00
openvela-robot c6eabce579 avformat/hlsenc: hls_start_number_source and start_number
start_number option starts the playlist sequence number
(#EXT-X-MEDIA-SEQUENCE) from the specified number. Unless hls_flags
single_file is set, it also specifies starting sequence numbers of
segment and subtitle filenames. Sometimes it is usefull to have unique
starting numbers at each run, but currently it is only achiveable by
setting this parameter manually.
This patch enables to specify start_number source parameter by
introducing hls_start_number_source with 3 possible values:
generic/epoch/datetime. This ensures to set start sequence number
automatically for practically unique numbers. Generic option is the
default and this is the curent behaviour: start_number option value
specifies the start sequence number. (start_number default value is 0)
If hls_start_number_source is set to epoch, then the start number will
be the seconds since epoch (1970-01-01 00:00:00). If set to datetime,
then the start sequence number will be based on the current date/time
value as YYYYmmddHHMMSS. e.g. 20161231235659.
Hls speficication allows 64 bit integers as sequence numbers. This patch
also changes some code where only 32 bit integer values were handled
correctly.

Reviewed-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2026-04-20 19:02:19 +08:00
openvela-robot cf60959f32 build: Remove stray duplicate conditional variable declaration 2026-04-20 19:02:17 +08:00
openvela-robot d94c101902 x86inc: Avoid using eax/rax for storing the stack pointer
When allocating stack space with an alignment requirement that is larger
than the current stack alignment we need to store a copy of the original
stack pointer in order to be able to restore it later.

If we chose to use another register for this purpose we should not pick
eax/rax since it can be overwritten as a return value.
2026-04-20 19:02:11 +08:00
openvela-robot 580329038f hevcdec: add P010 support for D3D11VA
Given it's the same API than DVXA2 I don't know why the same output was not
enabled for both.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 19:02:08 +08:00
openvela-robot 1eb0b327fe avfilter/af_dynaudnorm: fix hang with too short input
The only thing we can do at such point is return samples unchanged.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:02:05 +08:00
openvela-robot 768ddb2a07 dxva2: Make ff_dxva2_get_surface() static and drop its name prefix
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2026-04-20 19:02:02 +08:00
openvela-robot 988be4d562 avformat/hlsenc: fix memleak in hlsenc
fix CID: 1398364 Resource leak
refine the code of the new options

Reviewed-by: Bodecs Bela <bodecsb@vivanet.hu>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2026-04-20 19:01:57 +08:00
openvela-robot f155125d6d matroskadec: make sure not to leave EbmlBin in an inconsistent state
If a read fails, the current code will free the data but leave the size
non-zero. Make sure the size is zeroed in such a case.

CC: libav-stable@libav.org
Bug-Id: 1001
Found-By: Kamil Frankowicz
Signed-off-by: Sean McGovern <gseanmcg@gmail.com>
2026-04-20 19:01:55 +08:00
openvela-robot 3fc371ed43 avformat/hlsenc: bugfix in duplicate filename detection
A wrong, unitialized variable is used for testing. This patch fixes this
typo.

Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2026-04-20 19:01:52 +08:00
openvela-robot 5a9f061102 vaapi_h265: Fix build failure with old libva without 10-bit surfaces
10-bit surface support was added in libva 1.6.2, earlier versions
support H.265 encoding in 8-bit only.
2026-04-20 19:01:49 +08:00
openvela-robot 3a464c7ec6 avformat/avidec: clean-up identifier names
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:01:46 +08:00
openvela-robot 369baf4c3e arm: vp9mc: Fix vertical alignment of operands
Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:01:43 +08:00
openvela-robot 500835e60d avutil/tests: added selftest for aes_ctr.c
Signed-off-by: Thomas Turner <thomastdt@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:01:39 +08:00
openvela-robot a0c9c6ff2d cmdutils: update copyright year to 2017
CC: libav-stable@libav.org
2026-04-20 19:01:36 +08:00
openvela-robot d4a30c5d94 avcodec/mjpegdec: Check for rgb before flipping
Fixes assertion failure due to unsupported case

Fixes: 356/fuzz-1-ffmpeg_VIDEO_AV_CODEC_ID_MJPEG_fuzzer
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:01:32 +08:00
openvela-robot 7f1b6b9b7c configure: Fix typo in incdir variable written to config.sh
This fixes includedir lines in pkg-config files broken after 92db508307.
2026-04-20 19:01:29 +08:00
openvela-robot 6c3d0c68f2 lavf/utils.c Protect against accessing entries[nb_entries]
In ff_index_search_timestamp(), if b == num_entries,
m == num_entries - 1, and entries[m].flags & AVINDEX_DISCARD_FRAME is
true, then the search for the next non-discarded packet could access
entries[nb_entries], exceeding its bounds. This change adds a protection
against that scenario. Reference: https://crbug.com/666770

Reviewed-by: Sasi Inguva <isasi@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:01:16 +08:00
openvela-robot 590671bf7a fate: Unset the sig variable if ignoring a test failure
Otherwise the .rep file would still contain a signal instead of a
zero, even if the process returned success.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:01:12 +08:00
openvela-robot 4af1c0d379 ffmpeg: remove stop_encoding variable and related code, it is dead / unused code
Fixes: CID1396243

Reviewed-by: compn <tempn@mi.rr.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:01:09 +08:00
openvela-robot b9567a0f9f build: Add version numbers to "Requires" entries in pkg-config files
The (required) version numbers disappeared after edb4348732.
2026-04-20 19:01:06 +08:00
openvela-robot 281a41fd97 avfilter/vf_w3fdif: add >8 but <16 bit support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:01:00 +08:00
openvela-robot 245eece554 matroskadec: fix SRT subtitle duration
The codec id for SRT was changed and conditionals were not updated.
2026-04-20 19:00:58 +08:00
openvela-robot d3aa40c161 avutil/tests/random_seed: eliminate goto
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:00:54 +08:00
openvela-robot 4c57b356bd Use correct printf conversion specifiers for POSIX integer types 2026-04-20 19:00:51 +08:00
openvela-robot 635ffdf497 avutil/random_seed: Improve get_generic_seed() with higher precission clock()
Tested-by: Thomas Turner <thomastdt@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:00:47 +08:00
openvela-robot 2624503894 build: Store library version numbers in .version files
This moves work from the configure to the Make stage where it can
be parallelized and ensures that shared libraries are built with
the right version number in the filename.
2026-04-20 19:00:44 +08:00
openvela-robot 06dd302329 doc/filters: Fix vsbmc option name.
Reported-by: Антон Приходько
2026-04-20 19:00:41 +08:00
openvela-robot 7735a248fb build: Move build-system-related helper files to a separate subdirectory
This unclutters the top-level directory and groups related files together.
2026-04-20 19:00:38 +08:00
openvela-robot 8621747331 lavfi/atempo: avoid false triggering an assertion failure
Steps to reproduce:
./ffmpeg_g -f s16be -i /dev/null -af atempo=0.5 -y /tmp/atempo.wav

Signed-off-by: Marton Balint <cus@passwd.hu>
2026-04-20 19:00:34 +08:00
openvela-robot a5cf0a87e0 aarch64: vp9itxfm: Use the offset parameter to movrel
This fixes build failures for iOS, broken since cad42fadcd.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:00:31 +08:00
openvela-robot 4acce249d0 doc/examples/decoder_targeted: Limit max pixels for fuzzing
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:00:28 +08:00
openvela-robot 1db6b35812 v4l2: use codec descriptors for mapping a codec name to id
This mapping has nothing to do with decoder implementations, so using
decoder names is wrong.
2026-04-20 19:00:25 +08:00
openvela-robot 9f70d95313 avfilter/vf_ssim: add >8 bit depth suppport
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:00:21 +08:00
openvela-robot ba30c67fb9 configure: put d3d11 check in alphabetical order 2026-04-20 19:00:18 +08:00
openvela-robot 72bba12a2c avfilter/vsrc_testsrc: draw_bar: make sure width is not negative
Reported-by: Josh de Kock
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 19:00:15 +08:00
openvela-robot 52aa0d9683 rtmppkt: Check for packet size mismatches
When receiving fragmented packets, the first packet declares the size,
and the later ones normally are small follow-on packets that don't repeat
the size and the other header fields. But technically, the later fragments
also can have a full header, declaring a different size than the previous
packet.

If the follow-on packet declares a larger size than the initial one, we
could end up writing outside of the allocation.

This fixes out of bounds writes.

Found-by: Paul Cher <paulcher@icloud.com>
Reviewed-by: Paul Cher <paulcher@icloud.com>

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 19:00:12 +08:00
openvela-robot ca29035c6d Add missing #includes for standalone spherical-information-related headers
(cherry picked from commit f912fd767e)
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 19:00:08 +08:00
openvela-robot 4aef24b1fc decode.h: Add missing headers to fix standalone compilation 2026-04-20 19:00:05 +08:00
openvela-robot 421f0b9690 Bump for psd demuxer and decoder
Found-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 19:00:02 +08:00
openvela-robot 4777ee827e lavc: add a null bitstream filter
It is useful for testing/debugging and will also be used as the default
filter in the following commit adding pre-decode filtering to avoid
having a separate non-filtered codepath.
2026-04-20 18:59:59 +08:00
openvela-robot 9da7249c92 fate: Add h264 test for frame num gaps
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2026-04-20 18:59:55 +08:00
openvela-robot 2e20e8e46c dxva2: Keep code shared between dxva2 and d3d11va under the correct #if
This partially reverts commit ac648bb835.
2026-04-20 18:59:52 +08:00
openvela-robot 1a2884b7fe lavf/mov: Accept multiple fourcc for AVID 1:1.
Fixes ticket #5982.
2026-04-20 18:59:49 +08:00
openvela-robot b80027f967 dxva2: Simplify some ifdefs 2026-04-20 18:59:46 +08:00
openvela-robot 7b57f5062e configure: enable sdl if sdl2 is enabled
sdl is supposed to be an alias, so it should have the same value.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2026-04-20 18:59:43 +08:00
openvela-robot ffb028ac94 lavfi: Add VAAPI deinterlacer 2026-04-20 18:59:39 +08:00
openvela-robot 97b4881967 libavcodec/tests: Add avpacket test to .gitignore
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2026-04-20 18:59:29 +08:00
openvela-robot 533cef8432 configure: Fix _libs vs. _extralibs oversight 2026-04-20 18:59:25 +08:00
openvela-robot 1850f551c1 swresample/swresample: Check count before memcpy()
Fixes undefined operation
Fixes part of 668007-media

Found-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:59:21 +08:00
openvela-robot 303b3e948c configure: Simplify some library checks via check_lib() 2026-04-20 18:59:18 +08:00
openvela-robot 2bdd0f7e95 fate: improve fate-mov dependencies
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 18:59:15 +08:00
openvela-robot 6ac80edfed dxva2: Adjust multiple inclusion guard names to follow convention 2026-04-20 18:59:12 +08:00
openvela-robot 8f88216f7d doc/muxers: remove "-strict experimental" from tee muxer examples
Examples use the native FFmpeg AAC encoder but it is no longer
considered experimental and therefore not required.

Signed-off-by: Lou Logan <lou@lrcd.com>
2026-04-20 18:59:09 +08:00
openvela-robot 393d69c316 libkvazaar: Add missing header #includes
This fixes compilation after the next version bump.
2026-04-20 18:59:05 +08:00
openvela-robot dc85664968 avfilter/vf_deband: fix silly mistakes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 18:59:02 +08:00
openvela-robot 51642a9d1b build: Add an internal component for hevc_ps code
This allows expressing dependencies in a more correct way.
2026-04-20 18:58:59 +08:00
openvela-robot f71a6cd989 lavu: Add AVSphericalMapping type and frame side data
While no decoder currently exports spherical information, this type
represents a frame property that has to be passed through from container
to frames.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 18:58:55 +08:00
openvela-robot ba23998634 build: Warn that reconfiguration is necessary if version.h files changed
The library versions are stored in the config.mak file and are used
to derive shared library names.
2026-04-20 18:58:52 +08:00
openvela-robot 0ffd363e2e lavf/chromaprint: Update for version 1.4
Fixes ticket #5997.
2026-04-20 18:58:48 +08:00
openvela-robot 6103d7e248 build: Separate avisynth and avxsynth support
This simplifies the code.
2026-04-20 18:58:45 +08:00
openvela-robot 5a27eb5dc6 tests/api/api-seek-test: Fix use of uinitialized value
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:58:42 +08:00
openvela-robot 85d99c4ff8 configure: Move COMPONENT_LIST to the bottom of CONFIG_LIST
This ensures that dependencies are resolved correctly. COMPONENT_LIST
can contain parts that depend on previous entries of CONFIG_LIST.
2026-04-20 18:58:40 +08:00
openvela-robot f22531d56a configure: check for strtoull on msvc
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 18:58:36 +08:00
openvela-robot a6283845b4 build: Create a component for MPEG audio header decoding
Fixes standalone compilation of the libmp3lame encoder.
2026-04-20 18:58:33 +08:00
openvela-robot 418f1fe076 lavc: Remove CR/LF from avpriv_request_sample() calls. 2026-04-20 18:58:29 +08:00
openvela-robot 243dfb5bf4 configure: Add misssing qpeldsp dependency to mss2 decoder 2026-04-20 18:58:26 +08:00
openvela-robot 269110ab59 avformat/ffmdec: Remove some st->codec uses which set encoder parameters
Modern ffserver should not need these

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:58:22 +08:00
openvela-robot 7122812e7e build: Add -Wpedantic and -Wextra to extra warning flags
Also drop -Winline from set of warning flags as it only produces noise.
2026-04-20 18:58:19 +08:00
openvela-robot f91b63d5a3 avfilter/vf_premultiply: remove redundant semicolons
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:58:15 +08:00
openvela-robot 4eb79f30dc options_table: Do not rely on enum size as option bound
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 18:58:12 +08:00
openvela-robot a8033abb94 avcodec/h264: mmxext 4:2:2 chroma intra deblock/loop filter
2.1 times faster (401 vs. 194 cycles)
2026-04-20 18:58:08 +08:00
openvela-robot d7d6c84ff9 vp9dsp: add DC only versions for idct/idct.
before:

time ./avconv -v 0 -nostats -threads 1 -i sintel_vp9_500kbps.webm -f null -
real    0m11.125s
user    0m11.059s
sys     0m0.050s

time ./avconv -v 0 -nostats -threads 1 -i sintel_vp9_500kbps.webm -f null -
real    0m10.944s
user    0m10.819s
sys     0m0.064s

after:

time ./avconv -v 0 -nostats -threads 1 -i sintel_vp9_500kbps.webm -f null -
real    0m8.153s
user    0m8.034s
sys     0m0.050s

time ./avconv -v 0 -nostats -threads 1 -i sintel_vp9_500kbps.webm -f null -
real    0m8.038s
user    0m7.980s
sys     0m0.039s

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 18:58:05 +08:00
openvela-robot edf66e5e14 mov: Evaluate the movie display matrix
This matrix needs to be applied after all others have (currently only
display matrix from trak), but cannot be handled in movie box, since
streams are not allocated yet. So store it in main context, and apply
it when appropriate, that is after parsing the tkhd one.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 18:58:02 +08:00
openvela-robot 2fb023537e metasound: Drop unused tables 2026-04-20 18:57:59 +08:00