[FFmpeg-devel] xvYCC Conversion to Wide Gamut RGB with FFmpeg

Thomas Worth dev at rarevision.com
Sat Apr 2 00:32:26 CEST 2011

On Fri, Apr 1, 2011 at 5:19 AM, yellowsblog
<yellowsblog at blueyonder.co.uk> wrote:
> My understanding is that any YCbCr source with captured data in range
> outside 16 - 235/240 and sRGB colour primaries may well be xvYCC or at the
> very least have colour information beyond sRGB gamut, so I can give you a
> link to a h264AVC .MOV source shot from a Canon HD DSLR and a discussion
> thread on Doom9:
> Link to file:
> http://www.yellowspace.webspace.virginmedia.com/Gold.aMOV
> Link to Discussion:
> http://forum.doom9.org/showthread.php?t=159915
> The thread also discusses yCMS 3D LUT system which has recently had xvYCC
> support added.

Are you sure Canon DLSRs use xvYCC? I thought this was a Sony thing.
If you want to check you can download our tool, 5DtoRGB, and convert a
clip using "none" as the decoding matrix. This will show you raw pixel
values for Y, Cb, and Cr copied straight from the H.264 file prior to
being decoded. I don't know if Canon use values outside 16-240 for
chroma, but it's possible. Some tests with a color chart and jacking
up the saturation in a Picture Style may help determine this.

Grab it here: http://rarevision.com/5dtorgb/

By the way, the post you made mentioned Blackmagic Design hardware not
supporting values outside 16-235 / 64-940. This isn't necessarily the
case. The problem with BMD is their software, specifically in this
case their Directshow filters. It is the FILTERS that are clamping the
output to 16-235, NOT the hardware. I have written software with their
SDK that lets you access the hardware directly, and I can say that the
hardware will indeed support full range data. This makes sense, since
timing info must be present and it is usually carried in values under
or above 16-240. So if you feel like writing your own capture app in
C++, you can do it. :-)

More information about the ffmpeg-devel mailing list