Commit Graph

872 Commits

Author SHA1 Message Date
openvela-robot dbef91e4e5 configure: add missing loongson dependencies
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 18:38:18 +08:00
openvela-robot b5efad0807 swscale: Rename sws_context_class to ff_sws_context_class
It is an internal swscale symbol and thus should not be exported.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2026-04-20 18:38:15 +08:00
openvela-robot 6e3c8530d7 refine the method option describe of hlsenc doc
Signed-off-by: LiuQi <liuqi@gosun.com>
Reviewed-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:38:12 +08:00
openvela-robot 37d018ed00 mp3dec: read the initial/trailing padding from the LAME tag 2026-04-20 18:38:09 +08:00
openvela-robot a8f14e1237 Restore compatibility with powerpc-apple-darwin9-gcc-4.2.1
... and attempt to preserve compatibility with clang that was
introduced in 311a953c76 (untested)

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:38:06 +08:00
openvela-robot f88bc737ec mov: fix stream extradata_size allocation
Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 18:38:03 +08:00
openvela-robot 6bf261ebb4 dirac_vlc: fix undefined shifts
Shifting by more than 63 bits is undefined behavior, athough any
compiler not returning 0 after shifting by any amount would be insane.

Found by Coverity, fixes CID1363959 and CID1363960

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2026-04-20 18:37:54 +08:00
openvela-robot 7b2cd545e9 h2645_parse: handle embedded Annex B NAL units in size prefixed NAL units
Fixes a regression in ca2f19b9cc with some mov/mp4 files. The files have
several NAL units in the supposed single NAL unit after the size field.
Annex B start code prefixes are used to separate them. The first NAL unit
is correctly parsed but the buffer does not point to the next size field.
Instead semi random data (it seems to be the rbsp_stop_one_bit and the
start code prefix) is then parsed as length and will exceed the
remaining length of the buffer.

Patch based on the code in h264's decode_nal_units() and a similar
patch by Hendrik Leppkes in FFmpeg (a9bb4cf87d).

Bug-Id: ffmpeg/trac5529
Reported-By: Vittorio Giovara
2026-04-20 18:37:51 +08:00
openvela-robot 99b6339ae7 lavc/Makefile: Fix standalone compilation of the lame encoder.
Also fix a possible issue with the mpegaudio audiotoolbox decoders.
Fixes ticket #5703.
2026-04-20 18:37:43 +08:00
openvela-robot 6b5d5ac078 d3d11va: don't keep the context lock while waiting for a frame
also fixes a deadlock found by Денис Кулаков <kudesnik33ra@gmail.com>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 18:37:40 +08:00
openvela-robot 7ace5b956a avutil/parseutils: dont assume standard time when parsing a timestamp
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Marton Balint <cus@passwd.hu>
2026-04-20 18:37:37 +08:00
openvela-robot 65ce742a39 doc: escape left brace in texi2pod.pl regex
Unescaped literal left braces are deprecated and a warning was added in
Perl 5.22.
2026-04-20 18:37:34 +08:00
openvela-robot d806206062 Changed metadata print option to accept general urls
This is an - once again - updated patch, that uses avio_write instead
of avio_puts to stream clean text output without null characters. Works
now for me as intended.

Changes metadata filter to accept general urls as file argument without
breaking former behaviour. As a byproduct, it also allows for writing to
file "-" if specified as "file:-".

Example:

ffmpeg -i test.wav -filter_complex "silencedetect=n=-40dB:d=0.1,ametadata=mode=print:file='pipe\:4'" -f null

Signed-off-by: Sami Hult <sami.hult@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:37:31 +08:00
openvela-robot 47020e13da libopenh264: Support building with the 1.6 release
Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 18:37:29 +08:00
openvela-robot 6db2b12e6a h2645_parse: only read avc length code at the correct position
Reading it from any other position would result in a wrong size being
read, instead fallback to the re-sync mechanic in the else clause.
2026-04-20 18:37:02 +08:00
openvela-robot b4dacfe659 checkasm: Add tests for vp8dsp
The tests are inspired by similar tests for vp9 by
Ronald Bultje.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 18:37:00 +08:00
openvela-robot 16637c86cf lavc/h264_slice: use sps directly when checking for invalid 8x8 inference 2026-04-20 18:36:55 +08:00
openvela-robot 1d57751ab2 hwcontext_qsv: add support for p010 2026-04-20 18:36:53 +08:00
openvela-robot 251201b4ed tests/checkasm/pixblockdsp: Test 8 byte aligned positions
The code is documented as to require 8byte alignment

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:36:49 +08:00
openvela-robot 69db908718 oggparseopus: export pre-skip
Bug-Id: 945, along with the following commit
2026-04-20 18:36:46 +08:00
openvela-robot df30ffe633 h264: make H264ParamSets sps const 2026-04-20 18:36:38 +08:00
openvela-robot f7932b7dd8 checkasm: hevc: Iterate over features first, then over bitdepths
This avoids listing the same feature multiple times in the
test output. Previously the output contained something like this:

SSE2:
 - hevc_mc.qpel              [OK]
 - hevc_mc.epel              [OK]
 - hevc_mc.unweighted_pred   [OK]
 - hevc_mc.qpel              [OK]
 - hevc_mc.epel              [OK]
 - hevc_mc.unweighted_pred   [OK]

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 18:36:35 +08:00
openvela-robot 4fdf0435db ffplay: Fix usage of private lavfi API
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:36:19 +08:00
openvela-robot e3816421d1 build: Add a new component for H.264 parsing code
This fixes standalone compilation of the SVQ3 decoder, which had
incomplete dependencies related to H.264 parsing.
2026-04-20 18:36:17 +08:00
openvela-robot 42f601ee67 Merge commit '19d7667a81499d4357ec8e0851701e17c238e584'
* commit '19d7667a81499d4357ec8e0851701e17c238e584':
  vaapi_encode: Add support for writing arbitrary additional packed headers

Merged-by: Clément Bœsch <clement@stupeflix.com>
2026-04-20 18:36:12 +08:00
openvela-robot ace082bddc lavc/mediacodecdec_h264: add missing NAL headers to SPS/PPS buffers
Fixes a regression introduced by 0cd5e281df.
2026-04-20 18:35:54 +08:00
openvela-robot 680833b5b6 ffv1: Remove version 2 and mark version 3 as non-experimental
The encoder produces bitstream compatible with the current specification
and version 2 is set as reserved (non-standardizable).
2026-04-20 18:35:51 +08:00
openvela-robot 7b6e356c3d fate/webp : add test for lossy compression.
the result of ffmpeg decoding is binary exact with the yuv output of
official decoder (dwebp)

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 18:35:48 +08:00
openvela-robot e7fa81da8e avconv: move flushing the queued frames to configure_filtergraph()
This is a more appropriate place for it, and will also be useful in the
following commit.
2026-04-20 18:35:45 +08:00
openvela-robot ad72085f2f Merge commit 'c5fd4b50610f62cbb3baa4f4108139363128dea1'
* commit 'c5fd4b50610f62cbb3baa4f4108139363128dea1':
  build: Simplify postprocessing of linker version script files

Merged-by: Clément Bœsch <u@pkh.me>
2026-04-20 18:35:39 +08:00
openvela-robot a3f233b587 pixdesc: Add aliases to SMPTE color properties
Drop ST from names and symbols, it does not add anything distinctive or
descriptive.
2026-04-20 18:35:37 +08:00
openvela-robot 0c88e0764f fate/exr : add tests for file with half and float channels
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:35:28 +08:00
Mark Thompson e5c01c6005 vaapi_encode: Maintain a pool of bitstream output buffers
Previously we would allocate a new one for every frame.  This instead
maintains an AVBufferPool of them to use as-needed.

Also makes the maximum size of an output buffer adapt to the frame
size - the fixed upper bound was a bit too easy to hit when encoding
large pictures at high quality.
2026-04-20 18:35:15 +08:00
openvela-robot a25f8c83cd avconv: Remove hw_device_ctx output filter reinit hack
Not needed any more because we no longer have any useful case which
will reinitialise with hardware frames here.
2026-04-20 18:35:15 +08:00
openvela-robot f2c1f5bced ffmpeg: do not use deprecated AVSubtitleRect.pict 2026-04-20 18:34:35 +08:00
openvela-robot 299a293793 avconv: factor out initializing stream parameters for encoding
Setting the filter input parameters is moved to init_input_stream(),
so that it is done before the decoder is opened, potentially overwriting
the information from avformat_find_stream_info() with less accurate
data.

This commit temporarily disables QSV transcoding with hw frames. The
functionality will be re-added in the following commits.
2026-04-20 18:34:33 +08:00
openvela-robot bddcb533d0 Merge commit 'c0f4c7db9fea1c07d290a298b8db858b7ceed96d'
* commit 'c0f4c7db9fea1c07d290a298b8db858b7ceed96d':
  configure: move the hardware accel libs' entries in the help text

Merged-by: Clément Bœsch <u@pkh.me>
2026-04-20 18:34:26 +08:00
openvela-robot 1d6ec89e4d avconv: explicitly postpone writing the header until all streams are initialized
This should have no practical effect for now, but will make a difference
in the following commits.
2026-04-20 18:34:24 +08:00
openvela-robot 347549d03c Merge commit 'db7968bff4851c2be79b15b2cb2ae747424d2fca'
* commit 'db7968bff4851c2be79b15b2cb2ae747424d2fca':
  avio: Allow custom IO users to get labels for the output bytestream

Merged-by: Matthieu Bouron <matthieu.bouron@stupeflix.com>
2026-04-20 18:34:00 +08:00
openvela-robot 82067d2aaa h264: Eliminate unused but set variable
libavcodec/h264_slice.c:1384:9: warning: variable 'droppable' set but not used
2026-04-20 18:33:57 +08:00
openvela-robot 9aa17b80d6 avformat/mpegts: include stream type for aac
this removes the need to probe to discover aac streams
inside mpegts containers, thus speeding up initial playback.

Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:33:06 +08:00
openvela-robot 0d62b1c12f lavc: allow using AVCodecContext.hw_frames_ctx for decoding
For now it will only be used by the default get_buffer2 callback for
allocating hw frames.
2026-04-20 18:33:03 +08:00
openvela-robot 064c30a0db Merge commit '5c31eaa9998b2185e0aa04d11adff128498dc14a'
* commit '5c31eaa9998b2185e0aa04d11adff128498dc14a':
  Remove unnecessary get_bits.h #includes and add missing headers where needed.

Merged-by: Clément Bœsch <clement@stupeflix.com>
2026-04-20 18:33:00 +08:00
openvela-robot 6a79eb573c truemotion2rt: Use ff_set_dimensions 2026-04-20 18:32:57 +08:00
openvela-robot c078c0c40f Merge commit '015c2d923902fcd562571993eaf1231ce388c7f0'
* commit '015c2d923902fcd562571993eaf1231ce388c7f0':
  libopencore-amr: Fix ff_dlog()/av_log() invocations

The log changed in our tree in 4a28962454
is kept as is since it's the correct thing to do (the log mentions what
the first byte *was*, so it's refering to the source packet, not the
encoded bitstream).

Merged-by: Clément Bœsch <clement@stupeflix.com>
2026-04-20 18:32:52 +08:00
openvela-robot 0950ce9ff8 pixdesc: Add new SMPTE 431, 432, and 2085 color properties
Appeared in H.264 2016/02.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 18:32:50 +08:00
openvela-robot 1c3c3b36e2 Merge commit '0f40c9098498ad90dbbd2380eb4269015e84bde4'
* commit '0f40c9098498ad90dbbd2380eb4269015e84bde4':
  Drop pointless assert.h #includes

Merged-by: Clément Bœsch <clement@stupeflix.com>
2026-04-20 18:32:47 +08:00
openvela-robot ce0d040e87 pixfmt: Add ARIB STD-B76 color transfer characteristic
Adding hybrid log-gamma (https://en.wikipedia.org/wiki/Hybrid_Log-Gamma)
based on the standardization in ARIB STD-B67:
http://www.arib.or.jp/english/html/overview/doc/2-STD-B67v1_0.pdf

The choice of enum value of 18 is consistent with HEVC:
http://phenix.it-sudparis.eu/jct/doc_end_user/current_document.php?id=10481

And also with latest proposal for color format in mkv:
https://mailarchive.ietf.org/arch/search/?email_list=cellar&gbt=1&q=Colour+Format+proposal

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 18:32:45 +08:00
openvela-robot adb6eaa2ac Merge commit '5b1409c75563b4a3aca113c34d09e3b5442de47f'
* commit '5b1409c75563b4a3aca113c34d09e3b5442de47f':
  fate: Add test for MSS1

Test was already present, see 849e55e58e.

The merge removes the audio decoding present in our version and
simplifies the rules.

Merged-by: Clément Bœsch <clement@stupeflix.com>
2026-04-20 18:32:12 +08:00
openvela-robot c823b34eb5 avconv: add a function for determining whether a filtergraph is simple
This makes the code easier to read.
2026-04-20 18:32:09 +08:00
openvela-robot 61e4c0c792 Merge commit '2e5bde956519ae19cedfa482e199518e495bcaf5'
* commit '2e5bde956519ae19cedfa482e199518e495bcaf5':
  h264: eliminate max_contexts

This commit is a noop as max_contexts can change and mismatch the
nb_slice_ctx (see 507b01f899).

The file in the Ticket is not decodable anymore, so it was not possible
to check if that code path was triggerable some way or another, or even
test a different fix.

Merged-by: Clément Bœsch <clement@stupeflix.com>
2026-04-20 18:32:02 +08:00
openvela-robot a33909cc8b h264: pass a H2645NAL to slice header decoding
Replace the decoder-global nal_unit_type/nal_ref_idc variables with the
per-NAL ones. The decoder-global ones still cannot be removed because
they are used by hwaccels.
2026-04-20 18:31:58 +08:00
openvela-robot c20ab98e31 swresample/x86: add support for exact_rational
phase_shift and phase_mask is removed
generally exact_rational=on is faster than exact_rational=off

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2026-04-20 18:31:53 +08:00
openvela-robot 62743edefd Add MagicYUV decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 18:31:50 +08:00
openvela-robot aa69bb6376 Merge commit '728d90a0c1973661a9e73da697bf4f90c9d19577'
* commit '728d90a0c1973661a9e73da697bf4f90c9d19577':
  h264: decouple h264_sei from the h264 decoder

Main changes:

- SEI decoding doesn't have access to the debug flag in the codec context so a
  few logging are dropped.

- naming of quincunx_sampling_flag and frame_packing_arrangement_type are kept
  as they are in FFmpeg instead of respectively quincunx_subsampling and
  arrangement_type used in Libav because the former match the specifications.

- don't reset the x264 build info once read in order to fix
  fate-h264-lossless (change by Hendrik)

- H264Context.has_recovery_point and deprecated
  AVCodecContext.dtg_active_format are set after ff_h264_sei_decode()
  based on the SEI state since ff_h264_sei_decode() doesn't have access
  to H264Context anymore.

- frame_packing_arrangement_type is not checked against <= 0 in
  decode_postinit() since it is always read as a positive value with
  get_bits(). This fixes a -Wtype-limits warning by GCC spotted by
  Michael.

Side Notes:

- tested that ffprobe on the file from ticket #3652 still returns 4
  keyframes
- tested that playback from ticket #3063 still works

Merged-by: Clément Bœsch <clement@stupeflix.com>
Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
2026-04-20 18:31:31 +08:00
openvela-robot 113e36ca98 ffv1: Error out on unsupported format
Transparency is supported only by YUV and within specific bit depths.
2026-04-20 18:31:28 +08:00
openvela-robot 1a91034674 avcodec/snow: Remove unused function
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:31:25 +08:00
openvela-robot c22899c2bd checkasm: Add tests for h264 idct
The tests are inspired by similar tests for vp9 by
Ronald Bultje.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 18:31:23 +08:00
openvela-robot 204f4cf376 fate/h264: add test for ticket #631 2026-04-20 18:31:19 +08:00
openvela-robot ca797ea832 h264: Support AV_PKT_DATA_NEW_EXTRADATA 2026-04-20 18:31:17 +08:00
openvela-robot d165d30c75 lavf/utils: fix timestamp trace log in estimate_timings() function
Use the correct timebase, also replace "stream" with "format" in the
context of the format.
2026-04-20 18:31:12 +08:00
openvela-robot a74a6e617d h264: Drop unused function check_opcodes() 2026-04-20 18:31:09 +08:00
openvela-robot 2b686e0773 rtpenc: packetizer for VP9 RTP payload format (draft v2) 2026-04-20 18:31:05 +08:00
openvela-robot 2f9333386b pixdesc: Use C99 array to list color properties names 2026-04-20 18:31:02 +08:00
openvela-robot 7a7d88aa89 lavc/vda_h264: fixes compilation after 1534ef87 2026-04-20 18:30:58 +08:00
openvela-robot b8b53ac115 h264: start splitting decode_slice_header()
That function is currently very long and entangles bitstream parsing and
decoder configuration. This makes the code much harder to read than
necessary.

Begin splitting the code that configures the decoder state based on the
slice header information from the parsing of the slice header.
2026-04-20 18:30:55 +08:00
openvela-robot ac769b437b avcodec/sheervideo: fix predictions for c82p format
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 18:30:47 +08:00
openvela-robot 1a23197575 vaapi_h264: Add support for SEI messages
Send buffering_period and pic_timing messages when in modes
targetting bitrate.  Also adds NAL HRD parameters to VUI.
2026-04-20 18:30:44 +08:00
Mark Thompson c94eb0d908 vaapi_encode: Add support for writing arbitrary additional packed headers 2026-04-20 18:30:42 +08:00
openvela-robot 608e6785b1 avutil/x86util: move haddps sse emulation from showcqt
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 18:30:40 +08:00
openvela-robot 621bf0dcf8 dvbsub_parser: Add missing mem.h #include 2026-04-20 18:30:38 +08:00
openvela-robot 7d62d6b450 avformat/rawdec: Fix avg_framerate for h264
The framerate is 25 which is a fixed default and is wrong undo the 1 line
change which caused this regression
Only the avg_frame rate setting is removed
The timebase update is not done as there was a objection (see ML)
Fixes Ticket 5444

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:30:22 +08:00
openvela-robot 3779443de7 Remove unnecessary get_bits.h #includes 2026-04-20 18:30:18 +08:00
openvela-robot 998862b5e6 avformat/mpegts: Do not trust BSSD descriptor, it is sometimes not an S302M stream
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:30:14 +08:00
openvela-robot 7322628e43 avconv: Do not copy extradata if source buffer is empty
Fixes clang-usan runtime error "null pointer passed as argument 2,
which is declared to never be null" while streamcopying.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 18:30:11 +08:00
openvela-robot 95164158a7 Seperate x264rgb encoder and only enable when its actually supported
This avoids enabling and building the x264rgb encoder when its actually not supported and
thus would not work

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:30:07 +08:00
openvela-robot 6471e7ece4 vp9: Return the correct size when decoding a superframe
According to avcodec.h, avcodec_decode_video2 should return the number of
bytes used if a frame was decoded.

The current implementation returns size - used size of all the subframes.
This fixes the VLC's bug https://trac.videolan.org/vlc/ticket/16836.

The superframe is always fully consumed.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2026-04-20 18:30:04 +08:00
openvela-robot f8296eceb3 avcodec/mips/h264qpel_mmi.c: Version 2 of the optimizations for loongson mmi
1. no longer use the register names directly and optimized code format
2. to be compatible with O32, specify type of address variable with mips_reg and handle the address variable with PTR_ operator
3. use uld and mtc1 to workaround cpu 3A2000 gslwlc1 bug (gslwlc1 instruction extension bug in O32 ABI)
4. h264qpel use hepldsp optimizations

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:29:57 +08:00
openvela-robot 9e0e2a7014 build: Only enable symbol reduction if the compiler does proper DCE
With compilers that do not support proper dead code elimination, like
Sun C 5.12, linking fails due to missing references to unavailable,
but also unused, symbols.

Bug-Id: 895
2026-04-20 18:29:54 +08:00
openvela-robot d48446695f avfilter/vf_fieldhint: Reorder operation to prevent hypothetical integer overflow
Fixes CID1355110

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:29:51 +08:00
openvela-robot 997925ae0d build: Print a message when generating version scripts 2026-04-20 18:29:48 +08:00
openvela-robot 104a80bb08 fate: add aemphasis test
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:29:45 +08:00
openvela-robot 9aab67300f Drop unnecessary libavutil/x86/asm.h #includes 2026-04-20 18:29:42 +08:00
openvela-robot 329adda5c9 avcodec/proresdec2: Add support for grayscale videos
Signed-off-by: Håvard Espeland <espeland@mixedrealities.no>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:29:39 +08:00
openvela-robot 21a6a5dbb7 ac3: Check the array bound before dereferencing
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 18:29:36 +08:00
openvela-robot 9120e63adf Merge commit '44d16df413878588659dd8901bba016b5a869fd1'
* commit '44d16df413878588659dd8901bba016b5a869fd1':
  h264_parser: eliminate H264SliceContext usage

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2026-04-20 18:29:33 +08:00
openvela-robot d84c9d98af build: Ignore generated mapfile and remove it on distclean 2026-04-20 18:29:30 +08:00
openvela-robot bb7a7de878 avcodec/dca: move EXSS sampling frequency arrays to dca.c
Avoids unwanted parser dependency on dcadata.

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 18:29:27 +08:00
openvela-robot b3d6b2d184 lavc: handle hw_frames_ctx where necessary
avcodec_copy_context() didn't handle hw_frames_ctx references correctly
which could cause crashes.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 18:29:24 +08:00
openvela-robot 6e957319a7 lavc/mediacodec: factorize static fields initialization 2026-04-20 18:29:21 +08:00
openvela-robot 117250bda4 golomb: Give svq3_get_se_golomb()/svq3_get_ue_golomb() better names 2026-04-20 18:29:18 +08:00
openvela-robot e4c5a3cb16 avcodec/dca_exss: prepare to be called from parser context
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 18:29:15 +08:00
openvela-robot 57e3b102d7 fate: More fine-grained dependencies for voice codec tests 2026-04-20 18:29:12 +08:00
openvela-robot 88a0ce5222 avfilter/af_hdcd: Replace complexer expression by litteral constant
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:29:09 +08:00
openvela-robot d3876d2195 avcodec: Bump micro version after changing public JPEG 2000 defines 2026-04-20 18:29:06 +08:00
openvela-robot fb2c96297b libavutil/opencl: fixed uninitialized var warning
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:29:03 +08:00
openvela-robot 5106c5f5ac avfiltergraph: check the query_formats() return value 2026-04-20 18:29:00 +08:00
openvela-robot faf12dd37b avcodec/truemotion2rt: also export key frame info
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 18:28:57 +08:00
openvela-robot a3f3bfbbf8 mp3: Make the extrasize explicit
Initialize the bit buffer with the correct size (amount of bits that will
be read) instead of relying on the bitstream reader overreading the
correct values.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2026-04-20 18:28:54 +08:00
openvela-robot cdaed97bf5 avcodec/iff: mention RGB8/RGBN decoder
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:28:51 +08:00
openvela-robot 7be5ff5a3b avconv: stop using AVStream.codec
It is now only used by the av_parser_change() call during streamcopy, so
allocate a special AVCodecContext instance for this case. This instance
should go away when the new parser API is finished.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2026-04-20 18:28:48 +08:00
openvela-robot aee61a4db0 avcodec/iff: add support for ANBR files
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 18:28:30 +08:00
openvela-robot c829d78cdc mov: Print reason of loci parsing failure
Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 18:28:25 +08:00
openvela-robot ab0549f3df avfilter: add loudnorm
Signed-off-by: Kyle Swanson <k@ylo.ph>
2026-04-20 18:28:22 +08:00
openvela-robot 63674e41fe movenc: Add a missed const
This was missed in e1eb0fc960, when ff_interleaved_peek was
changed to include const during the evolution of the patch.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 18:28:19 +08:00
openvela-robot 96c7f6810b avcodec/iff: scala anim32 & anim16 decompression
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 18:28:16 +08:00
openvela-robot 7fab1ff87c avio: Allow custom IO users to get labels for the output bytestream
This allows callers with avio write callbacks to get the bytestream
positions that correspond to keyframes, suitable for live streaming.

In the simplest form, a caller could expect that a header is written
to the bytestream during the avformat_write_header, and the data
output to the avio context during e.g. av_write_frame corresponds
exactly to the current packet passed in.

When combined with av_interleaved_write_frame, and with muxers that
do buffering (most muxers that do some sort of fragmenting or
clustering), the mapping from input data to bytestream positions
is nontrivial.

This allows callers to get directly information about what part
of the bytestream is what, without having to resort to assumptions
about the muxer behaviour.

One keyframe/fragment/block can still be split into multiple (if
they are larger than the aviocontext buffer), which would call
the callback with e.g. AVIO_DATA_MARKER_SYNC_POINT, followed by
AVIO_DATA_MARKER_UNKNOWN for the second time it is called with
the following data.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 18:28:13 +08:00
openvela-robot c45f7ec164 avformat/utils: Check negative bps before shifting in ff_get_pcm_codec_id()
Fixes: undefined shift.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:28:10 +08:00
openvela-robot 2d11ad7373 lavf: Raw G.729 demuxer
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2026-04-20 18:28:08 +08:00
openvela-robot 1cb0ff5513 h2645_parse: support badly muxed mp4 streams
Some streams contain an additional AnnexB NAL inside the mp4/nalff NALU.
This commonly occurs in interlaced streams where both fields are packed
into the same MP4 NAL with an AnnexB startcode in between.

Port handling of this format from the previous h264 nal handling.

Fixes trac #5529
2026-04-20 18:28:00 +08:00
openvela-robot a27785d570 tools: Port to codec parameters API 2026-04-20 18:27:57 +08:00
openvela-robot d1e74fb8fa avcodec/iff: fix artifacts with uncompressed ham ANIMs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 18:27:54 +08:00
openvela-robot 4a5bcb39c1 hwcontext: add a dxva2 implementation 2026-04-20 18:27:52 +08:00
openvela-robot e2ae58aa7a ffmpeg: Check that r_frame_rate is set before attempting to use it
Avoids unexpected occurance and dependency on NaN behavior and divisions by 0

Testcase: fate-lavf-fate-avi_cram

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:27:48 +08:00
openvela-robot 3394ade808 avpacket: fix setting AVPacket.data in av_packet_ref()
The data field does not necessarily point to the beginning of the
underlying AVBuffer.

CC: libav-stable@libav.org
2026-04-20 18:27:45 +08:00
openvela-robot ffcb491d53 swresample/arm: add ff_resample_common_apply_filter_{x4,x8}_{float,s16}_neon 2026-04-20 18:27:41 +08:00
openvela-robot 01f32067af Split global .gitignore file into per-directory files 2026-04-20 18:27:38 +08:00
openvela-robot 3ddfa33b4a Merge commit '92fdea37477b5a2d1329e5ef0773e24473fa8f12'
These are all trivial to merge.

* commit '92fdea37477b5a2d1329e5ef0773e24473fa8f12':
  vaapi_h265: Add -qp option, use it to replace use of -global_quality
  vaapi_h265: Add constant-bitrate encode support
  vaapi_h264: Add encode quality option (for quality-speed tradeoff)
  vaapi_h264: Add -qp option, use it to replace use of -global_quality
  vaapi_encode: Add support for codec-local options
  vaapi_h264: Add constant-bitrate encode support
  vaapi_encode: Refactor slightly to allow easier setting of global options

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2026-04-20 18:27:21 +08:00
openvela-robot 8f19e0b43f avcodec/nvenc: Write buffPeriod/picTime SEI in both CBR modes 2026-04-20 18:27:10 +08:00
openvela-robot 22a58e143c Reduce the scope of some variables
This avoids unused variable warnings after the next version bump.
Also drop a trace level av_log() call that is in the way.
2026-04-20 18:27:07 +08:00
openvela-robot 6bd7066bd5 vf_colorspace: add floyd-steinberg dithering option to full conversion. 2026-04-20 18:26:54 +08:00
openvela-robot 2e4d1927c6 simple_idct_template: Fix strict aliasing violation
This fixes fate-wmv8-intrax8 in certain configurations, e.g.
gcc 4.4.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 18:26:47 +08:00
openvela-robot 9f83e8444b Merge commit '104c804bcaac24b52eb51ed17df2fb311e6ae73e'
* commit '104c804bcaac24b52eb51ed17df2fb311e6ae73e':
  lavc: VAAPI encode common infrastructure

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2026-04-20 18:26:19 +08:00
openvela-robot e26ea32be7 lavd/avfoundation: use AVCodecParameters
Fixes "Could not find codec parameters for stream" error (#5494)

Signed-off-by: Rick Kern <kernrj@gmail.com>
2026-04-20 18:26:04 +08:00
openvela-robot 64cc4c60e2 configure: Document --enable-libfontconfig 2026-04-20 18:26:01 +08:00
openvela-robot a7893933ba avcodec/hevc_parser: fix packet_split function name
Fixes compilation of hevc_parser without hevc_decoder

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 18:25:58 +08:00
openvela-robot 0e2b8d7d70 vf_frei0r: Drop overly verbose and broken debug output 2026-04-20 18:25:55 +08:00
openvela-robot 7038d20a39 lavc/videotoolboxenc: Use shared pixel buffer pool
This reduces the chance of a memcpy in the media server.

Signed-off-by: Rick Kern <kernrj@gmail.com>
2026-04-20 18:25:51 +08:00
openvela-robot 48a75b93c8 Remove unnecessary get_bits.h #includes and add missing headers where needed.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2026-04-20 18:25:48 +08:00
openvela-robot 2409295764 avcodec/h264: Put the removed SPS handling code back
reverts one hunk from 7966ddfc0b
The new code from 7966ddfc0b only covers extradata based SPS

Fixes: ffplay -ss 13 58af5798-fa2c-42a2-997d-dc8e49de2d8a.flv

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:25:44 +08:00
openvela-robot e079a26f9e Drop pointless assert.h #includes 2026-04-20 18:25:41 +08:00
openvela-robot d1f22d9cb0 wmalossless: allow calling madd_int16
This is done by actually handling the "prev_values" in the cascaded LMS data
as if it were int16_t, thus requiring switching at various locations the
computations.
2026-04-20 18:25:16 +08:00
openvela-robot 9bf34ac9e1 mpegts: Validate the SL Packet Header Configuration
timeStampLength, OCRLength and AU_Length have well specified upper
boundaries.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 18:25:14 +08:00
openvela-robot e95d840953 avformat: add Wideband Single-bit Data (WSD) demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 18:25:08 +08:00
openvela-robot 9d71b57864 Revert "mmaldec: autodetect by default" since it breaks linking on systems without mmal libraries
This reverts commit 33ac77e850.
2026-04-20 18:25:05 +08:00
openvela-robot dd986721bc configure: Add pixelutils dependency for framerate filter. 2026-04-20 18:25:02 +08:00
openvela-robot 4e9fc63332 testprogs: Mark some tables as static const 2026-04-20 18:24:59 +08:00
openvela-robot fd587ff42d qsv: Fix wrong ticks_per_frame for H.264
For H.264 stream ticks_per_frame should be 2, as per the docs.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2026-04-20 18:24:44 +08:00
openvela-robot 167d41ac95 fate: Add test for MSS1 2026-04-20 18:24:41 +08:00
openvela-robot 8a17dbc855 avcodec/h264: Only recover from reference pictures
Fixes spec compliance
Fixes Ticket5346

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:24:38 +08:00
openvela-robot 23c8323b80 dds: Drop gray-alpha swapping
The original sample was generated with invalid software.
2026-04-20 18:24:35 +08:00
openvela-robot 5e45539259 avformat/mux: Check that deinit is set before calling it
Fixes null pointer dereference

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:24:11 +08:00
openvela-robot 2559582ff8 h264_parser: switch to h2645_parse for NAL unescaping
Remove now unused ff_h264_decode_nal().
2026-04-20 18:24:06 +08:00
openvela-robot 3313014da7 fate: Add test for ticket 1833 (Ogg/Vorbis Chapters)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:23:42 +08:00
openvela-robot 8c830e61a3 ape: Avoid undefined behaviour
Avoid the clang warning

"warning: shifting a negative signed value is undefined"
2026-04-20 18:23:39 +08:00
openvela-robot 60b59a3639 Merge commit '564b4591bbe223bdc5f36a1131eaef103f23f5d0'
* commit '564b4591bbe223bdc5f36a1131eaef103f23f5d0':
  opt: Add av_opt_copy()

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2026-04-20 18:23:36 +08:00
openvela-robot 9570f3ce35 libxvid: Create extradata in init using a dummy frame
Modifying global header extradata in encode_frame is an API violation
and only happens to work currently because mov writes its header
at the end of the file.

Heavily based off of a patch from 2012 by Nicolas George.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2026-04-20 18:23:33 +08:00
openvela-robot 9e0b7ea045 Merge commit '933dec0e29ec4d2cb83474279a6c52d62fdb7310'
* commit '933dec0e29ec4d2cb83474279a6c52d62fdb7310':
  file: Add an option for following a file that is being written

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2026-04-20 18:23:29 +08:00
openvela-robot 62edc67c52 Generate the lists of enabled protocols/bsfs from configure. 2026-04-20 18:23:26 +08:00
openvela-robot af081762ca lavfi/af_hdcd: Implement high definition audio cd filtering.
Fixes ticket #4441.
2026-04-20 18:22:57 +08:00
Mark Thompson ebf5b7292b vaapi_encode: Add support for codec-local options
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 18:22:54 +08:00
openvela-robot 759c15b670 vaapi_encode: Refactor slightly to allow easier setting of global options
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 18:22:54 +08:00
openvela-robot 74a6f35028 Merge commit 'ba357e98691ee4fe1a503b8830c0050be4127475'
* commit 'ba357e98691ee4fe1a503b8830c0050be4127475':
  avprobe: switch to codecpar

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2026-04-20 18:21:57 +08:00
openvela-robot 008d138620 libavcodec: Add H264/MPEG4 encoders based on OpenMAX IL
Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 18:21:54 +08:00
openvela-robot f992e73fe7 Merge commit '9897d9f4e074cdc6c7f2409885ddefe300f18dc7'
* commit '9897d9f4e074cdc6c7f2409885ddefe300f18dc7':
  examples/output: convert to codecpar

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2026-04-20 18:21:33 +08:00
openvela-robot 5bd9acde3c testprogs: Add missing libm.h includes
This fixes building on MSVC 2010 and 2012 after d12b5b2f13.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 18:21:30 +08:00
openvela-robot 060f2fdc0b doc/filters: add drawtext example
Show example which draws text at a random position, and switches positions every 30 seconds

Signed-off-by: Mulvya <mulvya@gmail.com>
Signed-off-by: Lou Logan <lou@lrcd.com>
2026-04-20 18:21:20 +08:00
openvela-robot 40e64ae10a configure: cosmetics: Drop pointless end-of-line semicolons 2026-04-20 18:21:17 +08:00
openvela-robot 8756340650 avformat: add aix demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2026-04-20 18:21:14 +08:00
openvela-robot 6c2461cd1d dds: Simplify postprocessing check 2026-04-20 18:21:11 +08:00
openvela-robot 8759c12d0d libavcodec/exr : cosmetic change 2026-04-20 18:21:07 +08:00
openvela-robot d6ccb983aa nvenc_h264: Fix name of private AVClass 2026-04-20 18:21:04 +08:00
openvela-robot a68a4a0559 AAC encoder: fix initialization of minsf
In some situations (exactly zeroed DC coeffs) minsf would
be initialized with garbage
2026-04-20 18:21:01 +08:00
openvela-robot 6ab56b1155 matroska: Write the field order information
And bump the document version to 4.
2026-04-20 18:20:58 +08:00
openvela-robot 5ced599705 lavu: improve documentation of some AVFrame functions 2026-04-20 18:20:52 +08:00
openvela-robot 8bf53e94f7 avconv: Drop an unused variable 2026-04-20 18:20:49 +08:00
openvela-robot 3bf4824d7c swscale: Deprecate vector functions which are unused outside swscale
There are no known users of these functions within debian
It should be thus possible to remove these functions without recommandition of a
replacement

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:20:30 +08:00
openvela-robot 9e074568c1 matroska: Support interlaced content correctly
The matroska specification now has two elements for it.
2026-04-20 18:20:28 +08:00
openvela-robot 9567643710 fate: Add filter-metadata-cropdetect
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 18:20:24 +08:00
openvela-robot 0a365928c9 h264: Add missing ff_ prefix to internally visible h264_init_dequant_tables() 2026-04-20 18:20:22 +08:00
openvela-robot 8cee2b3979 avcodec/nvenc: Generate AUD NAL units for better compatiblity 2026-04-20 18:20:18 +08:00
Mark Thompson 9f4b71b3a0 lavc: VAAPI encode common infrastructure
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 18:20:16 +08:00