Opened 3 weeks ago

Closed 9 days ago

#7402 closed defect (duplicate)

[ffmpeg-qsv][h264_mpeg2]decode failed on iHD driver.

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

Description

Summary of the bug:

mpeg2 decode failed. 

environment

SKL OS: ubuntu 16.04 kernel: 4.15.0 
libva b6c50dad4d7d14c507108d9f468662e2d7ae1c4d ​https://github.com/01org/libva.git 
VPG_Driver ed04556a6676fd77ff845508bc54bfc60915450c ​https://github.com/intel/media-driver
libva-utils 9a10ad663349732decd668a426cfc349b0010d1d ​https://github.com/01org/libva-utils.git
Mediasdk 7ea683585f0f84f1bea035a405855312c92c46c0 ​https://github.com/Intel-Media-SDK/MediaSDK
FFMPEG 56f68a099cc607658118e00cad30569103ae3751 ​https://git.ffmpeg.org/ffmpeg.git

How to reproduce:

1.build env as above lists
2.ffmpeg -v verbose -c:v mpeg2_qsv -i /media//yami_mpeg2/gi4_video.bits.mpeg2 -pix_fmt yuv420p -f rawvideo -vsync passthrough -vframes 4 -y dump.yuv
3. error message:
mpeg2_qsv @ 0x18aa600] Initialized an internal MFX session using hardware accelerated implementation
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented
[mpeg2_qsv @ 0x18aa600] Error initializing the MFX video decoder: unsupported (-3)
[mpeg2_qsv @ 0x18aa600] Too many errors when draining, this is a bug. Stop draining and force EOF.
Error while decoding stream #0:0: Internal bug, should not have happened

Change History (7)

comment:1 follow-up: Changed 3 weeks ago by cehoyos

  • Keywords decode mpeg2 removed

Where can the qsv developers find the sample?

comment:2 in reply to: ↑ 1 Changed 3 weeks ago by zhuqingliang

Replying to cehoyos:

Where can the qsv developers find the sample?

Last edited 3 weeks ago by zhuqingliang (previous) (diff)

comment:3 Changed 2 weeks ago by cehoyos

  • Resolution set to needs_more_info
  • Status changed from new to closed

comment:4 Changed 12 days ago by lizhong1008

  • Resolution needs_more_info deleted
  • Status changed from closed to reopened

Can reproduce with any h264 clips:

./ffmpeg -v verbose -c:v h264_qsv -i ./fate-suite/h264-conformance/CABA2_Sony_E.jsv -pix_fmt yuv420p -f rawvideo -vsync passthrough -vframes 4 -y dump.yuv

[h264_qsv @ 0x411ea80] Error initializing the MFX video decoder: unsupported (-3)
Error while decoding stream #0:0: Function not implemented

If I recall correctly, it works well with FFmpeg3.4.1. So it should be a regression may be relative to https://trac.ffmpeg.org/ticket/7030.

As an option, you can try gpu memory pipeline with hwdownload:

./ffmpeg -v verbose -hwaccel qsv -c:v h264_qsv -i ./fate-suite/h264-conformance/CABA2_Sony_E.jsv -vf "hwdownload=extra_hw_frames=16, format=nv12" -pix_fmt yuv420p -f rawvideo -vsync passthrough -vframes 4 -y dump.yuv

comment:5 follow-up: Changed 12 days ago by cehoyos

  • Keywords regression added

Which commit introduced the regression?

comment:6 in reply to: ↑ 5 Changed 9 days ago by lizhong1008

Replying to cehoyos:

Which commit introduced the regression?

Same as https://trac.ffmpeg.org/ticket/7030, introduced by:

b0cd14fb1dab4b044f7fe6b53ac635409849de77 is the first bad commit
commit b0cd14fb1dab4b044f7fe6b53ac635409849de77
Author: Mark Thompson <​sw@jkqxz.net>
Date: Thu Oct 26 00:18:47 2017 +0100
ffmpeg: Use codec hardware config to configure hwaccels

Removes specific support for all hwaccels supported by the generic code
(DXVA2, D3D11VA, NVDEC, VAAPI and VDPAU).
:040000 040000 db8084af9c0723e94edafc6d4beb29386dee6288 a1b4cd2717b8f391249024ea335241ac7788f843 M fftools

comment:7 Changed 9 days ago by cehoyos

  • Resolution set to duplicate
  • Status changed from reopened to closed

Please check again once #7030 is fixed.

Note: See TracTickets for help on using tickets.