Commit Graph

17 Commits

Author SHA1 Message Date
openvela-robot 79d0634421 ffmpeg7: fixed amix format when graph load
Signed-off-by: zhushiqshi <zhushiqshi@xiaomi.com>
2026-04-20 20:57:53 +08:00
openvela-robot 225a503d52 FFMPEG: fix AVPacket mem leak
Signed-off-by: yangyalei <yangyalei@xiaomi.com>
2026-04-20 20:57:50 +08:00
openvela-robot 6fb822a912 ffmpeg7: add avformat_write_trailer for adevsink
Signed-off-by: zhushiqshi <zhushiqshi@xiaomi.com>
2026-04-20 20:57:47 +08:00
openvela-robot 32ee48238c adevsink:only do grahp reconfig in start flow
Resolve audio ending process interrupted by adevsink non start command

Signed-off-by: shipei <shipei@xiaomi.com>
2026-04-20 20:57:39 +08:00
openvela-robot 3608e86b4f FFMPEG: fix sys/syscrl.h can not find
Signed-off-by: zhushiqshi <zhushiqshi@xiaomi.com>
2026-04-20 20:57:30 +08:00
openvela-robot a6c20059ed FFMPEG: add resume when eos is on
when eos is on, we should resume the stream if it is paused.

Signed-off-by: jinxiuxu <jinxiuxu@xiaomi.com>
2026-04-20 20:57:27 +08:00
openvela-robot 6cf52fc3f3 swscale/output: fill all the xv36le alpha bits
The format is 10 bit per component, not 8.

Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 20:57:24 +08:00
openvela-robot 356c47e109 FFMPEG: force start and stop after configure for driver
Signed-off-by: hanqiyuan <hanqiyuan@xiaomi.com>
2026-04-20 20:57:20 +08:00
openvela-robot dccba787a1 fftools/ffmpeg_demux: use proper logging contexts everywhere 2026-04-20 20:57:15 +08:00
openvela-robot 1e2e93b397 FFMPEG: only back completed msg when running state.
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2026-04-20 20:57:12 +08:00
openvela-robot 34d0892357 configure: Only try to use the -no_warn_duplicate_libraries flag on Darwin
While we only add the flag if the linker seems to support it,
it turns out that ld.bfd had a bug where the flag is accidentally
accepted, and the flag produces an output file named
"_warn_duplicate_libraries".

The ld.bfd bug was fixed in binutils 2.36, in
https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=3991c7acb29aa8d7d52150695eb3efa03a08dd50.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 20:57:04 +08:00
openvela-robot c8c957ba35 adevsrc: modify the type of codec_id option param to string.
codec_id=65544 => codec_name=pcm_s32le.

Signed-off-by: yaojingwei <yaojingwei@xiaomi.com>
2026-04-20 20:57:01 +08:00
openvela-robot 2006b05fae avcodec/hevc/ps: return a proper error code when we don't support parsing an sps
Signed-off-by: James Almer <jamrial@gmail.com>
2026-04-20 20:56:54 +08:00
openvela-robot 79836cf6b9 FFMPEG: ff_nuttx_capbility_query_ranges not relay on AVFormatContext
Signed-off-by: yangyalei <yangyalei@xiaomi.com>
2026-04-20 20:56:51 +08:00
Nuo Mi 8532e70710 avcodec/vvc: simplify priority logical to improve performance for 4K/8K
For 4K/8K video processing, it's possible to have over 1,000 tasks pending on the executor.
In such cases, O(n) and O(log(n)) insertion times are too costly.
Reducing this to O(1) will significantly decrease the time spent in critical sections

clip                                                        | before | after  | delta
------------------------------------------------------------|--------|--------|-------
VVC_HDR_UHDTV2_OpenGOP_7680x4320_50fps_HLG10.bit            |    24  |   27   |  12.5%
VVC_HDR_UHDTV2_OpenGOP_7680x4320_50fps_HLG10_HighBitrate.bit|    12  |   17   |  41.7%
tears_of_steel_4k_8M_8bit_2000.vvc                          |    34  |  102   | 200.0%
VVC_UHDTV1_OpenGOP_3840x2160_60fps_HLG10.bit                |   126  |  128   |   1.6%
RitualDance_1920x1080_60_10_420_37_RA.266                   |   350  |  378   |   8.0%
NovosobornayaSquare_1920x1080.bin                           |   341  |  369   |   8.2%
Tango2_3840x2160_60_10_420_27_LD.266                        |    69  |   70   |   1.4%
RitualDance_1920x1080_60_10_420_32_LD.266                   |   243  |  259   |   6.6%
Chimera_8bit_1080P_1000_frames.vvc                          |   420  |  392   |  -6.7%
BQTerrace_1920x1080_60_10_420_22_RA.vvc                     |   148  |  144   |  -2.7%
2026-04-20 20:56:33 +08:00
Nuo Mi 3c4722be2f avcodec/executor: remove unused ready callback
Due to the nature of multithreading, using a "ready check" mechanism may introduce a deadlock. For example:

Suppose all tasks have been submitted to the executor, and the last thread checks the entire list and finds
no ready tasks. It then goes to sleep, waiting for a new task. However, for some multithreading-related reason,
a task becomes ready after the check. Since no other thread is aware of this and no new tasks are being added to
the executor, a deadlock occurs.

In VVC, this function is unnecessary because we use a scoreboard. All tasks submitted to the executor are ready tasks.
2026-04-20 20:56:33 +08:00
Nuo Mi caf2a484f8 avcodec: make a local copy of executor
We still need several refactors to improve the current VVC decoder's performance,
which will frequently break the API/ABI. To mitigate this, we've copied the executor from
avutil to avcodec. Once the API/ABI is stable, we will move this class back to avutil
2026-04-20 20:56:33 +08:00