xyz2rgb Video Filter

The xyz2rgb filter is an ffmpeg Video filter that converts from XYZ to RGB Rec 709 color space. It can be used to transform the colors of JPEG2000 image files in a DCP.


You may want to right-click and select download


The zip file contains 3 files

See Install ffmpeg with xyz2rgb Video Filter

The xyz2rgb filter has no parameters and converts pixel by pixel from XYZ to sRGB. It does this by 4 steps

The color matrix used is

r = 3.2404542 * x - 1.5371385 * y - 0.4985314 * z
g = - 0.9692660 * x + 1.8760108 * y + 0.0415560 * z
b = 0.0556434 * x - 0.2040259 * y + 1.0572252 * z

The calculation is done in 12bit integer precision. The filter accepts 8bit and 16bit input.
The gamma values are precalculated to speed up the transformation

See also Open Source DCP Player Proof of Concept

You can find theoretical documentation on the transformation here


The xyz2rgb Video Filter is released as LGPL. ffmpeg is a great tool so I am proud to add my little contribution on it. It took about 30 hours to code and check xyz2rgb.