Bug 97261

Summary: vaapi u/v wrong order since vl/util: add copy func for yv12image to nv12surface
Product: Mesa Reporter: Andy Furniss <adf.lists>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact: mesa-dev
Severity: normal    
Priority: medium CC: ckoenig.leichtzumerken
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: small test vid

Description Andy Furniss 2016-08-09 13:51:39 UTC
Created attachment 125638 [details]
small test vid

As noted st the time, though Boyuan said he couldn't reproduce, for me

vl/util: add copy func for yv12image to nv12surface

gets u and v for both yv12 and I420 inputs reversed whether encoding or playing.

Both gstreamer and mpv affected.

Testing playback using attached small test vid that instantly shows the issue either

VAAPI_DISABLE_INTERLACE=true mpv --vo=vaapi uvtest.mkv

or

gst-launch-1.0 filesrc location=uvtest.mkv ! matroskademux ! avdec_h264 ! vaapisink

Of course any test that outputs nv12 works OK as it avoids the conversion.

It seems that the new util function expects input to be yuv, but it actually gets yvu.

I sent a patch to the list for this -

https://lists.freedesktop.org/archives/mesa-dev/2016-July/124695.html

Filing bug/test to see if anyone else reproduce.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.