Commit Graph

301 Commits

Author SHA1 Message Date
openvela-robot eb2ff9a710 Merge branch 'origin511' into sync511 2025-12-15 19:21:21 +08:00
openvela-robot 8558b33e99 ffmpeg/bluelet:add auto play option for a2dp device
Signed-off-by: fangzhenwei <fangzhenwei@xiaomi.com>
2025-12-15 19:21:16 +08:00
openvela-robot 27b7689f11 avcodec/mpegaudiodec_template: use unsigned shift in handle_crc()
Fixes: left shift of 192 by 24 places cannot be represented in type 'int'
Fixes: 49577/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MP1FLOAT_fuzzer-5205996678545408

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 7086491fa0eca4ad647b5c9fae6d07344cc44ec0)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2025-12-15 19:21:11 +08:00
openvela-robot 9706a0a182 FFMPEG: modify info of apb buffer when flushing.
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2025-12-15 19:21:05 +08:00
openvela-robot 621684d7d4 avcodec/pngdec: Fix APNG_DISPOSE_OP_BACKGROUND
APNG works with a single reference frame and an output frame.
According to the spec, decoding APNG works by decoding
the current IDAT/fdAT chunks (which decodes to a rectangular
subregion of the whole image region), followed by either
overwriting the region of the output frame with the newly
decoded data or by blending the newly decoded data with
the data from the reference frame onto the current subregion
of the output frame. The remainder of the output frame
is just copied from the reference frame.
Then the reference frame might be left untouched
(APNG_DISPOSE_OP_PREVIOUS), it might be replaced by the output
frame (APNG_DISPOSE_OP_NONE) or the rectangular subregion
corresponding to the just decoded frame has to be reset
to black (APNG_DISPOSE_OP_BACKGROUND).

The latter case is not handled correctly by our decoder:
It only performs resetting the rectangle in the reference frame
when decoding the next frame; and since commit
b593abda6c642cb0c3959752dd235c2faf66837f it does not reset
the reference frame permanently, but only temporarily (i.e.
it only affects decoding the frame after the frame with
APNG_DISPOSE_OP_BACKGROUND). This is a problem if the
frame after the APNG_DISPOSE_OP_BACKGROUND frame uses
APNG_DISPOSE_OP_PREVIOUS, because then the frame after
the APNG_DISPOSE_OP_PREVIOUS frame has an incorrect reference
frame. (If it is not followed by an APNG_DISPOSE_OP_PREVIOUS
frame, the decoder only keeps a reference to the output frame,
which is ok.)

This commit fixes this by being much closer to the spec
than the earlier code: Resetting the background is no longer
postponed until the next frame; instead it is applied to
the reference frame.

Fixes ticket #9602.

(For multithreaded decoding it was actually already broken
since commit 5663301560d77486c7f7c03c1aa5f542fab23c24.)

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-12-15 19:21:01 +08:00
openvela-robot 2b396ce6e4 FFmpeg/libavfilter: replace free with av_freep
Signed-off-by: Junbo Zheng <zhengjunbo1@xiaomi.com>
2025-12-15 19:20:56 +08:00
openvela-robot 712faeeddc configure: enable the av1_frame_split bsf for the av1 decoder
The BSF is required to make use of the AV1 decoder, thus configure
should also ensure it is built.
2025-12-15 19:20:50 +08:00
openvela-robot cbe52cabdb ffmpeg: add graph_has_pending_status api
Indicates whether graph ready for processing command

Signed-off-by: jihandong <jihandong@xiaomi.com>
2025-12-15 19:20:45 +08:00
openvela-robot 3c33b1bbb0 swresample/swresample: fill the correct buffer to print the output layout string
Signed-off-by: James Almer <jamrial@gmail.com>
2025-12-15 19:20:40 +08:00
openvela-robot 74fdb7b14f FFMPEG: Fix warning.
libavdevice/bluelet.c:234:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  234 |     int ret = ff_bluelet_connect(priv, nonblock);
      |     ^~~
libavdevice/bluelet.c: In function 'ff_bluelet_update_config':
libavdevice/bluelet.c:354:32: warning: format '%d' expects argument of type 'int', but argument 4 has type 'uint32_t' {aka 'long unsigned int'} [-Wformat=]
  354 |                 "channel_mode=%d:blocks=%d:subbands=%d:alloc_method=%d:bitpool=%d",
      |                               ~^
      |                                |
      |                                int
      |                               %ld
  355 |                 param.channel_mode, param.blocks, param.subbands, param.alloc_method, param.bitpool);
      |                 ~~~~~~~~~~~~~~~~~~
      |                      |
      |                      uint32_t {aka long unsigned int}
libavdevice/bluelet.c:354:42: warning: format '%d' expects argument of type 'int', but argument 5 has type 'uint32_t' {aka 'long unsigned int'} [-Wformat=]
  354 |                 "channel_mode=%d:blocks=%d:subbands=%d:alloc_method=%d:bitpool=%d",

Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2025-12-15 19:20:35 +08:00
openvela-robot 2903e0abe5 ffprobe: restore reporting error code for failed inputs
c11fb46731 led to a regression whereby the return code for missing
input or input probe is overridden by writer close return code and
hence not conveyed in the exit code.
2025-12-15 19:20:30 +08:00
openvela-robot 2bcf896f73 ffmpeg/bluelet:bluelet subscribe bt state topic
dependson:852685

Signed-off-by: fangzhenwei <fangzhenwei@xiaomi.com>
2025-12-15 19:20:25 +08:00
openvela-robot d2d45f530e ipfsgateway: Remove default gateway
A gateway can see everything, and we should not be shipping a hardcoded
default from a third party company; it's a security risk.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
(cherry picked from commit 412922cc6fa790897ef6bb2be5d6f9a5f030754d)
2025-12-15 19:20:09 +08:00
openvela-robot 44539e48ce external: move nuttx role files uppper to external 2025-12-15 19:20:04 +08:00
openvela-robot 82f47017ca avcodec/libspeexdec: Fix use of uninitialized value
Regression since 97d9a3293854eda84f05c22e2eaefae7406ac969.
Fixes Coverity issue #1503072.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
(cherry picked from commit eb608fd0b00424eacb4dc85f23227e186289fb48)
2025-12-15 19:19:59 +08:00
openvela-robot fe6b9fd448 FFMPEG: use MAX_URL_SIZE instead of PATH_MAX.
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2025-12-15 19:19:54 +08:00
openvela-robot 97374ccc05 avcodec/alac: don't fail if channels aren't set during init() when extradata is valid
The decoder is meant to use it as a fallback if the value in extradata is
invalid.

Regression since d199099be.

Signed-off-by: James Almer <jamrial@gmail.com>
2025-12-15 19:19:48 +08:00
openvela-robot 181c321e7f ffmpeg/bluelet:first check bluelet state before read buffer
Signed-off-by: fangzhenwei <fangzhenwei@xiaomi.com>
2025-12-15 19:19:43 +08:00
openvela-robot e557c19936 avcodec/ffv1dec: Fix AC_GOLOMB_RICE min size check
Found-by: mkver

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit f7d510b33ff33d2f5cb096017ee1c00f624cc138)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2025-12-15 19:19:37 +08:00
openvela-robot ac776c1934 src_movie_async: use av_asprintf instead
Signed-off-by: ligd <liguiding1@xiaomi.com>
2025-12-15 19:19:32 +08:00
openvela-robot f8eb279dd9 RELEASE_NOTES: Based on the version from 5.0
Name suggested by Leo Izen and Andreas Rheinhardt

LTS text suggested by Martijn van Beurden <mvanb1@gmail.com>

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2025-12-15 19:19:26 +08:00
openvela-robot 753f6b01fc FFMPEG: fix warning.
libavdevice/nuttx.c:232:39: warning: '%s' directive output may be truncated writing up to 96 bytes into a region of size 53 [-Wformat-truncation=]

Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2025-12-15 19:19:22 +08:00
openvela-robot 338262695c Update for 5.1
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2025-12-15 19:19:16 +08:00
openvela-robot eccd1e97e0 FFMPEG: clear data_queue when src_movie stopped and link eof.
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2025-12-15 19:19:11 +08:00
openvela-robot 3a2b05b898 ffmpeg: add option -isync
This is a per-file input option that adjusts an input's timestamps
with reference to another input, so that emitted packet timestamps
account for the difference between the start times of the two inputs.

Typical use case is to sync two or more live inputs such as from capture
devices. Both the target and reference input source timestamps should be
based on the same clock source.

If either input lacks starting timestamps, then no sync adjustment is made.
2025-12-15 19:19:06 +08:00
openvela-robot b2326a2f19 FFMPEG: add debug log.
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2025-12-15 19:19:01 +08:00
openvela-robot 0026bba0b4 avfilter/vf_xfade: add two more transitions 2025-12-15 19:18:50 +08:00
openvela-robot 4a5bdeb66a ffmpeg/bluelet:bluelet a2dp dec play/pause control
Signed-off-by: fangzhenwei <fangzhenwei@xiaomi.com>
2025-12-15 19:18:44 +08:00
openvela-robot 5488291e04 avfilter: add remap opencl filter 2025-12-15 19:18:38 +08:00
openvela-robot e881f3707f FFMPEG: add error handle in cache protocol
_url_close does't called when init_input failed in avformat_open_input.

Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2025-12-15 19:18:22 +08:00
openvela-robot 4ec7fdb7a7 avcodec/exrenc: add av_cold to some functions 2025-12-15 19:18:17 +08:00
openvela-robot e77f8a779b FFMPEG: use ffurl_read_complete to read 2K once in cache thread.
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2025-12-15 19:18:11 +08:00
openvela-robot eab56dfe77 avcodec/nvenc: add support for additional (10 bit) RGB pixel formats 2025-12-15 19:18:06 +08:00
openvela-robot c73cc89c79 streamselect: set EOF after parse map
Signed-off-by: ligd <liguiding1@xiaomi.com>
2025-12-15 19:18:01 +08:00
openvela-robot 1550ea0c1a get_bits: move check_marker() to mpegvideodec.h
It is only used by mpegvideo-based decoders - specifically mpeg12, intelh263,
ituh263, mpeg4video.
2025-12-15 19:17:55 +08:00
openvela-robot c3c5ba6b27 asink_adevsink: foward param to priv
Signed-off-by: ligd <liguiding1@xiaomi.com>
2025-12-15 19:17:50 +08:00
openvela-robot d8d3e3d470 avutil/wchar_filename: Make the header C++ compatible
When compiling decklink, this header is included from
a C++ file (albeit inside 'extern "C"') and this
causes compilation failures because of an implicit
void* -> char* conversion. So add an explicit cast.
Fixes ticket #9819.

Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-12-15 19:17:40 +08:00
openvela-robot 9aa376e760 FFMPEG: buffering datqmax frames and then start play.
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2025-12-15 19:17:33 +08:00
openvela-robot ff5955baf3 libavcodec/qsvenc_hevc: Use default value from MSDK to set bf.
Change the default value of "bf" for hevc_qsv to -1. 8 isn't the best
choice so let MSDK to decide the number of b frames.

Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2025-12-15 19:17:27 +08:00
openvela-robot 32a47c740d FFMPEG: add workaround when out.size == 0
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2025-12-15 19:17:22 +08:00
openvela-robot 93a2aadb1e avcodec/hcadec: Don't use GetBit-API for byte-aligned reads
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-12-15 19:17:15 +08:00
openvela-robot 6d787bbb77 FFmpeg: amovie_asrc clear dataqueue if outlinkwq EOF
Signed-off-by: jihandong <jihandong@xiaomi.com>
2025-12-15 19:17:09 +08:00
openvela-robot c81def24d2 doc/APIchanges: add missing marker for release 5.0 2025-12-15 19:16:54 +08:00
openvela-robot 6c579ebfb5 FFMPEG: adjust stop flow when pause.
1, in sink_movie, flush encoder, write_tailter when PAUSED to STOPPED.

Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2025-12-15 19:16:48 +08:00
openvela-robot 210d74da22 avformat/mov: Non overflowing ambisonic order check
Fixes: signed integer overflow: 536870913 * 536870913 cannot be represented in type 'int'
Fixes: 45862/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-4730373768085504

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2025-12-15 19:16:43 +08:00
openvela-robot 0213f8c5b2 FFMPEG: change input_state to INPUT_EOF when input underun in amix
1, inputs[i] has no data when timer timeout, change input_state[i] to EOF.
2, delete timer when amix send EOF to next.

Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2025-12-15 19:16:37 +08:00
openvela-robot 3adc1df39b lavf/avio: add avio_vprintf()
This new function makes it possible to use avio_printf() functionality from
a function taking a variable list of arguments.

Signed-off-by: Marton Balint <cus@passwd.hu>
2025-12-15 19:16:32 +08:00
openvela-robot 233aa46fdd FFMPEG: sink_movie doesn't consume data when PAUSED.
when paused, doesn't consume data instead of drop data

Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2025-12-15 19:16:27 +08:00
openvela-robot 05a8c72e98 avcodec/wmalosslessdec: Check channels after setting them
Fixes: 46194/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WMALOSSLESS_fuzzer-580292873827123
Fixes: stack-buffer-overflow on address 0x7ffc0ce69b30 at pc 0x00000062fb03 bp 0x7ffc0ce69af0 sp 0x7ffc0ce69ae8
Fixes: 46205/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WMALOSSLESS_fuzzer-5354894996930560
Fixes: 47861/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WMALOSSLESS_fuzzer-4817404984688640

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2025-12-15 19:16:08 +08:00
openvela-robot 9567e8128d Revert "FFMPEG: fix memory leak in af_astats"
This reverts commit c57153c00262f13fc25acaa8200300935e5a3ee7.

Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2025-12-15 19:16:03 +08:00