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
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. Thanks.
Thank you for the fixes. I can confirm BT.709 works now - I don't have test patterns for the others.
Thanks for the test. Since it can work well, this bug will be marked as resolved. Thanks.
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.