Opened 3 years ago
Closed 3 years ago
#9286 closed defect (fixed)
ffmpeg-qsv pipelines causes app hang if vpp_qsv+fps filters present
Reported by: | dvrogozh | Owned by: | xhaihao |
---|---|---|---|
Priority: | normal | Component: | avfilter |
Version: | git-master | Keywords: | qsv scale_qsv fps |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
I've used ffmpeg from master branch @ 4c705a2 commit w/ ffmpeg-qsv pipeline having qsv decoder, encoder, vp. If vpp_qsv and fps filters present in pipeline application hangs at the very end and dumps some warning messages - see below
How to reproduce:
$ ffmpeg -hwaccel qsv -qsv_device /dev/dri/renderD128 -c:v h264_qsv -i input.mp4 -vf "vpp_qsv=w=1920:h=1080,fps=fps=24" -c:v h264_qsv a.mp4 -y ... [h264_qsv @ 0x5bd49a309dc0] A decode call did not consume any data: expect more data at input (-10) Last message repeated 2 times [out_0_0 @ 0x5bd49a8f9080] 100 buffers queued in out_0_0, something may be wrong. [out_0_0 @ 0x5bd49a8f9080] 1000 buffers queued in out_0_0, something may be wrong. [out_0_0 @ 0x5bd49a8f9080] 10000 buffers queued in out_0_0, something may be wrong. [out_0_0 @ 0x5bd49a8f9080] 100000 buffers queued in out_0_0, something may be wrong. [out_0_0 @ 0x5bd49a8f9080] 1000000 buffers queued in out_0_0, something may be wrong.
Culprit looks to be the following commit. When I revert it issue disappears:
commit 89ffcd1bbe1150aa07ae52a4e1545668a4e83a3e Author: Fei Wang <fei.w.wang@intel.com> Date: Wed Mar 31 10:07:44 2021 +0800 lavfi/qsvvpp: support async depth Async depth will allow qsv filter cache few frames, and avoid force switch and end filter task frame by frame. This change will improve performance for some multi-task case, for example 1:N transcode( decode + vpp + encode) with all QSV plugins. Performance data test on my Coffee Lake Desktop(i7-8700K) by using the following 1:8 transcode test case improvement: 1. Fps improved from 55 to 130. 2. Render/Video usage improved from ~61%/~38% to ~100%/~70%.(Data get from intel_gpu_top) test CMD: ffmpeg -v verbose -init_hw_device qsv=hw:/dev/dri/renderD128 -filter_hw_device \ hw -hwaccel qsv -hwaccel_output_format qsv -c:v h264_qsv -i 1920x1080.264 \ -vf 'vpp_qsv=w=1280:h=720:async_depth=4' -c:v h264_qsv -r:v 30 -preset 7 -g 33 -refs 2 -bf 3 -q 24 -f null - \ -vf 'vpp_qsv=w=1280:h=720:async_depth=4' -c:v h264_qsv -r:v 30 -preset 7 -g 33 -refs 2 -bf 3 -q 24 -f null - \ -vf 'vpp_qsv=w=1280:h=720:async_depth=4' -c:v h264_qsv -r:v 30 -preset 7 -g 33 -refs 2 -bf 3 -q 24 -f null - \ -vf 'vpp_qsv=w=1280:h=720:async_depth=4' -c:v h264_qsv -r:v 30 -preset 7 -g 33 -refs 2 -bf 3 -q 24 -f null - \ -vf 'vpp_qsv=w=1280:h=720:async_depth=4' -c:v h264_qsv -r:v 30 -preset 7 -g 33 -refs 2 -bf 3 -q 24 -f null - \ -vf 'vpp_qsv=w=1280:h=720:async_depth=4' -c:v h264_qsv -r:v 30 -preset 7 -g 33 -refs 2 -bf 3 -q 24 -f null - \ -vf 'vpp_qsv=w=1280:h=720:async_depth=4' -c:v h264_qsv -r:v 30 -preset 7 -g 33 -refs 2 -bf 3 -q 24 -f null - Signed-off-by: Fei Wang <fei.w.wang@intel.com> Reviewed-by: Linjie Fu <linjie.justin.fu@gmail.com> Signed-off-by: Zhong Li <zhongli_dev@126.com>
Change History (3)
comment:1 by , 3 years ago
comment:2 by , 3 years ago
Owner: | set to |
---|---|
Status: | new → open |
comment:3 by , 3 years ago
Resolution: | → fixed |
---|---|
Status: | open → closed |
commit efc22e63e5899f5eda8ee50fc92ecd752aedce87
Author: Haihao Xiang <haihao.xiang@intel.com>
Date: Fri Jun 11 10:19:46 2021 +0800
lavfi/vf_vpp_qsv: fix the time_base for outlink
Note:
See TracTickets
for help on using tickets.
The following 2 patches seem to fix this issue:
http://ffmpeg.org/pipermail/ffmpeg-devel/2021-June/281249.html
http://ffmpeg.org/pipermail/ffmpeg-devel/2021-June/281250.html