[FFmpeg-trac] #9286(avfilter:new): ffmpeg-qsv pipelines causes app hang if vpp_qsv+fps filters present
FFmpeg
trac at avcodec.org
Wed Jun 9 18:39:26 EEST 2021
#9286: ffmpeg-qsv pipelines causes app hang if vpp_qsv+fps filters present
-------------------------------------+-------------------------------------
Reporter: dvrogozh | Type: defect
Status: new | Priority: normal
Component: avfilter | Version: git-
Keywords: qsv | master
scale_qsv fps | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
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 at 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 at intel.com>
Reviewed-by: Linjie Fu <linjie.justin.fu at gmail.com>
Signed-off-by: Zhong Li <zhongli_dev at 126.com>
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/9286>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list