Reland "Add FCC, YDZDX, GBR, SMPTE240 color space support"

This is a reland of

Difference from original (PS1 to PS12):
Original commit was reverted due to GM rendering failures where we
ran texture out of bounds due to so many color spaces added. This change
updates the wacky_yuv_formats test to run on limited set of color spaces
skipping few of them.

Original Commit Message:
This adds FCC and SMPTE240 color space support which follows logic
similar to YCbCr color spaces and adds relevant Kr, Kb coefficients to

Also add YDZDX color space which has a different transfer matrix from
YCbCr but follows similar order of operations with Transfer *
Inverse(Range) as done in gfx::ColorSpace.

Also add GBR color space matrix which also has different transfer matrix
and follows order of operations similar to YCgCo with Inverse(Range) *
Transfer as done in gfx::ColorSpace.

Bug: b/41486014
Change-Id: Ibc99c05ebc006b1950fe2023eb2ff210da20c423
Commit-Queue: Saifuddin Hitawala <>
Reviewed-by: Brian Osman <>
3 files changed