Opened 3 years ago
Closed 3 years ago
#10261 closed defect (fixed)
FFMPEG-QSV 1:N transcoding error/hang
| Reported by: | sanasar | Owned by: | haihao |
|---|---|---|---|
| Priority: | normal | Component: | avfilter |
| Version: | 6.0 | Keywords: | QSV |
| Cc: | dvrogozh | Blocked By: | |
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
We have identified regression with latest public FFMPEG: Command line below will either error out or hang.
- version n6.0 bad
- version a6e9d01f88 bad (Latest master)
- version d4f853f4ed good
Following configuration was used running on ArcticSound M
- libva: 2.17.0
- libva-utils: 2.17.1
- gmmlib: 22.3.4
- media-driver: 23.1.3
- onevpl-gpu: 23.1.3
- mediasdk: 23.1.3
- oneVPL: v2023.1.2
ffmpeg -y -hwaccel qsv -hwaccel_device /dev/dri/renderD128 \ -extra_hw_frames 8 -c:v hevc_qsv -re -i bbb_sunflower_1080p_60fps_4Mbps_38kframes.h265 \ -filter_complex '[0:v]split[e_4k60][in1080p];[in1080p]scale_qsv=1920:1080[s1080p];[s1080p]split=3[e_1080p60][in720p60][in1080p30];[in720p60]scale_qsv=1280:720[s720p];[s720p]split[e_720p60][out720p60];[in1080p30]fps=fps=30[e_1080p30];[out720p60]fps=fps=30[f_720p30];[f_720p30]split[e_720p30][in_360p];[in_360p]scale_qsv=640:360[s360p];[s360p]split[e_360p30][in_288p];[in_288p]scale_qsv=352:288[s288p];[s288p]split[e_288p30][in_180p];[in_180p]scale_qsv=240:180[e_180p30]' \ -map [e_4k60] -c:v hevc_qsv -preset veryslow -b:v 9M -g 256 -look_ahead_depth 0 -extbrc 1 -b_strategy 1 -adaptive_i 0 -adaptive_b 0 -low_power 1 -async_depth 2 -maxrate 18M -bufsize 36M -y -f null - \ -map [e_1080p60] -c:v hevc_qsv -preset veryslow -b:v 5M -g 256 -look_ahead_depth 0 -extbrc 1 -b_strategy 1 -adaptive_i 0 -adaptive_b 0 -low_power 1 -async_depth 2 -maxrate 10M -bufsize 20M -y -f null - \ -map [e_1080p30] -c:v hevc_qsv -preset veryslow -b:v 5M -g 256 -look_ahead_depth 0 -extbrc 1 -b_strategy 1 -adaptive_i 0 -adaptive_b 0 -low_power 1 -async_depth 2 -maxrate 10M -bufsize 20M -y -f null - \ -map [e_720p60] -c:v hevc_qsv -preset veryslow -b:v 3M -g 256 -look_ahead_depth 0 -extbrc 1 -b_strategy 1 -adaptive_i 0 -adaptive_b 0 -low_power 1 -async_depth 2 -maxrate 6M -bufsize 12M -y -f null - \ -map [e_720p30] -c:v hevc_qsv -preset veryslow -b:v 3M -g 256 -look_ahead_depth 0 -extbrc 1 -b_strategy 1 -adaptive_i 0 -adaptive_b 0 -low_power 1 -async_depth 2 -maxrate 6M -bufsize 12M -y -f null - \ -map [e_360p30] -c:v hevc_qsv -preset veryslow -b:v 1M -g 256 -look_ahead_depth 0 -extbrc 1 -b_strategy 1 -adaptive_i 0 -adaptive_b 0 -low_power 1 -async_depth 2 -maxrate 2M -bufsize 4M -y -f null - \ -map [e_288p30] -c:v hevc_qsv -preset veryslow -b:v 800k -g 256 -look_ahead_depth 0 -extbrc 1 -b_strategy 1 -adaptive_i 0 -adaptive_b 0 -low_power 1 -async_depth 2 -maxrate 1600k -bufsize 3200k -y -f null - \ -map [e_180p30] -c:v hevc_qsv -preset veryslow -b:v 500k -g 256 -look_ahead_depth 0 -extbrc 1 -b_strategy 1 -adaptive_i 0 -adaptive_b 0 -low_power 1 -async_depth 2 -maxrate 1M -bufsize 2M -y -f null -
Following error is observed. Sometimes we do see hang after error is printed and ffmpeg needs to be killed.
[hevc_qsv @ 0x5566744eb380] A decode call did not consume any data: expect more data at input (-10)95 bitrate=N/A speed= 1x peed=N/A
Last message repeated 2 times
[out_2_0 @ 0x5566749f09c0] 100 buffers queued in out_2_0, something may be wrong.
[out_2_0 @ 0x5566749f09c0] 1000 buffers queued in out_2_0, something may be wrong.
[out_2_0 @ 0x5566749f09c0] 10000 buffers queued in out_2_0, something may be wrong.
[out_2_0 @ 0x5566749f09c0] 100000 buffers queued in out_2_0, something may be wrong.
[out_2_0 @ 0x5566749f09c0] 1000000 buffers queued in out_2_0, something may be wrong.
[out_2_0 @ 0x5566749f09c0] 10000000 buffers queued in out_2_0, something may be wrong.
[out_2_0 @ 0x5566749f09c0] 100000000 buffers queued in out_2_0, something may be wrong.
Error marking filters as finished
Conversion failed!
Change History (4)
comment:1 by , 3 years ago
comment:2 by , 3 years ago
| Cc: | added |
|---|
comment:3 by , 3 years ago
| Owner: | set to |
|---|---|
| Status: | new → open |
comment:4 by , 3 years ago
| Resolution: | → fixed |
|---|---|
| Status: | open → closed |
Note:
See TracTickets
for help on using tickets.



FFMPEG bisection was done and issue started from below commit
commit 077e63496581edf02e503e7d99dbc4e1a5670246 Author: Haihao Xiang <haihao.xiang@intel.com> Date: Mon Jan 30 09:37:17 2023 +0800 lavfi/vpp_qsv: add rate option This is used to control the output at frame rate or field rate when deinterlace is expected and framerate is not specified. Signed-off-by: Haihao Xiang <haihao.xiang@intel.com> libavfilter/vf_vpp_qsv.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) gta@DUT5167ATSM:~$ git bisect log git bisect start # bad: [a6e9d01f88a707f8a2057e01b5ad2e8968109530] avcodec/libx264: Use av_pix_fmt_count_planes() where appropriate git bisect bad a6e9d01f88a707f8a2057e01b5ad2e8968109530 # good: [d4f853f4ed39f51afbc14b3a7fe3bd7a435eb851] doc/filters.texi: add documentation for the ts_sync_mode framesync option git bisect good d4f853f4ed39f51afbc14b3a7fe3bd7a435eb851 # good: [e5e29eda5aae8eb5d1d32f647c68c0543db63217] lavc/avcodec: improve AV_CODEC_FLAG_RECON_FRAME doxy git bisect good e5e29eda5aae8eb5d1d32f647c68c0543db63217 # bad: [22960783978d9e0b6d4a4ed21f503bd24662aa7e] avutil/frame: deprecate AVFrame.coded_picture_number and display_picture_number git bisect bad 22960783978d9e0b6d4a4ed21f503bd24662aa7e # bad: [7e1d474021898251dd4b3e56c0d153eafd440f7c] avfilter/af_compand: simplify frame allocation git bisect bad 7e1d474021898251dd4b3e56c0d153eafd440f7c # good: [431f6260ac6408fdccfe06dd5276084b17c3557f] mov: Reduce the verbosity of the warning about fragmented MP4 vs advanced edit lists git bisect good 431f6260ac6408fdccfe06dd5276084b17c3557f # bad: [82da22066c0818b606812d479674929a229386e2] lavc: deprecate CrystalHD decoders git bisect bad 82da22066c0818b606812d479674929a229386e2 # bad: [077e63496581edf02e503e7d99dbc4e1a5670246] lavfi/vpp_qsv: add rate option git bisect bad 077e63496581edf02e503e7d99dbc4e1a5670246 # good: [bbe95f7353a972f28a48be8da883549f02c59e4b] x86: replace explicit REP_RETs with RETs git bisect good bbe95f7353a972f28a48be8da883549f02c59e4b # good: [ad95d9c855db3e78e6495ea52e5fd2e089320d74] avformat/lafdec: Check if all data was read git bisect good ad95d9c855db3e78e6495ea52e5fd2e089320d74 # good: [7d49fef8b426041e22fde77771b435d9411241a0] lavc/vaapi_encode: fix propagating durations and opaques git bisect good 7d49fef8b426041e22fde77771b435d9411241a0 # first bad commit: [077e63496581edf02e503e7d99dbc4e1a5670246] lavfi/vpp_qsv: add rate option