[FFmpeg-trac] #7691(undetermined:new): GPU side format conversions working with MediaSDK and old i965 driver, fail with new iHD driver

FFmpeg trac at avcodec.org
Tue Oct 22 11:43:53 EEST 2019

#7691: GPU side format conversions working with MediaSDK and old i965 driver, fail
with new iHD driver
             Reporter:  eero-t       |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:
                                     |  undetermined
              Version:  git-master   |               Resolution:
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |

Comment (by wangfei):

 Replying to [comment:7 eero-t]:
 > '''VA-API'''
 > Scaling and format conversions seem to be working now, except for
 "uyvy422" which has been segfaulting for several months now:
 > '''QSV'''
 > Only scaling and "nv12" format works, for all other formats I get:
 > {{{
 > $ ffmpeg -hwaccel qsv -qsv_device /dev/dri/renderD128 -c:v hevc_qsv -i
 1920x1080_60_yuv420p.h265 -vf
 scale_qsv=w=1920:h=540,hwdownload,format=yuv420p -f null -
 > ...
 > Input #0, hevc, from '1920x1080_60_yuv420p.h265':
 >   Duration: N/A, bitrate: N/A
 >     Stream #0:0: Video: hevc (Main), yuv420p(tv), 1920x1080, 60 fps, 60
 tbr, 1200k tbn, 60 tbc
 > Stream mapping:
 >   Stream #0:0 -> #0:0 (hevc (hevc_qsv) -> wrapped_avframe (native))
 > Press [q] to stop, [?] for help
 > [hwdownload @ 0x5598aefa46c0] Invalid output format yuv420p for hwframe
 > [Parsed_hwdownload_1 @ 0x5598aefa3600] Failed to configure output pad on
 > Error reinitializing filters!
 > Failed to inject frame into filter network: Invalid argument
 > }}}
 > I'm using git versions from yesterday:
 > * ffmpeg https://github.com/FFmpeg/FFmpeg.git at
 39d5acbd097b86a3ab8232a0156a18bf8d8a71ef 2019-10-17_15-35-28
 avcodec/libdav1d: set AVFrame reordered_opaque
 > * libva git://github.com/intel/libva at
 95eb8cf469367b532b391042fa0e77ca513ac94e 2019-10-12_07-02-48 Add missed
 slice parameter 'slice_data_num_emu_prevn_bytes'
 > * gmmlib git://github.com/intel/gmmlib at
 77699a1c8c44884bf39fc609772b734621e120a3 2019-10-15_14-02-10 Disable ULT
 for 32bit
 > * media-driver git://github.com/intel/media-driver at
 4f1b23183c0ee74d9476db3dd4e68e2f987bd965 2019-10-17_09-41-08 [Decode] Fix
 VC1 Green Line
 > * media-sdk git://github.com/Intel-Media-SDK/MediaSDK at
 f87a709646f1af1aafcf8e5fe14baf01ddb39678 2019-10-17_12-00-25 [HEVCd] Skip
 frames after new SPS without any subsequent slice

 For the QSV cmdline, you can specific format inside scale_qsv, which can
 be like this:

 ffmpeg -hwaccel qsv -qsv_device /dev/dri/renderD128 -c:v hevc_qsv -i
 1920x1080_60_yuv420p.h265 -vf
 scale_qsv=w=1920:h=540:format=bgra,hwdownload,format=bgra -f null -

 While, msdk now doesn't support yuv420p, so if you change the format in
 above cmdline from bgra to yuv420p, the cmdline still return error. You
 can list the format you need, then we can file a requirement to MSDK to
 ask to support it.

Ticket URL: <https://trac.ffmpeg.org/ticket/7691#comment:8>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker

More information about the FFmpeg-trac mailing list