[FFmpeg-trac] #7030(avcodec:open): qsv in ffmpeg

FFmpeg trac at avcodec.org
Thu Jul 5 12:51:42 EEST 2018

#7030: qsv in ffmpeg
             Reporter:  palich2000   |                    Owner:
                 Type:  defect       |                   Status:  open
             Priority:  important    |                Component:  avcodec
              Version:  git-master   |               Resolution:
             Keywords:  qsv          |               Blocked By:
  regression                         |  Reproduced by developer:  0
             Blocking:               |
Analyzed by developer:  0            |

Comment (by lizhong1008):

 Not sure why it works well on Mark's side as comments #10 (Maybe it just
 broken on Linux but works well on Linux?  I can understand
 "-init_hw_device" is not needed on Windows since the commit
 1f26a231bb065276cd80ce02957c759f3197edfa removing
 ff_qsv_set_display_handle() has no impact on Windows).
 But on Linux, passing a decoded frame by software decoder to qsv encoder
 directly is broken on FFmpeg 4.0 (this is the problem of this ticket).
 Passing a qsv decoded frame to a software encoder is also
 broken.(Reproduce: ffmpeg -c:v h264_qsv -i
 bbb_sunflower_1080p_30fps_normal.h264 -vframes 100 -c:v libx264
 test.h264). These paths are supported on ffmpeg-3.4.
 On FFmpeg 4.0, looks like we must use "hwupload" or "hwdownload" for these
 An example of this issue, an alternative way without palich's patch is
 using hwupload:
 ./ffmpeg -init_hw_device qsv=hw -filter_hw_device hw -i input.mp4 -vframes
 100 -vf "hwupload=extra_hw_frames=64, format=qsv" -c:v h264_qsv out.mp4

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

More information about the FFmpeg-trac mailing list