[FFmpeg-trac] #7511(avcodec:new): FFmpeg Windows version with QSV hwaccel fails over TERMINAL

FFmpeg trac at avcodec.org
Mon Apr 15 16:57:23 EEST 2019


#7511: FFmpeg Windows version with QSV hwaccel fails over TERMINAL
-------------------------------------+-----------------------------------
             Reporter:  msiders      |                    Owner:
                 Type:  enhancement  |                   Status:  new
             Priority:  wish         |                Component:  avcodec
              Version:  git-master   |               Resolution:
             Keywords:  qsv          |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-----------------------------------

Comment (by atorp):

 Hi,

 I found a solution to this problem: Use initialization of D3D11 in the
 command line.

 - Example (based on the initial command described above):

 {{{
 ffmpeg.exe -init_hw_device d3d11va=qsv:MFX_IMPL_hw_any -hwaccel qsv
 -filter_hw_device qsv -c:v h264_qsv -i file.ts -filter_complex
 "[i:256]deinterlace_qsv,scale_qsv=720:576[out]" -map [out] -map i:257 -c:0
 h264_qsv -preset medium -c:1 copy -f mpegts output.ts
 }}}

 So the trick is to use "-init_hw_device d3d11va=qsv:MFX_IMPL_hw_any"
 before the "-hwaccel qsv", and "-filter_hw_device qsv" after it. Using
 this, instead of initialize the MFX context using a D3D9 surface, it's
 enforced to use a D3D11 surface.

 I hope it helps!

 Note: I suggest to add some example of D3D11va initialization in the
 documentation: https://trac.ffmpeg.org/wiki/Hardware/QuickSync

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


More information about the FFmpeg-trac mailing list