[Lcms-user] Crafting a YCbCr profile with LittleCMS
An ICC-based CMM for color management
Brought to you by:
mm2
From: L. E. S. <am...@am...> - 2022-01-25 22:05:21
|
Hi, I am writing to this list in hope of getting some help for crafting profiles with LittleCMS. My objective is to craft a Rec.709 YCbCr to XYZ profile for Krita. The YCbCr -> XYZ conversion goes as this: 1. YCbCr -> normalized R'G'B. Source: Ford & Roberts (1998), eq. 105. <http://poynton.ca/PDFs/coloureq.pdf> 2. Normalized R'G'B -> linear RGB. Source: ITU-R BT.2087 3. Linear RGB -> XYZ. Source: Ford & Roberts (1998), eq. 102. <http://poynton.ca/PDFs/coloureq.pdf> And for the XYZ -> YCbCr side of things, 1. XYZ -> Linear RGB. Source: Ford & Roberts (1998), eq. 103. <http://poynton.ca/PDFs/coloureq.pdf> 2. Linear RGB -> Normalized R'G'B. Source: ITU-R BT.2087 3. Normalized R'G'B -> YCbCr. Source: Ford & Roberts (1998), eq. 104. <http://poynton.ca/PDFs/coloureq.pdf> My questions are as follows: 1. Are the pipelines correct? If not, what are the errors? 2. According to the ICC 4.3 standard, sections 10.10.1 and 10.11.1, to use the CLUT I must wrap it in two triplets of (identity) tone curves. But doing so simply renders the pipeline into an empty tag, so I need to downgrade to 2.2 and remove the tone curves from the pipeline. Why is this happening? If anyone wants to check my code out, I have uploaded it at <https://github.com/amyspark/krita-ycbcr-profiles>. Please reply to this email with any questions you may have. Best regards, amyspark -- amyspark 🌸 https://www.amyspark.me |