Opened 4 years ago

Closed 3 years ago

Last modified 3 years ago

#7397 closed defect (needs_more_info)

[ffmpeg-qsv][h264_ffmpeg]decode dump file has garbage on iHD driver.

Reported by: a Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords: qsv
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
How to reproduce:

1.ffmpeg -hwaccel qsv -hwaccel_device /dev/dri/renderD128 -v verbose -y -c:v h264_qsv -i /media//ffmpeg_h264/crop-to-container-dims-canon.mov -vf hwdownload,format=nv12 -pix_fmt yuv420p -f rawvideo -y dump.yuv -vsync 0
2. 7yuv to open dump.yuv
ffmpeg version : N-91726-g56f68a0

bug descript

The dump file md5 is not equal to reference, and the dump file has garbage.

Attachments (1)

crop-to-container-dims-canon.mov (524.1 KB ) - added by a 4 years ago.

Download all attachments as: .zip

Change History (10)

comment:1 by a, 4 years ago

Summary: ffmpeg qsv h264 decode dump file has garbage on iHD driver.[ffmpeg-qsv][h264_ffmpeg]decode dump file has garbage on iHD driver.

comment:2 by a, 4 years ago

failed case

/media/ffmpeg_h264/crop-to-container-dims-canon.mov
/media/ffmpeg_h264/H264_might_overflow.mkv

comment:3 by Carl Eugen Hoyos, 4 years ago

Keywords: qsv added; ffmpeg-qsv h264 decode removed

comment:5 by Carl Eugen Hoyos, 4 years ago

Keywords: qsv added; ffmpeg-qsv h264 decode removed

comment:6 by jkqxz, 4 years ago

This seems to work for me? Or at least, I don't get garbage in the output.

It isn't bit-exact because the input is full-range and libmfx doesn't seem to have any way of communicating that, but the data is correct. (Decoding with iHD directly via VAAPI supports the range signalling and therefore matches software behaviour exactly, so this is only a libmfx problem.)

comment:7 by Linjie.Fu, 4 years ago

Tested with the latest version of MSDK: c083a2724b99851af6d69bbb35e3130b39a1f702

$ ffmpeg -i crop-to-container-dims-canon.mov -c:v copy src.h264
$ ./sample_decode h264 -i src.h264 -i420 -o msdk.yuv
ffmpeg -hwaccel qsv -hwaccel_device /dev/dri/renderD128 -v verbose -y -c:v h264_qsv -i crop-to-container-dims-canon.mov -vf hwdownload,format=nv12 -pix_fmt yuv420p -f rawvideo -y dump.yuv -vsync 0

Both msdk.yuv and dump.yuv have garbage in my test.

Report an issue in MediaSDK:
https://github.com/Intel-Media-SDK/MediaSDK/issues/715

comment:8 by a, 3 years ago

Resolution: fixed
Status: newclosed

dump.yuv don't have garbage on latest code base.

comment:9 by Carl Eugen Hoyos, 3 years ago

Resolution: fixedneeds_more_info

Please add the commit that fixed the issue.

Note: See TracTickets for help on using tickets.