> -----Original Message----- > From: Li, Zhong > Sent: Sunday, July 14, 2019 19:33 > To: FFmpeg development discussions and patches <ffmpeg- > de...@ffmpeg.org> > Cc: Fu, Linjie <linjie...@intel.com> > Subject: RE: [FFmpeg-devel] [PATCH, v3] lavf/vf_vpp_qsv: add support for > QSV transpose filter > > > From: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] On > Behalf > > Of Linjie Fu > > Sent: Thursday, July 11, 2019 1:58 AM > > To: ffmpeg-devel@ffmpeg.org > > Cc: Fu, Linjie <linjie...@intel.com> > > Subject: [FFmpeg-devel] [PATCH, v3] lavf/vf_vpp_qsv: add support for > QSV > > transpose filter > > > > Add transpose support for qsv_vpp with rotate and hflip: > > - rotate: [0, 3] support clockwise rotation of 0, 90, 180, 270; > > - hflip: [0, 1] support horizontal flip; > > > > Configure with: > > {"cclock_hflip","clock","cclock","clock_hflip","reversal","hflip","vflip"} > > > > Limitation: > > If pipeline contains resize, mirroring and other, VPP skips other > > filters in > > MSDK when IOPattern equals d3d->d3d. So "cclock_hflip, clock_hflip, vflip" > > will not work in d3d->d3d condition. > > > > This pr is fixing this: > > https://github.com/Intel-Media-SDK/MediaSDK/pull/1491 > > > > CMD: > > ffmpeg -hwaccel qsv -c:v h264_qsv -i input.h264 > > -vf 'format=qsv,vpp_qsv=transpose=clock' -c:v h264_qsv output.h264 > > Tested: > ffmpeg -hwaccel qsv -c:v h264_qsv -i > ~/bbb_sunflower_1080p_30fps_normal.mp4 -vframes 100 -vf > 'format=qsv,vpp_qsv=transpose=cclock_hflip' -c:v h264_qsv ch.mp4 > Both Skylake and KBL failed: > > [Parsed_vpp_qsv_1 @ 0x5581aaf16080] Failed to create a qsvvpp, ret = -15. > [Parsed_vpp_qsv_1 @ 0x5581aaf16080] Failed to configure output pad on > Parsed_vpp_qsv_1 > Error reinitializing filters! > Failed to inject frame into filter network: Block device required > Error while processing the decoded data for stream #0:0
It is due to the limitation in MSDK mentioned in commit message: If pipeline contains resize, mirroring and other, VPP skips other filters in MSDK. And specially for resize (also width/height swap caused by rotate), MFXVideoVPP_Init would fail directly, not simply skip the resize/rotate: https://github.com/Intel-Media-SDK/MediaSDK/blob/master/_studio/mfx_lib/vpp/src/mfx_vpp_hw.cpp#L5546 This PR could handle this properly as suggested: https://github.com/Intel-Media-SDK/MediaSDK/pull/1491 - linjie _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".