Commit Graph

2364 Commits

Author SHA1 Message Date
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
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
foo86 b8068923ef avcodec/dca: support EXSS marker in avpriv_dca_convert_bitstream()
This is now required by dcadec_decode_frame(). All remaining users of
avpriv_dca_convert_bitstream() have been updated to expect EXSS marker.

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 18:29:59 +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