Bug 71719 - vaPutSurface ignores VA_SRC_BT709 flag and uses BT.601 coefficients
Summary: vaPutSurface ignores VA_SRC_BT709 flag and uses BT.601 coefficients
Alias: None
Product: libva
Classification: Unclassified
Component: intel (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: medium normal
Assignee: ykzhao
QA Contact: Sean V Kelley
Depends on:
Reported: 2013-11-18 05:38 UTC by Lauri Mylläri
Modified: 2014-02-13 23:38 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Description Lauri Mylläri 2013-11-18 05:38:51 UTC
Colors are inaccurate when using VA-API decoding in XBMC, mplayer and gstreamer. This is easy to reproduce using AVS HD 709 calibration tests available at w6rz.net (download the MP4 version, try Misc Patterns/A - Additional/4-Color Clipping.mp4). If BT.601 colorspace is used, green channel is clipped and red extends far beyond 235. Correct decoding shows all channels reaching maximum at 235.

It looks like the flags parameter is not checked for VA_SRC_{BT601,BT709,SMPTE_240} and src/shaders/render/exa_wm_yuv_rgb.g7a has bt.601 coefficients hardcoded.

This issue was also mentioned at https://bugs.freedesktop.org/show_bug.cgi?id=46800#c16
Comment 1 ykzhao 2013-11-25 07:02:15 UTC
Hi, Lauri
    Will you please try the latest staging branch and see whether it works for you? Now I already add the support of BT709/SMPTE240, which is passed by the flag of vaPutSurface.

Comment 2 Lauri Mylläri 2013-11-25 16:37:52 UTC
Thank you for the fixes. I can confirm BT.709 works now - I don't have test patterns for the others.
Comment 3 ykzhao 2013-11-26 02:34:28 UTC
Thanks for the test.

Since it can work well, this bug will be marked as resolved.


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.