[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