intel / media-driver

Intel Graphics Media Driver to support hardware decode, encode and video processing.
https://github.com/intel/media-driver/wiki
Other
957 stars 342 forks source link

[regression] ffmpeg-qsv 100% broken since 24f4538c870c - [VP] 1to3 kernel integration(CL#810055) #383

Closed uartie closed 5 years ago

uartie commented 5 years ago

All ffmpeg-qsv encode/decode/vpp pipelines fail since:

commit 24f4538c870c6969a56db0a5aa5387fac8485562 (HEAD -> master)
Author: Geng_Zhao <geng.zhao@intel.com>
Date:   Wed Oct 24 10:19:48 2018 +0800

    [VP] 1to3 kernel integration(CL#810055)

    1. integrate kernel for 1to3 case. using avs sampler.
    2. resotre interface descripte sampler offset as 3D sampler.
    3. modify 16align sampler index as 1 to unify with FC and 1to3.

    Change-Id: I5ef4bd28acb578b512e061c7c61b48b345ea7e17

For example:

$ LIBVA_DRIVER_NAME=iHD ffmpeg -hwaccel qsv -hwaccel_device /dev/dri/renderD128 \
  -v verbose -c:v h264_qsv -i test.h264 -vf 'hwdownload,format=nv12' -pix_fmt yuv420p \
  -f rawvideo -vsync passthrough -vframes 4 -y test.yuv

ffmpeg version 4.0.git Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 8 (GCC)
  configuration: --prefix=/home/uaeoff/Work/workspace/media/install --disable-static --enable-shared --enable-libdrm --enable-vaapi --enable-libmfx --disable-amf --disable-audiotoolbox --disable-cuda --disable-cuda-sdk --disable-cuvid --disable-d3d11va --disable-dxva2 --disable-libnpp --disable-mmal --disable-nvdec --disable-nvenc --disable-omx --disable-omx-rpi --disable-rkmpp --disable-v4l2-m2m --disable-vdpau --disable-videotoolbox --enable-nonfree --enable-gpl
  libavutil      56. 20.100 / 56. 20.100
  libavcodec     58. 33.102 / 58. 33.102
  libavformat    58. 19.102 / 58. 19.102
  libavdevice    58.  4.106 / 58.  4.106
  libavfilter     7. 37.100 /  7. 37.100
  libswscale      5.  2.100 /  5.  2.100
  libswresample   3.  2.100 /  3.  2.100
  libpostproc    55.  2.100 / 55.  2.100
[h264 @ 0x248c200] Reinit context to 176x144, pix_fmt: yuv420p
Input #0, h264, from '/home/uaeoff/test.h264':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (Constrained Baseline), 1 reference frame, yuv420p(progressive, left), 176x144, 25 fps, 25 tbr, 1200k tbn, 50 tbc
[AVBSFContext @ 0x2535bc0] The input looks like it is Annex B already
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (h264_qsv) -> rawvideo (native))
Press [q] to stop, [?] for help
[AVHWDeviceContext @ 0x24b2a00] Opened VA display via X11 display :0.
[AVHWDeviceContext @ 0x24b2a00] libva: VA-API version 1.4.0
[AVHWDeviceContext @ 0x24b2a00] libva: va_getDriverName() returns 0
[AVHWDeviceContext @ 0x24b2a00] libva: User requested driver 'iHD'
[AVHWDeviceContext @ 0x24b2a00] libva: Trying to open /home/uaeoff/Work/workspace/media/install/lib/dri/iHD_drv_video.so
[AVHWDeviceContext @ 0x24b2a00] libva: Found init function __vaDriverInit_1_4
[AVHWDeviceContext @ 0x24b2a00] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x24b2a00] Initialised VAAPI connection: version 1.4
[AVHWDeviceContext @ 0x24b2a00] VAAPI driver: Intel iHD driver - 1.0.0.
[AVHWDeviceContext @ 0x24b2a00] Driver not found in known nonstandard list, using standard behaviour.
[AVHWDeviceContext @ 0x25358c0] Initialize MFX session: API version is 1.28, implementation version is 1.28
[AVHWDeviceContext @ 0x25358c0] MFX compile/runtime API: 1.28/1.28
[AVHWDeviceContext @ 0x24b8640] VAAPI driver: Intel iHD driver - 1.0.0.
[AVHWDeviceContext @ 0x24b8640] Driver not found in known nonstandard list, using standard behaviour.
[graph 0 input from stream 0:0 @ 0x25e6880] w:176 h:144 pixfmt:qsv tb:1/1200000 fr:25/1 sar:0/1 sws_param:flags=2
[auto_scaler_0 @ 0x295a980] w:iw h:ih flags:'bicubic' interl:0
[format @ 0x2957e00] auto-inserting filter 'auto_scaler_0' between the filter 'Parsed_format_1' and the filter 'format'
[auto_scaler_0 @ 0x295a980] w:176 h:144 fmt:nv12 sar:0/1 -> w:176 h:144 fmt:yuv420p sar:0/1 flags:0x4
[AVHWFramesContext @ 0x24e3240] Error synchronizing the operation: -17
[hwdownload @ 0x2533e00] Failed to download frame: -1313558101.
Error while filtering: Unknown error occurred
Failed to inject frame into filter network: Unknown error occurred
Error while processing the decoded data for stream #0:0
[AVIOContext @ 0x2537540] Statistics: 0 seeks, 0 writeouts
[AVIOContext @ 0x24934c0] Statistics: 54828 bytes read, 0 seeks
Conversion failed!

Software Stack:

libva (master) heads/master-0-g285267586a3d  https://github.com/01org/libva
gmmlib (master) heads/master-0-g3e602a84dccd  https://github.com/intel/gmmlib
intel-media-driver (master) heads/master-0-g24f4538c870c  https://github.com/intel/media-driver
msdk (master) heads/master-0-g20a2ecff395d  https://github.com/Intel-Media-SDK/MediaSDK
ffmpeg (master) heads/master-0-g6a112349c206  https://git.ffmpeg.org/ffmpeg
uartie commented 5 years ago

11059d2e556fe834 is the quick fix. Please reference issue numbers (e.g. #383) in commit messages. GitHub will automatically create link between issue and commit and makes it easier to see when activity occurs for specific issue.