1059b1c5bSMauro Carvalho Chehab.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 254f38fcaSMauro Carvalho Chehab 354f38fcaSMauro Carvalho Chehab******************************** 454f38fcaSMauro Carvalho ChehabDetailed Colorspace Descriptions 554f38fcaSMauro Carvalho Chehab******************************** 654f38fcaSMauro Carvalho Chehab 754f38fcaSMauro Carvalho Chehab 854f38fcaSMauro Carvalho Chehab.. _col-smpte-170m: 954f38fcaSMauro Carvalho Chehab 1054f38fcaSMauro Carvalho ChehabColorspace SMPTE 170M (V4L2_COLORSPACE_SMPTE170M) 1154f38fcaSMauro Carvalho Chehab================================================= 1254f38fcaSMauro Carvalho Chehab 1354f38fcaSMauro Carvalho ChehabThe :ref:`smpte170m` standard defines the colorspace used by NTSC and 1454f38fcaSMauro Carvalho ChehabPAL and by SDTV in general. The default transfer function is 1554f38fcaSMauro Carvalho Chehab``V4L2_XFER_FUNC_709``. The default Y'CbCr encoding is 1654f38fcaSMauro Carvalho Chehab``V4L2_YCBCR_ENC_601``. The default Y'CbCr quantization is limited 1754f38fcaSMauro Carvalho Chehabrange. The chromaticities of the primary colors and the white reference 1854f38fcaSMauro Carvalho Chehabare: 1954f38fcaSMauro Carvalho Chehab 2054f38fcaSMauro Carvalho Chehab.. flat-table:: SMPTE 170M Chromaticities 2154f38fcaSMauro Carvalho Chehab :header-rows: 1 2254f38fcaSMauro Carvalho Chehab :stub-columns: 0 2354f38fcaSMauro Carvalho Chehab :widths: 1 1 2 2454f38fcaSMauro Carvalho Chehab 2554f38fcaSMauro Carvalho Chehab * - Color 2654f38fcaSMauro Carvalho Chehab - x 2754f38fcaSMauro Carvalho Chehab - y 2854f38fcaSMauro Carvalho Chehab * - Red 2954f38fcaSMauro Carvalho Chehab - 0.630 3054f38fcaSMauro Carvalho Chehab - 0.340 3154f38fcaSMauro Carvalho Chehab * - Green 3254f38fcaSMauro Carvalho Chehab - 0.310 3354f38fcaSMauro Carvalho Chehab - 0.595 3454f38fcaSMauro Carvalho Chehab * - Blue 3554f38fcaSMauro Carvalho Chehab - 0.155 3654f38fcaSMauro Carvalho Chehab - 0.070 3754f38fcaSMauro Carvalho Chehab * - White Reference (D65) 3854f38fcaSMauro Carvalho Chehab - 0.3127 3954f38fcaSMauro Carvalho Chehab - 0.3290 4054f38fcaSMauro Carvalho Chehab 4154f38fcaSMauro Carvalho Chehab 4254f38fcaSMauro Carvalho ChehabThe red, green and blue chromaticities are also often referred to as the 4354f38fcaSMauro Carvalho ChehabSMPTE C set, so this colorspace is sometimes called SMPTE C as well. 4454f38fcaSMauro Carvalho Chehab 4554f38fcaSMauro Carvalho ChehabThe transfer function defined for SMPTE 170M is the same as the one 4654f38fcaSMauro Carvalho Chehabdefined in Rec. 709. 4754f38fcaSMauro Carvalho Chehab 4854f38fcaSMauro Carvalho Chehab.. math:: 4954f38fcaSMauro Carvalho Chehab 5054f38fcaSMauro Carvalho Chehab L' = -1.099(-L)^{0.45} + 0.099 \text{, for } L \le-0.018 5154f38fcaSMauro Carvalho Chehab 5254f38fcaSMauro Carvalho Chehab L' = 4.5L \text{, for } -0.018 < L < 0.018 5354f38fcaSMauro Carvalho Chehab 5454f38fcaSMauro Carvalho Chehab L' = 1.099L^{0.45} - 0.099 \text{, for } L \ge 0.018 5554f38fcaSMauro Carvalho Chehab 5654f38fcaSMauro Carvalho ChehabInverse Transfer function: 5754f38fcaSMauro Carvalho Chehab 5854f38fcaSMauro Carvalho Chehab.. math:: 5954f38fcaSMauro Carvalho Chehab 6054f38fcaSMauro Carvalho Chehab L = -\left( \frac{L' - 0.099}{-1.099} \right) ^{\frac{1}{0.45}} \text{, for } L' \le -0.081 6154f38fcaSMauro Carvalho Chehab 6254f38fcaSMauro Carvalho Chehab L = \frac{L'}{4.5} \text{, for } -0.081 < L' < 0.081 6354f38fcaSMauro Carvalho Chehab 6454f38fcaSMauro Carvalho Chehab L = \left(\frac{L' + 0.099}{1.099}\right)^{\frac{1}{0.45} } \text{, for } L' \ge 0.081 6554f38fcaSMauro Carvalho Chehab 6654f38fcaSMauro Carvalho ChehabThe luminance (Y') and color difference (Cb and Cr) are obtained with 6754f38fcaSMauro Carvalho Chehabthe following ``V4L2_YCBCR_ENC_601`` encoding: 6854f38fcaSMauro Carvalho Chehab 6954f38fcaSMauro Carvalho Chehab.. math:: 7054f38fcaSMauro Carvalho Chehab 7154f38fcaSMauro Carvalho Chehab Y' = 0.2990R' + 0.5870G' + 0.1140B' 7254f38fcaSMauro Carvalho Chehab 7354f38fcaSMauro Carvalho Chehab Cb = -0.1687R' - 0.3313G' + 0.5B' 7454f38fcaSMauro Carvalho Chehab 7554f38fcaSMauro Carvalho Chehab Cr = 0.5R' - 0.4187G' - 0.0813B' 7654f38fcaSMauro Carvalho Chehab 7754f38fcaSMauro Carvalho ChehabY' is clamped to the range [0…1] and Cb and Cr are clamped to the range 7854f38fcaSMauro Carvalho Chehab[-0.5…0.5]. This conversion to Y'CbCr is identical to the one defined in 7954f38fcaSMauro Carvalho Chehabthe :ref:`itu601` standard and this colorspace is sometimes called 8054f38fcaSMauro Carvalho ChehabBT.601 as well, even though BT.601 does not mention any color primaries. 8154f38fcaSMauro Carvalho Chehab 8254f38fcaSMauro Carvalho ChehabThe default quantization is limited range, but full range is possible 8354f38fcaSMauro Carvalho Chehabalthough rarely seen. 8454f38fcaSMauro Carvalho Chehab 8554f38fcaSMauro Carvalho Chehab 8654f38fcaSMauro Carvalho Chehab.. _col-rec709: 8754f38fcaSMauro Carvalho Chehab 8854f38fcaSMauro Carvalho ChehabColorspace Rec. 709 (V4L2_COLORSPACE_REC709) 8954f38fcaSMauro Carvalho Chehab============================================ 9054f38fcaSMauro Carvalho Chehab 9154f38fcaSMauro Carvalho ChehabThe :ref:`itu709` standard defines the colorspace used by HDTV in 9254f38fcaSMauro Carvalho Chehabgeneral. The default transfer function is ``V4L2_XFER_FUNC_709``. The 9354f38fcaSMauro Carvalho Chehabdefault Y'CbCr encoding is ``V4L2_YCBCR_ENC_709``. The default Y'CbCr 9454f38fcaSMauro Carvalho Chehabquantization is limited range. The chromaticities of the primary colors 9554f38fcaSMauro Carvalho Chehaband the white reference are: 9654f38fcaSMauro Carvalho Chehab 9754f38fcaSMauro Carvalho Chehab.. flat-table:: Rec. 709 Chromaticities 9854f38fcaSMauro Carvalho Chehab :header-rows: 1 9954f38fcaSMauro Carvalho Chehab :stub-columns: 0 10054f38fcaSMauro Carvalho Chehab :widths: 1 1 2 10154f38fcaSMauro Carvalho Chehab 10254f38fcaSMauro Carvalho Chehab * - Color 10354f38fcaSMauro Carvalho Chehab - x 10454f38fcaSMauro Carvalho Chehab - y 10554f38fcaSMauro Carvalho Chehab * - Red 10654f38fcaSMauro Carvalho Chehab - 0.640 10754f38fcaSMauro Carvalho Chehab - 0.330 10854f38fcaSMauro Carvalho Chehab * - Green 10954f38fcaSMauro Carvalho Chehab - 0.300 11054f38fcaSMauro Carvalho Chehab - 0.600 11154f38fcaSMauro Carvalho Chehab * - Blue 11254f38fcaSMauro Carvalho Chehab - 0.150 11354f38fcaSMauro Carvalho Chehab - 0.060 11454f38fcaSMauro Carvalho Chehab * - White Reference (D65) 11554f38fcaSMauro Carvalho Chehab - 0.3127 11654f38fcaSMauro Carvalho Chehab - 0.3290 11754f38fcaSMauro Carvalho Chehab 11854f38fcaSMauro Carvalho Chehab 11954f38fcaSMauro Carvalho ChehabThe full name of this standard is Rec. ITU-R BT.709-5. 12054f38fcaSMauro Carvalho Chehab 12154f38fcaSMauro Carvalho ChehabTransfer function. Normally L is in the range [0…1], but for the 12254f38fcaSMauro Carvalho Chehabextended gamut xvYCC encoding values outside that range are allowed. 12354f38fcaSMauro Carvalho Chehab 12454f38fcaSMauro Carvalho Chehab.. math:: 12554f38fcaSMauro Carvalho Chehab 12654f38fcaSMauro Carvalho Chehab L' = -1.099(-L)^{0.45} + 0.099 \text{, for } L \le -0.018 12754f38fcaSMauro Carvalho Chehab 12854f38fcaSMauro Carvalho Chehab L' = 4.5L \text{, for } -0.018 < L < 0.018 12954f38fcaSMauro Carvalho Chehab 13054f38fcaSMauro Carvalho Chehab L' = 1.099L^{0.45} - 0.099 \text{, for } L \ge 0.018 13154f38fcaSMauro Carvalho Chehab 13254f38fcaSMauro Carvalho ChehabInverse Transfer function: 13354f38fcaSMauro Carvalho Chehab 13454f38fcaSMauro Carvalho Chehab.. math:: 13554f38fcaSMauro Carvalho Chehab 13654f38fcaSMauro Carvalho Chehab L = -\left( \frac{L' - 0.099}{-1.099} \right)^\frac{1}{0.45} \text{, for } L' \le -0.081 13754f38fcaSMauro Carvalho Chehab 13854f38fcaSMauro Carvalho Chehab L = \frac{L'}{4.5}\text{, for } -0.081 < L' < 0.081 13954f38fcaSMauro Carvalho Chehab 14054f38fcaSMauro Carvalho Chehab L = \left(\frac{L' + 0.099}{1.099}\right)^{\frac{1}{0.45} } \text{, for } L' \ge 0.081 14154f38fcaSMauro Carvalho Chehab 14254f38fcaSMauro Carvalho ChehabThe luminance (Y') and color difference (Cb and Cr) are obtained with 14354f38fcaSMauro Carvalho Chehabthe following ``V4L2_YCBCR_ENC_709`` encoding: 14454f38fcaSMauro Carvalho Chehab 14554f38fcaSMauro Carvalho Chehab.. math:: 14654f38fcaSMauro Carvalho Chehab 14754f38fcaSMauro Carvalho Chehab Y' = 0.2126R' + 0.7152G' + 0.0722B' 14854f38fcaSMauro Carvalho Chehab 14954f38fcaSMauro Carvalho Chehab Cb = -0.1146R' - 0.3854G' + 0.5B' 15054f38fcaSMauro Carvalho Chehab 15154f38fcaSMauro Carvalho Chehab Cr = 0.5R' - 0.4542G' - 0.0458B' 15254f38fcaSMauro Carvalho Chehab 15354f38fcaSMauro Carvalho ChehabY' is clamped to the range [0…1] and Cb and Cr are clamped to the range 15454f38fcaSMauro Carvalho Chehab[-0.5…0.5]. 15554f38fcaSMauro Carvalho Chehab 15654f38fcaSMauro Carvalho ChehabThe default quantization is limited range, but full range is possible 15754f38fcaSMauro Carvalho Chehabalthough rarely seen. 15854f38fcaSMauro Carvalho Chehab 15954f38fcaSMauro Carvalho ChehabThe ``V4L2_YCBCR_ENC_709`` encoding described above is the default for 16054f38fcaSMauro Carvalho Chehabthis colorspace, but it can be overridden with ``V4L2_YCBCR_ENC_601``, 16154f38fcaSMauro Carvalho Chehabin which case the BT.601 Y'CbCr encoding is used. 16254f38fcaSMauro Carvalho Chehab 16354f38fcaSMauro Carvalho ChehabTwo additional extended gamut Y'CbCr encodings are also possible with 16454f38fcaSMauro Carvalho Chehabthis colorspace: 16554f38fcaSMauro Carvalho Chehab 16654f38fcaSMauro Carvalho ChehabThe xvYCC 709 encoding (``V4L2_YCBCR_ENC_XV709``, :ref:`xvycc`) is 16754f38fcaSMauro Carvalho Chehabsimilar to the Rec. 709 encoding, but it allows for R', G' and B' values 16854f38fcaSMauro Carvalho Chehabthat are outside the range [0…1]. The resulting Y', Cb and Cr values are 16954f38fcaSMauro Carvalho Chehabscaled and offset according to the limited range formula: 17054f38fcaSMauro Carvalho Chehab 17154f38fcaSMauro Carvalho Chehab.. math:: 17254f38fcaSMauro Carvalho Chehab 17354f38fcaSMauro Carvalho Chehab Y' = \frac{219}{256} * (0.2126R' + 0.7152G' + 0.0722B') + \frac{16}{256} 17454f38fcaSMauro Carvalho Chehab 17554f38fcaSMauro Carvalho Chehab Cb = \frac{224}{256} * (-0.1146R' - 0.3854G' + 0.5B') 17654f38fcaSMauro Carvalho Chehab 17754f38fcaSMauro Carvalho Chehab Cr = \frac{224}{256} * (0.5R' - 0.4542G' - 0.0458B') 17854f38fcaSMauro Carvalho Chehab 17954f38fcaSMauro Carvalho ChehabThe xvYCC 601 encoding (``V4L2_YCBCR_ENC_XV601``, :ref:`xvycc`) is 18054f38fcaSMauro Carvalho Chehabsimilar to the BT.601 encoding, but it allows for R', G' and B' values 18154f38fcaSMauro Carvalho Chehabthat are outside the range [0…1]. The resulting Y', Cb and Cr values are 18254f38fcaSMauro Carvalho Chehabscaled and offset according to the limited range formula: 18354f38fcaSMauro Carvalho Chehab 18454f38fcaSMauro Carvalho Chehab.. math:: 18554f38fcaSMauro Carvalho Chehab 18654f38fcaSMauro Carvalho Chehab Y' = \frac{219}{256} * (0.2990R' + 0.5870G' + 0.1140B') + \frac{16}{256} 18754f38fcaSMauro Carvalho Chehab 18854f38fcaSMauro Carvalho Chehab Cb = \frac{224}{256} * (-0.1687R' - 0.3313G' + 0.5B') 18954f38fcaSMauro Carvalho Chehab 19054f38fcaSMauro Carvalho Chehab Cr = \frac{224}{256} * (0.5R' - 0.4187G' - 0.0813B') 19154f38fcaSMauro Carvalho Chehab 19254f38fcaSMauro Carvalho ChehabY' is clamped to the range [0…1] and Cb and Cr are clamped to the range 19354f38fcaSMauro Carvalho Chehab[-0.5…0.5] and quantized without further scaling or offsets. 19454f38fcaSMauro Carvalho ChehabThe non-standard xvYCC 709 or xvYCC 601 encodings can be 19554f38fcaSMauro Carvalho Chehabused by selecting ``V4L2_YCBCR_ENC_XV709`` or ``V4L2_YCBCR_ENC_XV601``. 19654f38fcaSMauro Carvalho ChehabAs seen by the xvYCC formulas these encodings always use limited range quantization, 19754f38fcaSMauro Carvalho Chehabthere is no full range variant. The whole point of these extended gamut encodings 19854f38fcaSMauro Carvalho Chehabis that values outside the limited range are still valid, although they 19954f38fcaSMauro Carvalho Chehabmap to R', G' and B' values outside the [0…1] range and are therefore outside 20054f38fcaSMauro Carvalho Chehabthe Rec. 709 colorspace gamut. 20154f38fcaSMauro Carvalho Chehab 20254f38fcaSMauro Carvalho Chehab 20354f38fcaSMauro Carvalho Chehab.. _col-srgb: 20454f38fcaSMauro Carvalho Chehab 20554f38fcaSMauro Carvalho ChehabColorspace sRGB (V4L2_COLORSPACE_SRGB) 20654f38fcaSMauro Carvalho Chehab====================================== 20754f38fcaSMauro Carvalho Chehab 20854f38fcaSMauro Carvalho ChehabThe :ref:`srgb` standard defines the colorspace used by most webcams 20954f38fcaSMauro Carvalho Chehaband computer graphics. The default transfer function is 21054f38fcaSMauro Carvalho Chehab``V4L2_XFER_FUNC_SRGB``. The default Y'CbCr encoding is 21154f38fcaSMauro Carvalho Chehab``V4L2_YCBCR_ENC_601``. The default Y'CbCr quantization is limited range. 21254f38fcaSMauro Carvalho Chehab 21354f38fcaSMauro Carvalho ChehabNote that the :ref:`sycc` standard specifies full range quantization, 21454f38fcaSMauro Carvalho Chehabhowever all current capture hardware supported by the kernel convert 21554f38fcaSMauro Carvalho ChehabR'G'B' to limited range Y'CbCr. So choosing full range as the default 21654f38fcaSMauro Carvalho Chehabwould break how applications interpret the quantization range. 21754f38fcaSMauro Carvalho Chehab 21854f38fcaSMauro Carvalho ChehabThe chromaticities of the primary colors and the white reference are: 21954f38fcaSMauro Carvalho Chehab 22054f38fcaSMauro Carvalho Chehab.. flat-table:: sRGB Chromaticities 22154f38fcaSMauro Carvalho Chehab :header-rows: 1 22254f38fcaSMauro Carvalho Chehab :stub-columns: 0 22354f38fcaSMauro Carvalho Chehab :widths: 1 1 2 22454f38fcaSMauro Carvalho Chehab 22554f38fcaSMauro Carvalho Chehab * - Color 22654f38fcaSMauro Carvalho Chehab - x 22754f38fcaSMauro Carvalho Chehab - y 22854f38fcaSMauro Carvalho Chehab * - Red 22954f38fcaSMauro Carvalho Chehab - 0.640 23054f38fcaSMauro Carvalho Chehab - 0.330 23154f38fcaSMauro Carvalho Chehab * - Green 23254f38fcaSMauro Carvalho Chehab - 0.300 23354f38fcaSMauro Carvalho Chehab - 0.600 23454f38fcaSMauro Carvalho Chehab * - Blue 23554f38fcaSMauro Carvalho Chehab - 0.150 23654f38fcaSMauro Carvalho Chehab - 0.060 23754f38fcaSMauro Carvalho Chehab * - White Reference (D65) 23854f38fcaSMauro Carvalho Chehab - 0.3127 23954f38fcaSMauro Carvalho Chehab - 0.3290 24054f38fcaSMauro Carvalho Chehab 24154f38fcaSMauro Carvalho Chehab 24254f38fcaSMauro Carvalho ChehabThese chromaticities are identical to the Rec. 709 colorspace. 24354f38fcaSMauro Carvalho Chehab 24454f38fcaSMauro Carvalho ChehabTransfer function. Note that negative values for L are only used by the 24554f38fcaSMauro Carvalho ChehabY'CbCr conversion. 24654f38fcaSMauro Carvalho Chehab 24754f38fcaSMauro Carvalho Chehab.. math:: 24854f38fcaSMauro Carvalho Chehab 24954f38fcaSMauro Carvalho Chehab L' = -1.055(-L)^{\frac{1}{2.4} } + 0.055\text{, for }L < -0.0031308 25054f38fcaSMauro Carvalho Chehab 25154f38fcaSMauro Carvalho Chehab L' = 12.92L\text{, for }-0.0031308 \le L \le 0.0031308 25254f38fcaSMauro Carvalho Chehab 25354f38fcaSMauro Carvalho Chehab L' = 1.055L ^{\frac{1}{2.4} } - 0.055\text{, for }0.0031308 < L \le 1 25454f38fcaSMauro Carvalho Chehab 25554f38fcaSMauro Carvalho ChehabInverse Transfer function: 25654f38fcaSMauro Carvalho Chehab 25754f38fcaSMauro Carvalho Chehab.. math:: 25854f38fcaSMauro Carvalho Chehab 25954f38fcaSMauro Carvalho Chehab L = -((-L' + 0.055) / 1.055) ^{2.4}\text{, for }L' < -0.04045 26054f38fcaSMauro Carvalho Chehab 26154f38fcaSMauro Carvalho Chehab L = L' / 12.92\text{, for }-0.04045 \le L' \le 0.04045 26254f38fcaSMauro Carvalho Chehab 26354f38fcaSMauro Carvalho Chehab L = ((L' + 0.055) / 1.055) ^{2.4}\text{, for }L' > 0.04045 26454f38fcaSMauro Carvalho Chehab 26554f38fcaSMauro Carvalho ChehabThe luminance (Y') and color difference (Cb and Cr) are obtained with 26654f38fcaSMauro Carvalho Chehabthe following ``V4L2_YCBCR_ENC_601`` encoding as defined by :ref:`sycc`: 26754f38fcaSMauro Carvalho Chehab 26854f38fcaSMauro Carvalho Chehab.. math:: 26954f38fcaSMauro Carvalho Chehab 27054f38fcaSMauro Carvalho Chehab Y' = 0.2990R' + 0.5870G' + 0.1140B' 27154f38fcaSMauro Carvalho Chehab 27254f38fcaSMauro Carvalho Chehab Cb = -0.1687R' - 0.3313G' + 0.5B' 27354f38fcaSMauro Carvalho Chehab 27454f38fcaSMauro Carvalho Chehab Cr = 0.5R' - 0.4187G' - 0.0813B' 27554f38fcaSMauro Carvalho Chehab 27654f38fcaSMauro Carvalho ChehabY' is clamped to the range [0…1] and Cb and Cr are clamped to the range 27754f38fcaSMauro Carvalho Chehab[-0.5…0.5]. This transform is identical to one defined in SMPTE 27854f38fcaSMauro Carvalho Chehab170M/BT.601. The Y'CbCr quantization is limited range. 27954f38fcaSMauro Carvalho Chehab 28054f38fcaSMauro Carvalho Chehab 28154f38fcaSMauro Carvalho Chehab.. _col-oprgb: 28254f38fcaSMauro Carvalho Chehab 28354f38fcaSMauro Carvalho ChehabColorspace opRGB (V4L2_COLORSPACE_OPRGB) 28454f38fcaSMauro Carvalho Chehab=============================================== 28554f38fcaSMauro Carvalho Chehab 28654f38fcaSMauro Carvalho ChehabThe :ref:`oprgb` standard defines the colorspace used by computer 28754f38fcaSMauro Carvalho Chehabgraphics that use the opRGB colorspace. The default transfer function is 28854f38fcaSMauro Carvalho Chehab``V4L2_XFER_FUNC_OPRGB``. The default Y'CbCr encoding is 28954f38fcaSMauro Carvalho Chehab``V4L2_YCBCR_ENC_601``. The default Y'CbCr quantization is limited 29054f38fcaSMauro Carvalho Chehabrange. 29154f38fcaSMauro Carvalho Chehab 29254f38fcaSMauro Carvalho ChehabNote that the :ref:`oprgb` standard specifies full range quantization, 29354f38fcaSMauro Carvalho Chehabhowever all current capture hardware supported by the kernel convert 29454f38fcaSMauro Carvalho ChehabR'G'B' to limited range Y'CbCr. So choosing full range as the default 29554f38fcaSMauro Carvalho Chehabwould break how applications interpret the quantization range. 29654f38fcaSMauro Carvalho Chehab 29754f38fcaSMauro Carvalho ChehabThe chromaticities of the primary colors and the white reference are: 29854f38fcaSMauro Carvalho Chehab 29954f38fcaSMauro Carvalho Chehab.. flat-table:: opRGB Chromaticities 30054f38fcaSMauro Carvalho Chehab :header-rows: 1 30154f38fcaSMauro Carvalho Chehab :stub-columns: 0 30254f38fcaSMauro Carvalho Chehab :widths: 1 1 2 30354f38fcaSMauro Carvalho Chehab 30454f38fcaSMauro Carvalho Chehab * - Color 30554f38fcaSMauro Carvalho Chehab - x 30654f38fcaSMauro Carvalho Chehab - y 30754f38fcaSMauro Carvalho Chehab * - Red 30854f38fcaSMauro Carvalho Chehab - 0.6400 30954f38fcaSMauro Carvalho Chehab - 0.3300 31054f38fcaSMauro Carvalho Chehab * - Green 31154f38fcaSMauro Carvalho Chehab - 0.2100 31254f38fcaSMauro Carvalho Chehab - 0.7100 31354f38fcaSMauro Carvalho Chehab * - Blue 31454f38fcaSMauro Carvalho Chehab - 0.1500 31554f38fcaSMauro Carvalho Chehab - 0.0600 31654f38fcaSMauro Carvalho Chehab * - White Reference (D65) 31754f38fcaSMauro Carvalho Chehab - 0.3127 31854f38fcaSMauro Carvalho Chehab - 0.3290 31954f38fcaSMauro Carvalho Chehab 32054f38fcaSMauro Carvalho Chehab 32154f38fcaSMauro Carvalho Chehab 32254f38fcaSMauro Carvalho ChehabTransfer function: 32354f38fcaSMauro Carvalho Chehab 32454f38fcaSMauro Carvalho Chehab.. math:: 32554f38fcaSMauro Carvalho Chehab 32654f38fcaSMauro Carvalho Chehab L' = L ^{\frac{1}{2.19921875}} 32754f38fcaSMauro Carvalho Chehab 32854f38fcaSMauro Carvalho ChehabInverse Transfer function: 32954f38fcaSMauro Carvalho Chehab 33054f38fcaSMauro Carvalho Chehab.. math:: 33154f38fcaSMauro Carvalho Chehab 33254f38fcaSMauro Carvalho Chehab L = L'^{(2.19921875)} 33354f38fcaSMauro Carvalho Chehab 33454f38fcaSMauro Carvalho ChehabThe luminance (Y') and color difference (Cb and Cr) are obtained with 33554f38fcaSMauro Carvalho Chehabthe following ``V4L2_YCBCR_ENC_601`` encoding: 33654f38fcaSMauro Carvalho Chehab 33754f38fcaSMauro Carvalho Chehab.. math:: 33854f38fcaSMauro Carvalho Chehab 33954f38fcaSMauro Carvalho Chehab Y' = 0.2990R' + 0.5870G' + 0.1140B' 34054f38fcaSMauro Carvalho Chehab 34154f38fcaSMauro Carvalho Chehab Cb = -0.1687R' - 0.3313G' + 0.5B' 34254f38fcaSMauro Carvalho Chehab 34354f38fcaSMauro Carvalho Chehab Cr = 0.5R' - 0.4187G' - 0.0813B' 34454f38fcaSMauro Carvalho Chehab 34554f38fcaSMauro Carvalho ChehabY' is clamped to the range [0…1] and Cb and Cr are clamped to the range 34654f38fcaSMauro Carvalho Chehab[-0.5…0.5]. This transform is identical to one defined in SMPTE 34754f38fcaSMauro Carvalho Chehab170M/BT.601. The Y'CbCr quantization is limited range. 34854f38fcaSMauro Carvalho Chehab 34954f38fcaSMauro Carvalho Chehab 35054f38fcaSMauro Carvalho Chehab.. _col-bt2020: 35154f38fcaSMauro Carvalho Chehab 35254f38fcaSMauro Carvalho ChehabColorspace BT.2020 (V4L2_COLORSPACE_BT2020) 35354f38fcaSMauro Carvalho Chehab=========================================== 35454f38fcaSMauro Carvalho Chehab 35554f38fcaSMauro Carvalho ChehabThe :ref:`itu2020` standard defines the colorspace used by Ultra-high 35654f38fcaSMauro Carvalho Chehabdefinition television (UHDTV). The default transfer function is 35754f38fcaSMauro Carvalho Chehab``V4L2_XFER_FUNC_709``. The default Y'CbCr encoding is 358b305dfe2SHans Verkuil``V4L2_YCBCR_ENC_BT2020``. The default Y'CbCr quantization is limited range. 359b305dfe2SHans VerkuilThe chromaticities of the primary colors and the white reference are: 36054f38fcaSMauro Carvalho Chehab 36154f38fcaSMauro Carvalho Chehab.. flat-table:: BT.2020 Chromaticities 36254f38fcaSMauro Carvalho Chehab :header-rows: 1 36354f38fcaSMauro Carvalho Chehab :stub-columns: 0 36454f38fcaSMauro Carvalho Chehab :widths: 1 1 2 36554f38fcaSMauro Carvalho Chehab 36654f38fcaSMauro Carvalho Chehab * - Color 36754f38fcaSMauro Carvalho Chehab - x 36854f38fcaSMauro Carvalho Chehab - y 36954f38fcaSMauro Carvalho Chehab * - Red 37054f38fcaSMauro Carvalho Chehab - 0.708 37154f38fcaSMauro Carvalho Chehab - 0.292 37254f38fcaSMauro Carvalho Chehab * - Green 37354f38fcaSMauro Carvalho Chehab - 0.170 37454f38fcaSMauro Carvalho Chehab - 0.797 37554f38fcaSMauro Carvalho Chehab * - Blue 37654f38fcaSMauro Carvalho Chehab - 0.131 37754f38fcaSMauro Carvalho Chehab - 0.046 37854f38fcaSMauro Carvalho Chehab * - White Reference (D65) 37954f38fcaSMauro Carvalho Chehab - 0.3127 38054f38fcaSMauro Carvalho Chehab - 0.3290 38154f38fcaSMauro Carvalho Chehab 38254f38fcaSMauro Carvalho Chehab 38354f38fcaSMauro Carvalho Chehab 38454f38fcaSMauro Carvalho ChehabTransfer function (same as Rec. 709): 38554f38fcaSMauro Carvalho Chehab 38654f38fcaSMauro Carvalho Chehab.. math:: 38754f38fcaSMauro Carvalho Chehab 38854f38fcaSMauro Carvalho Chehab L' = 4.5L\text{, for }0 \le L < 0.018 38954f38fcaSMauro Carvalho Chehab 39054f38fcaSMauro Carvalho Chehab L' = 1.099L ^{0.45} - 0.099\text{, for } 0.018 \le L \le 1 39154f38fcaSMauro Carvalho Chehab 39254f38fcaSMauro Carvalho ChehabInverse Transfer function: 39354f38fcaSMauro Carvalho Chehab 39454f38fcaSMauro Carvalho Chehab.. math:: 39554f38fcaSMauro Carvalho Chehab 39654f38fcaSMauro Carvalho Chehab L = L' / 4.5\text{, for } L' < 0.081 39754f38fcaSMauro Carvalho Chehab 39854f38fcaSMauro Carvalho Chehab L = \left( \frac{L' + 0.099}{1.099}\right) ^{\frac{1}{0.45} }\text{, for } L' \ge 0.081 39954f38fcaSMauro Carvalho Chehab 40054f38fcaSMauro Carvalho ChehabPlease note that while Rec. 709 is defined as the default transfer function 40154f38fcaSMauro Carvalho Chehabby the :ref:`itu2020` standard, in practice this colorspace is often used 40254f38fcaSMauro Carvalho Chehabwith the :ref:`xf-smpte-2084`. In particular Ultra HD Blu-ray discs use 40354f38fcaSMauro Carvalho Chehabthis combination. 40454f38fcaSMauro Carvalho Chehab 40554f38fcaSMauro Carvalho ChehabThe luminance (Y') and color difference (Cb and Cr) are obtained with 40654f38fcaSMauro Carvalho Chehabthe following ``V4L2_YCBCR_ENC_BT2020`` encoding: 40754f38fcaSMauro Carvalho Chehab 40854f38fcaSMauro Carvalho Chehab.. math:: 40954f38fcaSMauro Carvalho Chehab 41054f38fcaSMauro Carvalho Chehab Y' = 0.2627R' + 0.6780G' + 0.0593B' 41154f38fcaSMauro Carvalho Chehab 41254f38fcaSMauro Carvalho Chehab Cb = -0.1396R' - 0.3604G' + 0.5B' 41354f38fcaSMauro Carvalho Chehab 41454f38fcaSMauro Carvalho Chehab Cr = 0.5R' - 0.4598G' - 0.0402B' 41554f38fcaSMauro Carvalho Chehab 41654f38fcaSMauro Carvalho ChehabY' is clamped to the range [0…1] and Cb and Cr are clamped to the range 41754f38fcaSMauro Carvalho Chehab[-0.5…0.5]. The Y'CbCr quantization is limited range. 41854f38fcaSMauro Carvalho Chehab 41954f38fcaSMauro Carvalho ChehabThere is also an alternate constant luminance R'G'B' to Yc'CbcCrc 42054f38fcaSMauro Carvalho Chehab(``V4L2_YCBCR_ENC_BT2020_CONST_LUM``) encoding: 42154f38fcaSMauro Carvalho Chehab 42254f38fcaSMauro Carvalho ChehabLuma: 42354f38fcaSMauro Carvalho Chehab 42454f38fcaSMauro Carvalho Chehab.. math:: 42554f38fcaSMauro Carvalho Chehab :nowrap: 42654f38fcaSMauro Carvalho Chehab 42754f38fcaSMauro Carvalho Chehab \begin{align*} 42854f38fcaSMauro Carvalho Chehab Yc' = (0.2627R + 0.6780G + 0.0593B)'& \\ 42954f38fcaSMauro Carvalho Chehab B' - Yc' \le 0:& \\ 43054f38fcaSMauro Carvalho Chehab &Cbc = (B' - Yc') / 1.9404 \\ 43154f38fcaSMauro Carvalho Chehab B' - Yc' > 0: & \\ 43254f38fcaSMauro Carvalho Chehab &Cbc = (B' - Yc') / 1.5816 \\ 43354f38fcaSMauro Carvalho Chehab R' - Yc' \le 0:& \\ 43454f38fcaSMauro Carvalho Chehab &Crc = (R' - Y') / 1.7184 \\ 43554f38fcaSMauro Carvalho Chehab R' - Yc' > 0:& \\ 43654f38fcaSMauro Carvalho Chehab &Crc = (R' - Y') / 0.9936 43754f38fcaSMauro Carvalho Chehab \end{align*} 43854f38fcaSMauro Carvalho Chehab 43954f38fcaSMauro Carvalho ChehabYc' is clamped to the range [0…1] and Cbc and Crc are clamped to the 44054f38fcaSMauro Carvalho Chehabrange [-0.5…0.5]. The Yc'CbcCrc quantization is limited range. 44154f38fcaSMauro Carvalho Chehab 44254f38fcaSMauro Carvalho Chehab 44354f38fcaSMauro Carvalho Chehab.. _col-dcip3: 44454f38fcaSMauro Carvalho Chehab 44554f38fcaSMauro Carvalho ChehabColorspace DCI-P3 (V4L2_COLORSPACE_DCI_P3) 44654f38fcaSMauro Carvalho Chehab========================================== 44754f38fcaSMauro Carvalho Chehab 44854f38fcaSMauro Carvalho ChehabThe :ref:`smpte431` standard defines the colorspace used by cinema 44954f38fcaSMauro Carvalho Chehabprojectors that use the DCI-P3 colorspace. The default transfer function 45054f38fcaSMauro Carvalho Chehabis ``V4L2_XFER_FUNC_DCI_P3``. The default Y'CbCr encoding is 45154f38fcaSMauro Carvalho Chehab``V4L2_YCBCR_ENC_709``. The default Y'CbCr quantization is limited range. 45254f38fcaSMauro Carvalho Chehab 45354f38fcaSMauro Carvalho Chehab.. note:: 45454f38fcaSMauro Carvalho Chehab 45554f38fcaSMauro Carvalho Chehab Note that this colorspace standard does not specify a 45654f38fcaSMauro Carvalho Chehab Y'CbCr encoding since it is not meant to be encoded to Y'CbCr. So this 45754f38fcaSMauro Carvalho Chehab default Y'CbCr encoding was picked because it is the HDTV encoding. 45854f38fcaSMauro Carvalho Chehab 45954f38fcaSMauro Carvalho ChehabThe chromaticities of the primary colors and the white reference are: 46054f38fcaSMauro Carvalho Chehab 46154f38fcaSMauro Carvalho Chehab 46254f38fcaSMauro Carvalho Chehab.. flat-table:: DCI-P3 Chromaticities 46354f38fcaSMauro Carvalho Chehab :header-rows: 1 46454f38fcaSMauro Carvalho Chehab :stub-columns: 0 46554f38fcaSMauro Carvalho Chehab :widths: 1 1 2 46654f38fcaSMauro Carvalho Chehab 46754f38fcaSMauro Carvalho Chehab * - Color 46854f38fcaSMauro Carvalho Chehab - x 46954f38fcaSMauro Carvalho Chehab - y 47054f38fcaSMauro Carvalho Chehab * - Red 47154f38fcaSMauro Carvalho Chehab - 0.6800 47254f38fcaSMauro Carvalho Chehab - 0.3200 47354f38fcaSMauro Carvalho Chehab * - Green 47454f38fcaSMauro Carvalho Chehab - 0.2650 47554f38fcaSMauro Carvalho Chehab - 0.6900 47654f38fcaSMauro Carvalho Chehab * - Blue 47754f38fcaSMauro Carvalho Chehab - 0.1500 47854f38fcaSMauro Carvalho Chehab - 0.0600 47954f38fcaSMauro Carvalho Chehab * - White Reference 48054f38fcaSMauro Carvalho Chehab - 0.3140 48154f38fcaSMauro Carvalho Chehab - 0.3510 48254f38fcaSMauro Carvalho Chehab 48354f38fcaSMauro Carvalho Chehab 48454f38fcaSMauro Carvalho Chehab 48554f38fcaSMauro Carvalho ChehabTransfer function: 48654f38fcaSMauro Carvalho Chehab 48754f38fcaSMauro Carvalho Chehab.. math:: 48854f38fcaSMauro Carvalho Chehab 48954f38fcaSMauro Carvalho Chehab L' = L^{\frac{1}{2.6}} 49054f38fcaSMauro Carvalho Chehab 49154f38fcaSMauro Carvalho ChehabInverse Transfer function: 49254f38fcaSMauro Carvalho Chehab 49354f38fcaSMauro Carvalho Chehab.. math:: 49454f38fcaSMauro Carvalho Chehab 49554f38fcaSMauro Carvalho Chehab L = L'^{(2.6)} 49654f38fcaSMauro Carvalho Chehab 49754f38fcaSMauro Carvalho ChehabY'CbCr encoding is not specified. V4L2 defaults to Rec. 709. 49854f38fcaSMauro Carvalho Chehab 49954f38fcaSMauro Carvalho Chehab 50054f38fcaSMauro Carvalho Chehab.. _col-smpte-240m: 50154f38fcaSMauro Carvalho Chehab 50254f38fcaSMauro Carvalho ChehabColorspace SMPTE 240M (V4L2_COLORSPACE_SMPTE240M) 50354f38fcaSMauro Carvalho Chehab================================================= 50454f38fcaSMauro Carvalho Chehab 50554f38fcaSMauro Carvalho ChehabThe :ref:`smpte240m` standard was an interim standard used during the 50654f38fcaSMauro Carvalho Chehabearly days of HDTV (1988-1998). It has been superseded by Rec. 709. The 50754f38fcaSMauro Carvalho Chehabdefault transfer function is ``V4L2_XFER_FUNC_SMPTE240M``. The default 50854f38fcaSMauro Carvalho ChehabY'CbCr encoding is ``V4L2_YCBCR_ENC_SMPTE240M``. The default Y'CbCr 50954f38fcaSMauro Carvalho Chehabquantization is limited range. The chromaticities of the primary colors 51054f38fcaSMauro Carvalho Chehaband the white reference are: 51154f38fcaSMauro Carvalho Chehab 51254f38fcaSMauro Carvalho Chehab 51354f38fcaSMauro Carvalho Chehab.. flat-table:: SMPTE 240M Chromaticities 51454f38fcaSMauro Carvalho Chehab :header-rows: 1 51554f38fcaSMauro Carvalho Chehab :stub-columns: 0 51654f38fcaSMauro Carvalho Chehab :widths: 1 1 2 51754f38fcaSMauro Carvalho Chehab 51854f38fcaSMauro Carvalho Chehab * - Color 51954f38fcaSMauro Carvalho Chehab - x 52054f38fcaSMauro Carvalho Chehab - y 52154f38fcaSMauro Carvalho Chehab * - Red 52254f38fcaSMauro Carvalho Chehab - 0.630 52354f38fcaSMauro Carvalho Chehab - 0.340 52454f38fcaSMauro Carvalho Chehab * - Green 52554f38fcaSMauro Carvalho Chehab - 0.310 52654f38fcaSMauro Carvalho Chehab - 0.595 52754f38fcaSMauro Carvalho Chehab * - Blue 52854f38fcaSMauro Carvalho Chehab - 0.155 52954f38fcaSMauro Carvalho Chehab - 0.070 53054f38fcaSMauro Carvalho Chehab * - White Reference (D65) 53154f38fcaSMauro Carvalho Chehab - 0.3127 53254f38fcaSMauro Carvalho Chehab - 0.3290 53354f38fcaSMauro Carvalho Chehab 53454f38fcaSMauro Carvalho Chehab 53554f38fcaSMauro Carvalho ChehabThese chromaticities are identical to the SMPTE 170M colorspace. 53654f38fcaSMauro Carvalho Chehab 53754f38fcaSMauro Carvalho ChehabTransfer function: 53854f38fcaSMauro Carvalho Chehab 53954f38fcaSMauro Carvalho Chehab.. math:: 54054f38fcaSMauro Carvalho Chehab 54154f38fcaSMauro Carvalho Chehab L' = 4L\text{, for } 0 \le L < 0.0228 54254f38fcaSMauro Carvalho Chehab 54354f38fcaSMauro Carvalho Chehab L' = 1.1115L ^{0.45} - 0.1115\text{, for } 0.0228 \le L \le 1 54454f38fcaSMauro Carvalho Chehab 54554f38fcaSMauro Carvalho ChehabInverse Transfer function: 54654f38fcaSMauro Carvalho Chehab 54754f38fcaSMauro Carvalho Chehab.. math:: 54854f38fcaSMauro Carvalho Chehab 54954f38fcaSMauro Carvalho Chehab L = \frac{L'}{4}\text{, for } 0 \le L' < 0.0913 55054f38fcaSMauro Carvalho Chehab 55154f38fcaSMauro Carvalho Chehab L = \left( \frac{L' + 0.1115}{1.1115}\right) ^{\frac{1}{0.45} }\text{, for } L' \ge 0.0913 55254f38fcaSMauro Carvalho Chehab 55354f38fcaSMauro Carvalho ChehabThe luminance (Y') and color difference (Cb and Cr) are obtained with 55454f38fcaSMauro Carvalho Chehabthe following ``V4L2_YCBCR_ENC_SMPTE240M`` encoding: 55554f38fcaSMauro Carvalho Chehab 55654f38fcaSMauro Carvalho Chehab.. math:: 55754f38fcaSMauro Carvalho Chehab 55854f38fcaSMauro Carvalho Chehab Y' = 0.2122R' + 0.7013G' + 0.0865B' 55954f38fcaSMauro Carvalho Chehab 56054f38fcaSMauro Carvalho Chehab Cb = -0.1161R' - 0.3839G' + 0.5B' 56154f38fcaSMauro Carvalho Chehab 56254f38fcaSMauro Carvalho Chehab Cr = 0.5R' - 0.4451G' - 0.0549B' 56354f38fcaSMauro Carvalho Chehab 56454f38fcaSMauro Carvalho ChehabY' is clamped to the range [0…1] and Cb and Cr are clamped to the 56554f38fcaSMauro Carvalho Chehabrange [-0.5…0.5]. The Y'CbCr quantization is limited range. 56654f38fcaSMauro Carvalho Chehab 56754f38fcaSMauro Carvalho Chehab 56854f38fcaSMauro Carvalho Chehab.. _col-sysm: 56954f38fcaSMauro Carvalho Chehab 57054f38fcaSMauro Carvalho ChehabColorspace NTSC 1953 (V4L2_COLORSPACE_470_SYSTEM_M) 57154f38fcaSMauro Carvalho Chehab=================================================== 57254f38fcaSMauro Carvalho Chehab 57354f38fcaSMauro Carvalho ChehabThis standard defines the colorspace used by NTSC in 1953. In practice 57454f38fcaSMauro Carvalho Chehabthis colorspace is obsolete and SMPTE 170M should be used instead. The 57554f38fcaSMauro Carvalho Chehabdefault transfer function is ``V4L2_XFER_FUNC_709``. The default Y'CbCr 57654f38fcaSMauro Carvalho Chehabencoding is ``V4L2_YCBCR_ENC_601``. The default Y'CbCr quantization is 57754f38fcaSMauro Carvalho Chehablimited range. The chromaticities of the primary colors and the white 57854f38fcaSMauro Carvalho Chehabreference are: 57954f38fcaSMauro Carvalho Chehab 58054f38fcaSMauro Carvalho Chehab 58154f38fcaSMauro Carvalho Chehab.. flat-table:: NTSC 1953 Chromaticities 58254f38fcaSMauro Carvalho Chehab :header-rows: 1 58354f38fcaSMauro Carvalho Chehab :stub-columns: 0 58454f38fcaSMauro Carvalho Chehab :widths: 1 1 2 58554f38fcaSMauro Carvalho Chehab 58654f38fcaSMauro Carvalho Chehab * - Color 58754f38fcaSMauro Carvalho Chehab - x 58854f38fcaSMauro Carvalho Chehab - y 58954f38fcaSMauro Carvalho Chehab * - Red 59054f38fcaSMauro Carvalho Chehab - 0.67 59154f38fcaSMauro Carvalho Chehab - 0.33 59254f38fcaSMauro Carvalho Chehab * - Green 59354f38fcaSMauro Carvalho Chehab - 0.21 59454f38fcaSMauro Carvalho Chehab - 0.71 59554f38fcaSMauro Carvalho Chehab * - Blue 59654f38fcaSMauro Carvalho Chehab - 0.14 59754f38fcaSMauro Carvalho Chehab - 0.08 59854f38fcaSMauro Carvalho Chehab * - White Reference (C) 59954f38fcaSMauro Carvalho Chehab - 0.310 60054f38fcaSMauro Carvalho Chehab - 0.316 60154f38fcaSMauro Carvalho Chehab 60254f38fcaSMauro Carvalho Chehab 60354f38fcaSMauro Carvalho Chehab.. note:: 60454f38fcaSMauro Carvalho Chehab 60554f38fcaSMauro Carvalho Chehab This colorspace uses Illuminant C instead of D65 as the white 60654f38fcaSMauro Carvalho Chehab reference. To correctly convert an image in this colorspace to another 60754f38fcaSMauro Carvalho Chehab that uses D65 you need to apply a chromatic adaptation algorithm such as 60854f38fcaSMauro Carvalho Chehab the Bradford method. 60954f38fcaSMauro Carvalho Chehab 61054f38fcaSMauro Carvalho ChehabThe transfer function was never properly defined for NTSC 1953. The Rec. 61154f38fcaSMauro Carvalho Chehab709 transfer function is recommended in the literature: 61254f38fcaSMauro Carvalho Chehab 61354f38fcaSMauro Carvalho Chehab.. math:: 61454f38fcaSMauro Carvalho Chehab 61554f38fcaSMauro Carvalho Chehab L' = 4.5L\text{, for } 0 \le L < 0.018 61654f38fcaSMauro Carvalho Chehab 61754f38fcaSMauro Carvalho Chehab L' = 1.099L ^{0.45} - 0.099\text{, for } 0.018 \le L \le 1 61854f38fcaSMauro Carvalho Chehab 61954f38fcaSMauro Carvalho ChehabInverse Transfer function: 62054f38fcaSMauro Carvalho Chehab 62154f38fcaSMauro Carvalho Chehab.. math:: 62254f38fcaSMauro Carvalho Chehab 62354f38fcaSMauro Carvalho Chehab L = \frac{L'}{4.5} \text{, for } L' < 0.081 62454f38fcaSMauro Carvalho Chehab 62554f38fcaSMauro Carvalho Chehab L = \left( \frac{L' + 0.099}{1.099}\right) ^{\frac{1}{0.45} }\text{, for } L' \ge 0.081 62654f38fcaSMauro Carvalho Chehab 62754f38fcaSMauro Carvalho ChehabThe luminance (Y') and color difference (Cb and Cr) are obtained with 62854f38fcaSMauro Carvalho Chehabthe following ``V4L2_YCBCR_ENC_601`` encoding: 62954f38fcaSMauro Carvalho Chehab 63054f38fcaSMauro Carvalho Chehab.. math:: 63154f38fcaSMauro Carvalho Chehab 63254f38fcaSMauro Carvalho Chehab Y' = 0.2990R' + 0.5870G' + 0.1140B' 63354f38fcaSMauro Carvalho Chehab 63454f38fcaSMauro Carvalho Chehab Cb = -0.1687R' - 0.3313G' + 0.5B' 63554f38fcaSMauro Carvalho Chehab 63654f38fcaSMauro Carvalho Chehab Cr = 0.5R' - 0.4187G' - 0.0813B' 63754f38fcaSMauro Carvalho Chehab 63854f38fcaSMauro Carvalho ChehabY' is clamped to the range [0…1] and Cb and Cr are clamped to the range 63954f38fcaSMauro Carvalho Chehab[-0.5…0.5]. The Y'CbCr quantization is limited range. This transform is 64054f38fcaSMauro Carvalho Chehabidentical to one defined in SMPTE 170M/BT.601. 64154f38fcaSMauro Carvalho Chehab 64254f38fcaSMauro Carvalho Chehab 64354f38fcaSMauro Carvalho Chehab.. _col-sysbg: 64454f38fcaSMauro Carvalho Chehab 64554f38fcaSMauro Carvalho ChehabColorspace EBU Tech. 3213 (V4L2_COLORSPACE_470_SYSTEM_BG) 64654f38fcaSMauro Carvalho Chehab========================================================= 64754f38fcaSMauro Carvalho Chehab 64854f38fcaSMauro Carvalho ChehabThe :ref:`tech3213` standard defines the colorspace used by PAL/SECAM 649*e7531d56SHans Verkuilin 1975. Note that this colorspace is not supported by the HDMI interface. 650*e7531d56SHans VerkuilInstead :ref:`tech3321` recommends that Rec. 709 is used instead for HDMI. 651*e7531d56SHans VerkuilThe default transfer function is 65254f38fcaSMauro Carvalho Chehab``V4L2_XFER_FUNC_709``. The default Y'CbCr encoding is 65354f38fcaSMauro Carvalho Chehab``V4L2_YCBCR_ENC_601``. The default Y'CbCr quantization is limited 65454f38fcaSMauro Carvalho Chehabrange. The chromaticities of the primary colors and the white reference 65554f38fcaSMauro Carvalho Chehabare: 65654f38fcaSMauro Carvalho Chehab 65754f38fcaSMauro Carvalho Chehab 65854f38fcaSMauro Carvalho Chehab.. flat-table:: EBU Tech. 3213 Chromaticities 65954f38fcaSMauro Carvalho Chehab :header-rows: 1 66054f38fcaSMauro Carvalho Chehab :stub-columns: 0 66154f38fcaSMauro Carvalho Chehab :widths: 1 1 2 66254f38fcaSMauro Carvalho Chehab 66354f38fcaSMauro Carvalho Chehab * - Color 66454f38fcaSMauro Carvalho Chehab - x 66554f38fcaSMauro Carvalho Chehab - y 66654f38fcaSMauro Carvalho Chehab * - Red 66754f38fcaSMauro Carvalho Chehab - 0.64 66854f38fcaSMauro Carvalho Chehab - 0.33 66954f38fcaSMauro Carvalho Chehab * - Green 67054f38fcaSMauro Carvalho Chehab - 0.29 67154f38fcaSMauro Carvalho Chehab - 0.60 67254f38fcaSMauro Carvalho Chehab * - Blue 67354f38fcaSMauro Carvalho Chehab - 0.15 67454f38fcaSMauro Carvalho Chehab - 0.06 67554f38fcaSMauro Carvalho Chehab * - White Reference (D65) 67654f38fcaSMauro Carvalho Chehab - 0.3127 67754f38fcaSMauro Carvalho Chehab - 0.3290 67854f38fcaSMauro Carvalho Chehab 67954f38fcaSMauro Carvalho Chehab 68054f38fcaSMauro Carvalho Chehab 68154f38fcaSMauro Carvalho ChehabThe transfer function was never properly defined for this colorspace. 68254f38fcaSMauro Carvalho ChehabThe Rec. 709 transfer function is recommended in the literature: 68354f38fcaSMauro Carvalho Chehab 68454f38fcaSMauro Carvalho Chehab.. math:: 68554f38fcaSMauro Carvalho Chehab 68654f38fcaSMauro Carvalho Chehab L' = 4.5L\text{, for } 0 \le L < 0.018 68754f38fcaSMauro Carvalho Chehab 68854f38fcaSMauro Carvalho Chehab L' = 1.099L ^{0.45} - 0.099\text{, for } 0.018 \le L \le 1 68954f38fcaSMauro Carvalho Chehab 69054f38fcaSMauro Carvalho ChehabInverse Transfer function: 69154f38fcaSMauro Carvalho Chehab 69254f38fcaSMauro Carvalho Chehab.. math:: 69354f38fcaSMauro Carvalho Chehab 69454f38fcaSMauro Carvalho Chehab L = \frac{L'}{4.5} \text{, for } L' < 0.081 69554f38fcaSMauro Carvalho Chehab 69654f38fcaSMauro Carvalho Chehab L = \left(\frac{L' + 0.099}{1.099} \right) ^{\frac{1}{0.45} }\text{, for } L' \ge 0.081 69754f38fcaSMauro Carvalho Chehab 69854f38fcaSMauro Carvalho ChehabThe luminance (Y') and color difference (Cb and Cr) are obtained with 69954f38fcaSMauro Carvalho Chehabthe following ``V4L2_YCBCR_ENC_601`` encoding: 70054f38fcaSMauro Carvalho Chehab 70154f38fcaSMauro Carvalho Chehab.. math:: 70254f38fcaSMauro Carvalho Chehab 70354f38fcaSMauro Carvalho Chehab Y' = 0.2990R' + 0.5870G' + 0.1140B' 70454f38fcaSMauro Carvalho Chehab 70554f38fcaSMauro Carvalho Chehab Cb = -0.1687R' - 0.3313G' + 0.5B' 70654f38fcaSMauro Carvalho Chehab 70754f38fcaSMauro Carvalho Chehab Cr = 0.5R' - 0.4187G' - 0.0813B' 70854f38fcaSMauro Carvalho Chehab 70954f38fcaSMauro Carvalho ChehabY' is clamped to the range [0…1] and Cb and Cr are clamped to the range 71054f38fcaSMauro Carvalho Chehab[-0.5…0.5]. The Y'CbCr quantization is limited range. This transform is 71154f38fcaSMauro Carvalho Chehabidentical to one defined in SMPTE 170M/BT.601. 71254f38fcaSMauro Carvalho Chehab 71354f38fcaSMauro Carvalho Chehab 71454f38fcaSMauro Carvalho Chehab.. _col-jpeg: 71554f38fcaSMauro Carvalho Chehab 71654f38fcaSMauro Carvalho ChehabColorspace JPEG (V4L2_COLORSPACE_JPEG) 71754f38fcaSMauro Carvalho Chehab====================================== 71854f38fcaSMauro Carvalho Chehab 71954f38fcaSMauro Carvalho ChehabThis colorspace defines the colorspace used by most (Motion-)JPEG 72054f38fcaSMauro Carvalho Chehabformats. The chromaticities of the primary colors and the white 72154f38fcaSMauro Carvalho Chehabreference are identical to sRGB. The transfer function use is 72254f38fcaSMauro Carvalho Chehab``V4L2_XFER_FUNC_SRGB``. The Y'CbCr encoding is ``V4L2_YCBCR_ENC_601`` 72354f38fcaSMauro Carvalho Chehabwith full range quantization where Y' is scaled to [0…255] and Cb/Cr are 72454f38fcaSMauro Carvalho Chehabscaled to [-128…128] and then clipped to [-128…127]. 72554f38fcaSMauro Carvalho Chehab 72654f38fcaSMauro Carvalho Chehab.. note:: 72754f38fcaSMauro Carvalho Chehab 72854f38fcaSMauro Carvalho Chehab The JPEG standard does not actually store colorspace 72954f38fcaSMauro Carvalho Chehab information. So if something other than sRGB is used, then the driver 73054f38fcaSMauro Carvalho Chehab will have to set that information explicitly. Effectively 73154f38fcaSMauro Carvalho Chehab ``V4L2_COLORSPACE_JPEG`` can be considered to be an abbreviation for 7321c79e41bSHans Verkuil ``V4L2_COLORSPACE_SRGB``, ``V4L2_XFER_FUNC_SRGB``, ``V4L2_YCBCR_ENC_601`` 7331c79e41bSHans Verkuil and ``V4L2_QUANTIZATION_FULL_RANGE``. 73454f38fcaSMauro Carvalho Chehab 73554f38fcaSMauro Carvalho Chehab*************************************** 73654f38fcaSMauro Carvalho ChehabDetailed Transfer Function Descriptions 73754f38fcaSMauro Carvalho Chehab*************************************** 73854f38fcaSMauro Carvalho Chehab 73954f38fcaSMauro Carvalho Chehab.. _xf-smpte-2084: 74054f38fcaSMauro Carvalho Chehab 74154f38fcaSMauro Carvalho ChehabTransfer Function SMPTE 2084 (V4L2_XFER_FUNC_SMPTE2084) 74254f38fcaSMauro Carvalho Chehab======================================================= 74354f38fcaSMauro Carvalho Chehab 74454f38fcaSMauro Carvalho ChehabThe :ref:`smpte2084` standard defines the transfer function used by 74554f38fcaSMauro Carvalho ChehabHigh Dynamic Range content. 74654f38fcaSMauro Carvalho Chehab 74754f38fcaSMauro Carvalho ChehabConstants: 74854f38fcaSMauro Carvalho Chehab m1 = (2610 / 4096) / 4 74954f38fcaSMauro Carvalho Chehab 75054f38fcaSMauro Carvalho Chehab m2 = (2523 / 4096) * 128 75154f38fcaSMauro Carvalho Chehab 75254f38fcaSMauro Carvalho Chehab c1 = 3424 / 4096 75354f38fcaSMauro Carvalho Chehab 75454f38fcaSMauro Carvalho Chehab c2 = (2413 / 4096) * 32 75554f38fcaSMauro Carvalho Chehab 75654f38fcaSMauro Carvalho Chehab c3 = (2392 / 4096) * 32 75754f38fcaSMauro Carvalho Chehab 75854f38fcaSMauro Carvalho ChehabTransfer function: 75954f38fcaSMauro Carvalho Chehab L' = ((c1 + c2 * L\ :sup:`m1`) / (1 + c3 * L\ :sup:`m1`))\ :sup:`m2` 76054f38fcaSMauro Carvalho Chehab 76154f38fcaSMauro Carvalho ChehabInverse Transfer function: 76254f38fcaSMauro Carvalho Chehab L = (max(L':sup:`1/m2` - c1, 0) / (c2 - c3 * 76354f38fcaSMauro Carvalho Chehab L'\ :sup:`1/m2`))\ :sup:`1/m1` 76454f38fcaSMauro Carvalho Chehab 76554f38fcaSMauro Carvalho ChehabTake care when converting between this transfer function and non-HDR transfer 76654f38fcaSMauro Carvalho Chehabfunctions: the linear RGB values [0…1] of HDR content map to a luminance range 76754f38fcaSMauro Carvalho Chehabof 0 to 10000 cd/m\ :sup:`2` whereas the linear RGB values of non-HDR (aka 76854f38fcaSMauro Carvalho ChehabStandard Dynamic Range or SDR) map to a luminance range of 0 to 100 cd/m\ :sup:`2`. 76954f38fcaSMauro Carvalho Chehab 77054f38fcaSMauro Carvalho ChehabTo go from SDR to HDR you will have to divide L by 100 first. To go in the other 77154f38fcaSMauro Carvalho Chehabdirection you will have to multiply L by 100. Of course, this clamps all 77254f38fcaSMauro Carvalho Chehabluminance values over 100 cd/m\ :sup:`2` to 100 cd/m\ :sup:`2`. 77354f38fcaSMauro Carvalho Chehab 77454f38fcaSMauro Carvalho ChehabThere are better methods, see e.g. :ref:`colimg` for more in-depth information 77554f38fcaSMauro Carvalho Chehababout this. 776