[FFmpeg-trac] #8391(undetermined:new): VA-API VP8 encoding produces broken videos with iHD driver

FFmpeg trac at avcodec.org
Wed Nov 20 17:13:41 EET 2019


#8391: VA-API VP8 encoding produces broken videos with iHD driver
-------------------------------------+-------------------------------------
             Reporter:  eero-t       |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:  git-
  undetermined                       |  master
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug:

 VP8 encoding produces broken videos with iHD driver, while i965 driver
 works fine with the same FFmpeg version.

 How to reproduce:

 1. Get e.g.  quicktime/AVC "trailer_480p.mov" trailer from here:
 https://peach.blender.org/trailer-page/
 2. Convert it to VP8 with i965 and iHD drivers:
 {{{
 $ export LIBVA_DRIVER_NAME=i965
 $ ffmpeg -y -hwaccel vaapi -vaapi_device /dev/dri/renderD128
 -hwaccel_output_format vaapi -i trailer_480p.mov -c:v vp8_vaapi
 test-i965.webm
 ...
 $ export LIBVA_DRIVER_NAME=iHD
 $ ffmpeg -y -hwaccel vaapi -vaapi_device /dev/dri/renderD128
 -hwaccel_output_format vaapi -i trailer_480p.mov -c:v vp8_vaapi test-
 iHD.webm
 ffmpeg version N-95809-g804fce8bc2 Copyright (c) 2000-2019 the FFmpeg
 developers
   built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
 ...
 $ ls -s test*.webm
 4084 test-i965.webm   1296 test-iHD.webm
 }}}

 Both FFmpeg runs give the same output, but saved file sizes differ a lot.

 i965 encoded video plays back fine both with Chromium and ffplay.  But
 with the iHD encoded video, Chromium shows just black video, and ffplay
 does never even open an output window (it just shows time advancing on
 console).

 I didn't find any input video which iHD would encode properly, but there
 were videos where it worked worse; after encoding the video, output file
 size was minuscule and FFmpeg commented:
 {{{
 Output file is empty, nothing was encoded (check -ss / -t / -frames
 parameters if used)
 }}}

 I don't know whether this is regression, because earlier VP8 hasn't worked
 properly on the iHD driver side, e.g. due to these issues:
 *
 * https://github.com/intel/media-driver/issues/578
 * https://github.com/intel/media-driver/issues/409

 Latter issue was/is due to something that FFmpeg should do, but it
 doesn't.  If FFmpeg is (still) using the wrong buffer as encoding result,
 that would easily explain broken video files.

 (FFmpeg QSV backend doesn't support VP8, at least on GEN9, and neither
 does MediaSDK transcoding sample app, so I couldn't test whether this
 issue is specific to FFmpeg, or underlying iHD media driver => had to file
 it against FFmpeg.)

--
Ticket URL: <https://trac.ffmpeg.org/ticket/8391>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list