Bug 94845

Summary: Incorrect color space conversion in driver
Product: libva Reporter: sreerenj <bsreerenj>
Component: intelAssignee: haihao <haihao.xiang>
Status: RESOLVED FIXED QA Contact: Sean V Kelley <seanvk>
Severity: major    
Priority: medium CC: haihao.xiang, yakui.zhao
Version: unspecified   
Hardware: All   
OS: All   
See Also: https://bugzilla.gnome.org/show_bug.cgi?id=764633
i915 platform: i915 features:

Description sreerenj 2016-04-06 14:16:28 UTC
Color space conversion of NV12 vaSurface to NV12 vaImage using vaGetImage is producing different pixel values. This will work if we use the vaDeriveImage (instead of vaGetImage)  to generate the vaImage from nv12 vaSurface.

Issue seems to be because of mishandling GPU shaders,
using i965_sw_getimage() instead of i965_hw_getimage() will fix this issues.

Issue can be also reproduced as described in : https://bugzilla.gnome.org/show_bug.cgi?id=764633#c0

Also it seems the driver giving different pixel values in each time I do the CSC for same pixel data with AVS block (KBL platform)
sample: MSHDRef_Texture_High_01_320x240p30f_intra_main.bin
Comment 1 haihao 2016-04-28 12:39:19 UTC
commit bb232561bba4320ffc41b67db9f7ca3ecab32de7
Author: Xiang, Haihao <haihao.xiang@intel.com>
Date:   Thu Apr 7 12:03:55 2016 +0800

    CSC: Remove average logic when saving NV12 surface on IVB+

commit 656c16bf9a399ea3154a12f24846323bfe3ef4e5
Author: Xiang, Haihao <haihao.xiang@intel.com>
Date:   Mon Apr 11 16:22:18 2016 +0800

    Set the right alignment on BXT/KBL

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.