[Mesa-users] [vaapi AMD VCE] Hardware encoder outputs messed up video

Rob McCathie korrode at gmail.com
Tue Jul 4 13:17:15 UTC 2017


On 04/07/17 20:37, Rob McCathie wrote:
> Hello Mesa Users list,
>
> I have an AMD A10-7800 APU ( Steamroller/Kaveri/VCE2.0) and would like 
> to use the h264 (MPEG4 AVC) hardware encoding capability that 
> Xorg/Mesa documentation states is supported 
> (https://www.x.org/wiki/RadeonFeature/#index9h2).
>
> I've been making attempts with both gstreamer (gst-launch-1.0) and 
> ffmpeg but am having the same problematic outcome with both.
> I am performing the colourspace conversion to NV12 that research leads 
> me to believe is required (and indeed gst-launch does not succeed if 
> this conversion is not done). (...though Wikipedia says VCE 2.0 also 
> supports YUV444 and i'd like to be able to use it, but one thing at a 
> time.)
>
> Here is a video of the gstreamer test pattern encoded using a software 
> encoder (x264), it's produced with this following command:
> gst-launch-1.0 videotestsrc num-buffers=200 ! video/x-raw,format=NV12 
> ! x264enc ! video/x-h264,profile=main ! h264parse ! matroskamux ! 
> filesink location=test-x264enc.mkv
> http://paradoxcomputers.com.au/stuff/amd_vaapi_issue/test-x264enc.mkv
> It looks how it should.
>
> Here's the outcome when i try to use hardware h264 encoding with 
> VA-API, produced with this following command:
> gst-launch-1.0 videotestsrc num-buffers=200 ! video/x-raw,format=NV12 
> ! vaapih264enc ! video/x-h264,profile=main ! h264parse ! matroskamux ! 
> filesink location=test-vaapih264enc.mkv
> http://paradoxcomputers.com.au/stuff/amd_vaapi_issue/test-vaapih264enc.mkv 
>
> It's all messed up, the image is duplicated (above and below) and the 
> colours are wonky (like the colour channels are separated and all 
> offset from each other... or something).
>
> I've tested this on Debian 9 (Mesa 13.0.6) and an up-to-date Arch 
> Linux install (Mesa 17.1.4) and get the same result on both. On the 
> Arch Linux install I've also tried using AMDGPU driver rather than 
> radeon - same result. (well actually, the output on AMDGPU did seem a 
> little different, but messed up in a similar fashion nonetheless).
>
> Any help would be appreciated.
>
>

I just asked in #dri-devel on Freenode IRC and they were able to help 
me. Needed to set environment variable: VAAPI_DISABLE_INTERLACE=1
Thanks jkqxz on IRC!


--
Regards,

Rob McCathie



More information about the mesa-users mailing list