Commit Graph

4826 Commits

Author SHA1 Message Date
James Almer fc4383f61b avutil/stereo3d: add a new allocator function that returns a size
av_stereo3d_alloc() is not useful in scenarios where you need to know the
runtime size of AVStereo3D.

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 20:51:26 +08:00
Cosmin Stejerean 620f8c66be avutil/dovi_meta: add fields for ext_mapping_idc
Co-authored-by: Niklas Haas <git@haasn.dev>
Signed-off-by: Niklas Haas <git@haasn.dev>
2026-04-20 20:51:24 +08:00
openvela-robot 0986b39270 MAINTAINERS: Update the entries for the release maintainer for FFmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 20:51:15 +08:00
openvela-robot 328953e3c5 ffmpeg:fix build warning in sim/m64
Signed-off-by: fangyibo <fangyibo@xiaomi.com>
2026-04-20 20:51:11 +08:00
Derek Buitenhuis 8a9509ea18 avutil/stereo3d: Fill out stereo info provided by Vision Pro files
Based on what is in the files themselves, and what the API provides
to users.

URLs:
  * https://developer.apple.com/documentation/videotoolbox/kvtcompressionpropertykey_heroeye
  * https://developer.apple.com/documentation/videotoolbox/kvtcompressionpropertykey_stereocamerabaseline
  * https://developer.apple.com/documentation/videotoolbox/kvtcompressionpropertykey_horizontaldisparityadjustment
  * https://developer.apple.com/documentation/coremedia/kcmformatdescriptionextension_horizontalfieldofview

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2026-04-20 20:51:07 +08:00
Derek Buitenhuis 9cf9dd641e avutil/spherical: Add more spherical types
These originate from the Apple Vision Pro, and are documented here:

    https://developer.apple.com/documentation/coremedia/cmprojectiontype

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2026-04-20 20:51:07 +08:00
James Almer fb13c4545f avutil: rename av_mod_uintp2 to av_zero_extend
It's more descriptive of what it does.

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 20:51:05 +08:00
Lynne a711dab81a lavc: bump minor and add APIchanges entry for new USAC profile 2026-04-20 20:50:45 +08:00
openvela-robot 333b84b8d1 avcodec/h265_metadata: Add options to set width/height after crop
It's a common usecase to request a video size after crop. Before
this patch, user must know the video size before crop, then set
crop_right/crop_bottom accordingly. Since HEVC can have different
CTU size, it's not easy to get/deduce the video size before crop.
With the new width/height options, there is no such requirement.

Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
2026-04-20 20:50:43 +08:00
openvela-robot ee91b60ce0 audio:add nuttx_enc lastpkt for count latency
add nuttx_enc lastpkt for count latency

Signed-off-by: shipei <shipei@xiaomi.com>
2026-04-20 20:50:39 +08:00
openvela-robot 4c0f0ba0fb libavcodec/libxvid: code cleanup (replace magic numbers) 2026-04-20 20:50:36 +08:00
openvela-robot 09c5d5b854 FFMPEG: Fix the inaccurate pts value of offload recorder
Signed-off-by: renjianguang <renjianguang@xiaomi.com>
2026-04-20 20:50:32 +08:00
Lynne ae37357edc lavu: bump minor and add APIchanges entries for the new channel positions 2026-04-20 20:50:26 +08:00
openvela-robot 7b5d8cac3a libavcode/x86/vvc: change label to vvc_sad_16 to reflect block sizes
According to the VVC specification (section 8.5.1), the maximum width/height of a subblock passed for DMVR SAD is 16. This along with previous constraint requiring width * height >= 128 means that  8x16, 16x8, and 16x16 are the only allowed sizes. This re-labels vvc_sad_16_128 to vvc_sad_16 to reflect this and adds a comment about the block size constraints. There's no functionality change.
2026-04-20 20:50:15 +08:00
openvela-robot a9bd2a22c2 FFMPEG: Support opus offload encoding
Signed-off-by: renjianguang <renjianguang@xiaomi.com>
2026-04-20 20:50:03 +08:00
James Almer f6f486fe63 avutil/channel_layout: add a helper function to get the ambisonic order of a layout
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 20:49:55 +08:00
Haihao Xiang bd5971c4ef lavu/hwcontext_qsv: update AVQSVFramesContext to support dynamic frame pool
Add AVQSVFramesContext.info and update the description.

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2026-04-20 20:49:48 +08:00
openvela-robot a6d0ac50e3 lavc/vc1dsp: R-V V mspel_pixels
C908 X60
vc1dsp.avg_vc1_mspel_pixels_tab[0][0]_c            :  14.7 13.2
vc1dsp.avg_vc1_mspel_pixels_tab[0][0]_rvv_i32      :   2.5  2.2
vc1dsp.avg_vc1_mspel_pixels_tab[1][0]_c            :   3.7  3.5
vc1dsp.avg_vc1_mspel_pixels_tab[1][0]_rvv_i64      :   1.0  1.2
vc1dsp.put_vc1_mspel_pixels_tab[0][0]_c            :   9.0  8.0
vc1dsp.put_vc1_mspel_pixels_tab[0][0]_rvi          :   1.0  1.0
vc1dsp.put_vc1_mspel_pixels_tab[1][0]_c            :   2.5  2.2
vc1dsp.put_vc1_mspel_pixels_tab[1][0]_rvi          :   0.5  0.5

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2026-04-20 20:49:43 +08:00
openvela-robot 4253848f6b FFMPEG: add dsp reboot event notify
Signed-off-by: yangyalei <yangyalei@xiaomi.com>
2026-04-20 20:49:40 +08:00
openvela-robot a0557ef6a5 lavc/flacdsp: fix CPU requirement for 32-bit LPC 2026-04-20 20:49:36 +08:00
openvela-robot 34879f9974 bluelet: reset 'available' flag when audio path re-setup, avoid this flag is unknown
Signed-off-by: fangzhenwei <fangzhenwei@xiaomi.com>
2026-04-20 20:49:32 +08:00
openvela-robot dcf5811164 aacdec: restore arm32 dequantization optimizations
Unintentionally removed as part of 03cf10164578aed33f4d0cb5b69d63669c01a538.
Untested, but its assumed that unlike most of the old ARM code,
this one was still working.
2026-04-20 20:49:26 +08:00
openvela-robot b2154224c5 FFMPEG: add caller context for avfilter-graph-reconfig.
Signed-off-by: zhushiqshi <zhushiqshi@xiaomi.com>
2026-04-20 20:49:19 +08:00
Rémi Denis-Courmont 4dc6f92760 riscv: add Zvbb vector bit manipulation extension 2026-04-20 20:49:15 +08:00
openvela-robot c92e82adc1 lavc/vaapi_encode_av1: implement write_extra_header callback
This can be used to insert a metadata OBU to the stream later.

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2026-04-20 20:49:14 +08:00
openvela-robot ab3d02e4d0 FFMPEG: add additonal start for short data
When using offload path to play short audio, if the audio data cannot fill the buffer, it may not enter the start branch, so we need to start playing after draining the buffer.

Signed-off-by: jinxiuxu <jinxiuxu@xiaomi.com>
2026-04-20 20:49:10 +08:00
openvela-robot 9acee1cbfc avfilter/af_volume: Don't free options manually
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2026-04-20 20:49:06 +08:00
openvela-robot 81c68ca475 FFmpeg: bluelet muxer output poll_available duration for debug
Signed-off-by: shizhenghui <shizhenghui@xiaomi.com>
2026-04-20 20:49:02 +08:00
openvela-robot b405181bc9 lavu/riscv: fix build without <sys/hwprobe.h> 2026-04-20 20:48:58 +08:00
openvela-robot c22c375228 FFMPEG: add offload volume control
Signed-off-by: jinxiuxu <jinxiuxu@xiaomi.com>
2026-04-20 20:48:54 +08:00
openvela-robot e32eca295c avformat/file: fail for non-numerical arguments to pipe:
Before this patch, the implementation of pipe: inputs/outputs would
silently fall back to stdin/stdout for any argument not successfully
parsed by strtol().

This patch introduces an explicit error for any non-numerical arguments,
which should avoid user confusion as in #10977.

New behavior:

$ cat /tmp/video.mkv | ./ffmpeg -i pipe:aa -acodec copy -vcodec copy -f matroska pipe:1 | cat >/tmp/out.mkv

[pipe @ 0x5618c7bcf740] Non-numerical argument "aa" to pipe:
[in#0 @ 0x5618c7bced00] Error opening input: Invalid argument
Error opening input file pipe:aa.
Error opening input files: Invalid argument

Based on the patch of Nils Goroll <nils.goroll@uplex.de>.

Signed-off-by: Marton Balint <cus@passwd.hu>
2026-04-20 20:48:49 +08:00
openvela-robot dcb122c263 FFMPEG: change underflow log level from info to warning
Signed-off-by: jinxiuxu <jinxiuxu@xiaomi.com>
2026-04-20 20:48:45 +08:00
James Almer 44170e5f2e avutil/opt: add an unsigned option type
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 20:48:39 +08:00
openvela-robot 12df655bb3 avformat/mov: support SpatialAudioBox ambisonic layouts with arbitrary channel mapping
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 20:48:35 +08:00
openvela-robot 1bef6d7103 FFMPEG: adjust ioctrl sequence RESUME after ENQUEUE
Signed-off-by: hanqiyuan <hanqiyuan@xiaomi.com>
2026-04-20 20:48:31 +08:00
James Almer e771d35fe4 doc/APIchanges: fix date for the latest entry
And add the commit hash while at it.

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 20:48:25 +08:00
James Almer 2ea5463d04 avutil/opt: add support for children objects in av_opt_serialize
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 20:48:24 +08:00
James Almer 2f16e2d861 avcodec/hevcdec: export global side data in AVCodecContext
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 20:47:56 +08:00
James Almer 9954696a9e avutil/mastering_display_metadata: add a new allocator function that returns a size
av_mastering_display_metadata_alloc() is not useful in scenarios where you need to
know the runtime size of AVMasteringDisplayMetadata.

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 20:47:56 +08:00
James Almer e2988430fa avutil/version: bump minor after recent AVFrame API additions
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 20:47:56 +08:00
openvela-robot f61d8b5e47 avcodec/huffyuvdec: Don't zero unnecessarily
A decoder's private data has already been zeroed (apart from options)
before init is called.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2026-04-20 20:47:42 +08:00
openvela-robot 519c62b47c FFMPEG: switched to ch_layout for adevsink.
Signed-off-by: zhushiqshi <zhushiqshi@xiaomi.com>
2026-04-20 20:47:36 +08:00
Jan Ekström 238bcdec31 avutil/pix{desc,fmt}: add new matrix coefficients from H.273 v3
* SMPTE ST 2128 IPT-C2 defines the coefficients utilized in DoVi
  Profile 5. Profile 5 can thus now be represented in VUI as
  {AVCOL_RANGE_JPEG, AVCOL_PRI_BT2020, AVCOL_TRC_SMPTE2084,
   AVCOL_SPC_IPT_C2, AVCHROMA_LOC_LEFT} (although other chroma
  sample locations are allowed). AVCOL_TRC_SMPTE2084 should in
  this case be interpreted as 'PQ with reshaping'.
* YCgCo-Re and YCgCo-Ro define the bitexact YCgCo-R, where the
  number of bits added to a source RGB bit depth is 2 (i.e., even)
  and 1 (i.e., odd), respectively.
2026-04-20 20:47:26 +08:00
Niklas Haas c15fb26eae avutil/dovi_meta: add dolby vision extension blocks
As well as accessors plus a function for allocating this struct with
extension blocks,

Definitions generously taken from quietvoid/dovi_tool, which is
assembled as a collection of various patent fragments, as well as output
by the official Dolby Vision bitstream verifier tool.
2026-04-20 20:47:24 +08:00
quietvoid 12607606dc avutil/dovi_meta: add AVDOVIDataMapping.nlq_pivots
The NLQ pivots are not documented but should be present in the header
for profile 7 RPU format. It has been verified using Dolby's
verification toolkit.

Signed-off-by: quietvoid <tcChlisop0@gmail.com>
Signed-off-by: Niklas Haas <git@haasn.dev>
2026-04-20 20:47:24 +08:00
Nicolas Gaullier a1a57dbe5b avformat/demux: add duration_probesize AVOption
Yet another probesize used to get the durations when
estimate_timings_from_pts is required. It is aimed at users interested
in better durations probing for itself, or because using
avformat_find_stream_info indirectly and requiring exact values: for
concatdec for example, especially if streamcopying above it.
The current code is a performance trade-off that can fail to get video
stream durations in a scenario with high bitrates and buffering for
files ending cleanly (as opposed to live captures): the physical gap
between the last video packet and the last audio packet is very high in
such a case.

Default behaviour is unchanged: 250k up to 250k << 6 (step by step).
Setting this new option has two effects:
- override the maximum probesize (currently 250k << 6)
- reduce the number of steps to 1 instead of 6, this is to avoid
detecting the audio "too early" and failing to reach a video packet.
Even if a single audio stream duration is found but not the other
audio/video stream durations, there will be a retry, so at the end the
full user-overriden probesize will be used as expected by the user.

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
2026-04-20 20:47:22 +08:00
openvela-robot 4c77c353f0 avformat/mov: simplify the entry count overflow check in the keys atom
Suggested-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 20:47:19 +08:00
openvela-robot 0aa2c85b42 FFMPEG: add log when enqueue eos buffer
Signed-off-by: jinxiuxu <jinxiuxu@xiaomi.com>
2026-04-20 20:47:15 +08:00
Anton Khirnov 6f81e5f2f6 lavu/frame: add side data descriptors
They allow exporting extended information about side data types.
2026-04-20 20:47:02 +08:00
Michael Niedermayer e2e3665721 doc/APIchanges: Add 7.0 cut point
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-04-20 20:47:02 +08:00