776 lines · plain
1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later2 3********************************4Detailed Colorspace Descriptions5********************************6 7 8.. _col-smpte-170m:9 10Colorspace SMPTE 170M (V4L2_COLORSPACE_SMPTE170M)11=================================================12 13The :ref:`smpte170m` standard defines the colorspace used by NTSC and14PAL and by SDTV in general. The default transfer function is15``V4L2_XFER_FUNC_709``. The default Y'CbCr encoding is16``V4L2_YCBCR_ENC_601``. The default Y'CbCr quantization is limited17range. The chromaticities of the primary colors and the white reference18are:19 20.. flat-table:: SMPTE 170M Chromaticities21 :header-rows: 122 :stub-columns: 023 :widths: 1 1 224 25 * - Color26 - x27 - y28 * - Red29 - 0.63030 - 0.34031 * - Green32 - 0.31033 - 0.59534 * - Blue35 - 0.15536 - 0.07037 * - White Reference (D65)38 - 0.312739 - 0.329040 41 42The red, green and blue chromaticities are also often referred to as the43SMPTE C set, so this colorspace is sometimes called SMPTE C as well.44 45The transfer function defined for SMPTE 170M is the same as the one46defined in Rec. 709.47 48.. math::49 50 L' = -1.099(-L)^{0.45} + 0.099 \text{, for } L \le-0.01851 52 L' = 4.5L \text{, for } -0.018 < L < 0.01853 54 L' = 1.099L^{0.45} - 0.099 \text{, for } L \ge 0.01855 56Inverse Transfer function:57 58.. math::59 60 L = -\left( \frac{L' - 0.099}{-1.099} \right) ^{\frac{1}{0.45}} \text{, for } L' \le -0.08161 62 L = \frac{L'}{4.5} \text{, for } -0.081 < L' < 0.08163 64 L = \left(\frac{L' + 0.099}{1.099}\right)^{\frac{1}{0.45} } \text{, for } L' \ge 0.08165 66The luminance (Y') and color difference (Cb and Cr) are obtained with67the following ``V4L2_YCBCR_ENC_601`` encoding:68 69.. math::70 71 Y' = 0.2990R' + 0.5870G' + 0.1140B'72 73 Cb = -0.1687R' - 0.3313G' + 0.5B'74 75 Cr = 0.5R' - 0.4187G' - 0.0813B'76 77Y' is clamped to the range [0…1] and Cb and Cr are clamped to the range78[-0.5…0.5]. This conversion to Y'CbCr is identical to the one defined in79the :ref:`itu601` standard and this colorspace is sometimes called80BT.601 as well, even though BT.601 does not mention any color primaries.81 82The default quantization is limited range, but full range is possible83although rarely seen.84 85 86.. _col-rec709:87 88Colorspace Rec. 709 (V4L2_COLORSPACE_REC709)89============================================90 91The :ref:`itu709` standard defines the colorspace used by HDTV in92general. The default transfer function is ``V4L2_XFER_FUNC_709``. The93default Y'CbCr encoding is ``V4L2_YCBCR_ENC_709``. The default Y'CbCr94quantization is limited range. The chromaticities of the primary colors95and the white reference are:96 97.. flat-table:: Rec. 709 Chromaticities98 :header-rows: 199 :stub-columns: 0100 :widths: 1 1 2101 102 * - Color103 - x104 - y105 * - Red106 - 0.640107 - 0.330108 * - Green109 - 0.300110 - 0.600111 * - Blue112 - 0.150113 - 0.060114 * - White Reference (D65)115 - 0.3127116 - 0.3290117 118 119The full name of this standard is Rec. ITU-R BT.709-5.120 121Transfer function. Normally L is in the range [0…1], but for the122extended gamut xvYCC encoding values outside that range are allowed.123 124.. math::125 126 L' = -1.099(-L)^{0.45} + 0.099 \text{, for } L \le -0.018127 128 L' = 4.5L \text{, for } -0.018 < L < 0.018129 130 L' = 1.099L^{0.45} - 0.099 \text{, for } L \ge 0.018131 132Inverse Transfer function:133 134.. math::135 136 L = -\left( \frac{L' - 0.099}{-1.099} \right)^\frac{1}{0.45} \text{, for } L' \le -0.081137 138 L = \frac{L'}{4.5}\text{, for } -0.081 < L' < 0.081139 140 L = \left(\frac{L' + 0.099}{1.099}\right)^{\frac{1}{0.45} } \text{, for } L' \ge 0.081141 142The luminance (Y') and color difference (Cb and Cr) are obtained with143the following ``V4L2_YCBCR_ENC_709`` encoding:144 145.. math::146 147 Y' = 0.2126R' + 0.7152G' + 0.0722B'148 149 Cb = -0.1146R' - 0.3854G' + 0.5B'150 151 Cr = 0.5R' - 0.4542G' - 0.0458B'152 153Y' is clamped to the range [0…1] and Cb and Cr are clamped to the range154[-0.5…0.5].155 156The default quantization is limited range, but full range is possible157although rarely seen.158 159The ``V4L2_YCBCR_ENC_709`` encoding described above is the default for160this colorspace, but it can be overridden with ``V4L2_YCBCR_ENC_601``,161in which case the BT.601 Y'CbCr encoding is used.162 163Two additional extended gamut Y'CbCr encodings are also possible with164this colorspace:165 166The xvYCC 709 encoding (``V4L2_YCBCR_ENC_XV709``, :ref:`xvycc`) is167similar to the Rec. 709 encoding, but it allows for R', G' and B' values168that are outside the range [0…1]. The resulting Y', Cb and Cr values are169scaled and offset according to the limited range formula:170 171.. math::172 173 Y' = \frac{219}{256} * (0.2126R' + 0.7152G' + 0.0722B') + \frac{16}{256}174 175 Cb = \frac{224}{256} * (-0.1146R' - 0.3854G' + 0.5B')176 177 Cr = \frac{224}{256} * (0.5R' - 0.4542G' - 0.0458B')178 179The xvYCC 601 encoding (``V4L2_YCBCR_ENC_XV601``, :ref:`xvycc`) is180similar to the BT.601 encoding, but it allows for R', G' and B' values181that are outside the range [0…1]. The resulting Y', Cb and Cr values are182scaled and offset according to the limited range formula:183 184.. math::185 186 Y' = \frac{219}{256} * (0.2990R' + 0.5870G' + 0.1140B') + \frac{16}{256}187 188 Cb = \frac{224}{256} * (-0.1687R' - 0.3313G' + 0.5B')189 190 Cr = \frac{224}{256} * (0.5R' - 0.4187G' - 0.0813B')191 192Y' is clamped to the range [0…1] and Cb and Cr are clamped to the range193[-0.5…0.5] and quantized without further scaling or offsets.194The non-standard xvYCC 709 or xvYCC 601 encodings can be195used by selecting ``V4L2_YCBCR_ENC_XV709`` or ``V4L2_YCBCR_ENC_XV601``.196As seen by the xvYCC formulas these encodings always use limited range quantization,197there is no full range variant. The whole point of these extended gamut encodings198is that values outside the limited range are still valid, although they199map to R', G' and B' values outside the [0…1] range and are therefore outside200the Rec. 709 colorspace gamut.201 202 203.. _col-srgb:204 205Colorspace sRGB (V4L2_COLORSPACE_SRGB)206======================================207 208The :ref:`srgb` standard defines the colorspace used by most webcams209and computer graphics. The default transfer function is210``V4L2_XFER_FUNC_SRGB``. The default Y'CbCr encoding is211``V4L2_YCBCR_ENC_601``. The default Y'CbCr quantization is limited range.212 213Note that the :ref:`sycc` standard specifies full range quantization,214however all current capture hardware supported by the kernel convert215R'G'B' to limited range Y'CbCr. So choosing full range as the default216would break how applications interpret the quantization range.217 218The chromaticities of the primary colors and the white reference are:219 220.. flat-table:: sRGB Chromaticities221 :header-rows: 1222 :stub-columns: 0223 :widths: 1 1 2224 225 * - Color226 - x227 - y228 * - Red229 - 0.640230 - 0.330231 * - Green232 - 0.300233 - 0.600234 * - Blue235 - 0.150236 - 0.060237 * - White Reference (D65)238 - 0.3127239 - 0.3290240 241 242These chromaticities are identical to the Rec. 709 colorspace.243 244Transfer function. Note that negative values for L are only used by the245Y'CbCr conversion.246 247.. math::248 249 L' = -1.055(-L)^{\frac{1}{2.4} } + 0.055\text{, for }L < -0.0031308250 251 L' = 12.92L\text{, for }-0.0031308 \le L \le 0.0031308252 253 L' = 1.055L ^{\frac{1}{2.4} } - 0.055\text{, for }0.0031308 < L \le 1254 255Inverse Transfer function:256 257.. math::258 259 L = -((-L' + 0.055) / 1.055) ^{2.4}\text{, for }L' < -0.04045260 261 L = L' / 12.92\text{, for }-0.04045 \le L' \le 0.04045262 263 L = ((L' + 0.055) / 1.055) ^{2.4}\text{, for }L' > 0.04045264 265The luminance (Y') and color difference (Cb and Cr) are obtained with266the following ``V4L2_YCBCR_ENC_601`` encoding as defined by :ref:`sycc`:267 268.. math::269 270 Y' = 0.2990R' + 0.5870G' + 0.1140B'271 272 Cb = -0.1687R' - 0.3313G' + 0.5B'273 274 Cr = 0.5R' - 0.4187G' - 0.0813B'275 276Y' is clamped to the range [0…1] and Cb and Cr are clamped to the range277[-0.5…0.5]. This transform is identical to one defined in SMPTE278170M/BT.601. The Y'CbCr quantization is limited range.279 280 281.. _col-oprgb:282 283Colorspace opRGB (V4L2_COLORSPACE_OPRGB)284===============================================285 286The :ref:`oprgb` standard defines the colorspace used by computer287graphics that use the opRGB colorspace. The default transfer function is288``V4L2_XFER_FUNC_OPRGB``. The default Y'CbCr encoding is289``V4L2_YCBCR_ENC_601``. The default Y'CbCr quantization is limited290range.291 292Note that the :ref:`oprgb` standard specifies full range quantization,293however all current capture hardware supported by the kernel convert294R'G'B' to limited range Y'CbCr. So choosing full range as the default295would break how applications interpret the quantization range.296 297The chromaticities of the primary colors and the white reference are:298 299.. flat-table:: opRGB Chromaticities300 :header-rows: 1301 :stub-columns: 0302 :widths: 1 1 2303 304 * - Color305 - x306 - y307 * - Red308 - 0.6400309 - 0.3300310 * - Green311 - 0.2100312 - 0.7100313 * - Blue314 - 0.1500315 - 0.0600316 * - White Reference (D65)317 - 0.3127318 - 0.3290319 320 321 322Transfer function:323 324.. math::325 326 L' = L ^{\frac{1}{2.19921875}}327 328Inverse Transfer function:329 330.. math::331 332 L = L'^{(2.19921875)}333 334The luminance (Y') and color difference (Cb and Cr) are obtained with335the following ``V4L2_YCBCR_ENC_601`` encoding:336 337.. math::338 339 Y' = 0.2990R' + 0.5870G' + 0.1140B'340 341 Cb = -0.1687R' - 0.3313G' + 0.5B'342 343 Cr = 0.5R' - 0.4187G' - 0.0813B'344 345Y' is clamped to the range [0…1] and Cb and Cr are clamped to the range346[-0.5…0.5]. This transform is identical to one defined in SMPTE347170M/BT.601. The Y'CbCr quantization is limited range.348 349 350.. _col-bt2020:351 352Colorspace BT.2020 (V4L2_COLORSPACE_BT2020)353===========================================354 355The :ref:`itu2020` standard defines the colorspace used by Ultra-high356definition television (UHDTV). The default transfer function is357``V4L2_XFER_FUNC_709``. The default Y'CbCr encoding is358``V4L2_YCBCR_ENC_BT2020``. The default Y'CbCr quantization is limited range.359The chromaticities of the primary colors and the white reference are:360 361.. flat-table:: BT.2020 Chromaticities362 :header-rows: 1363 :stub-columns: 0364 :widths: 1 1 2365 366 * - Color367 - x368 - y369 * - Red370 - 0.708371 - 0.292372 * - Green373 - 0.170374 - 0.797375 * - Blue376 - 0.131377 - 0.046378 * - White Reference (D65)379 - 0.3127380 - 0.3290381 382 383 384Transfer function (same as Rec. 709):385 386.. math::387 388 L' = 4.5L\text{, for }0 \le L < 0.018389 390 L' = 1.099L ^{0.45} - 0.099\text{, for } 0.018 \le L \le 1391 392Inverse Transfer function:393 394.. math::395 396 L = L' / 4.5\text{, for } L' < 0.081397 398 L = \left( \frac{L' + 0.099}{1.099}\right) ^{\frac{1}{0.45} }\text{, for } L' \ge 0.081399 400Please note that while Rec. 709 is defined as the default transfer function401by the :ref:`itu2020` standard, in practice this colorspace is often used402with the :ref:`xf-smpte-2084`. In particular Ultra HD Blu-ray discs use403this combination.404 405The luminance (Y') and color difference (Cb and Cr) are obtained with406the following ``V4L2_YCBCR_ENC_BT2020`` encoding:407 408.. math::409 410 Y' = 0.2627R' + 0.6780G' + 0.0593B'411 412 Cb = -0.1396R' - 0.3604G' + 0.5B'413 414 Cr = 0.5R' - 0.4598G' - 0.0402B'415 416Y' is clamped to the range [0…1] and Cb and Cr are clamped to the range417[-0.5…0.5]. The Y'CbCr quantization is limited range.418 419There is also an alternate constant luminance R'G'B' to Yc'CbcCrc420(``V4L2_YCBCR_ENC_BT2020_CONST_LUM``) encoding:421 422Luma:423 424.. math::425 :nowrap:426 427 \begin{align*}428 Yc' = (0.2627R + 0.6780G + 0.0593B)'& \\429 B' - Yc' \le 0:& \\430 &Cbc = (B' - Yc') / 1.9404 \\431 B' - Yc' > 0: & \\432 &Cbc = (B' - Yc') / 1.5816 \\433 R' - Yc' \le 0:& \\434 &Crc = (R' - Y') / 1.7184 \\435 R' - Yc' > 0:& \\436 &Crc = (R' - Y') / 0.9936437 \end{align*}438 439Yc' is clamped to the range [0…1] and Cbc and Crc are clamped to the440range [-0.5…0.5]. The Yc'CbcCrc quantization is limited range.441 442 443.. _col-dcip3:444 445Colorspace DCI-P3 (V4L2_COLORSPACE_DCI_P3)446==========================================447 448The :ref:`smpte431` standard defines the colorspace used by cinema449projectors that use the DCI-P3 colorspace. The default transfer function450is ``V4L2_XFER_FUNC_DCI_P3``. The default Y'CbCr encoding is451``V4L2_YCBCR_ENC_709``. The default Y'CbCr quantization is limited range.452 453.. note::454 455 Note that this colorspace standard does not specify a456 Y'CbCr encoding since it is not meant to be encoded to Y'CbCr. So this457 default Y'CbCr encoding was picked because it is the HDTV encoding.458 459The chromaticities of the primary colors and the white reference are:460 461 462.. flat-table:: DCI-P3 Chromaticities463 :header-rows: 1464 :stub-columns: 0465 :widths: 1 1 2466 467 * - Color468 - x469 - y470 * - Red471 - 0.6800472 - 0.3200473 * - Green474 - 0.2650475 - 0.6900476 * - Blue477 - 0.1500478 - 0.0600479 * - White Reference480 - 0.3140481 - 0.3510482 483 484 485Transfer function:486 487.. math::488 489 L' = L^{\frac{1}{2.6}}490 491Inverse Transfer function:492 493.. math::494 495 L = L'^{(2.6)}496 497Y'CbCr encoding is not specified. V4L2 defaults to Rec. 709.498 499 500.. _col-smpte-240m:501 502Colorspace SMPTE 240M (V4L2_COLORSPACE_SMPTE240M)503=================================================504 505The :ref:`smpte240m` standard was an interim standard used during the506early days of HDTV (1988-1998). It has been superseded by Rec. 709. The507default transfer function is ``V4L2_XFER_FUNC_SMPTE240M``. The default508Y'CbCr encoding is ``V4L2_YCBCR_ENC_SMPTE240M``. The default Y'CbCr509quantization is limited range. The chromaticities of the primary colors510and the white reference are:511 512 513.. flat-table:: SMPTE 240M Chromaticities514 :header-rows: 1515 :stub-columns: 0516 :widths: 1 1 2517 518 * - Color519 - x520 - y521 * - Red522 - 0.630523 - 0.340524 * - Green525 - 0.310526 - 0.595527 * - Blue528 - 0.155529 - 0.070530 * - White Reference (D65)531 - 0.3127532 - 0.3290533 534 535These chromaticities are identical to the SMPTE 170M colorspace.536 537Transfer function:538 539.. math::540 541 L' = 4L\text{, for } 0 \le L < 0.0228542 543 L' = 1.1115L ^{0.45} - 0.1115\text{, for } 0.0228 \le L \le 1544 545Inverse Transfer function:546 547.. math::548 549 L = \frac{L'}{4}\text{, for } 0 \le L' < 0.0913550 551 L = \left( \frac{L' + 0.1115}{1.1115}\right) ^{\frac{1}{0.45} }\text{, for } L' \ge 0.0913552 553The luminance (Y') and color difference (Cb and Cr) are obtained with554the following ``V4L2_YCBCR_ENC_SMPTE240M`` encoding:555 556.. math::557 558 Y' = 0.2122R' + 0.7013G' + 0.0865B'559 560 Cb = -0.1161R' - 0.3839G' + 0.5B'561 562 Cr = 0.5R' - 0.4451G' - 0.0549B'563 564Y' is clamped to the range [0…1] and Cb and Cr are clamped to the565range [-0.5…0.5]. The Y'CbCr quantization is limited range.566 567 568.. _col-sysm:569 570Colorspace NTSC 1953 (V4L2_COLORSPACE_470_SYSTEM_M)571===================================================572 573This standard defines the colorspace used by NTSC in 1953. In practice574this colorspace is obsolete and SMPTE 170M should be used instead. The575default transfer function is ``V4L2_XFER_FUNC_709``. The default Y'CbCr576encoding is ``V4L2_YCBCR_ENC_601``. The default Y'CbCr quantization is577limited range. The chromaticities of the primary colors and the white578reference are:579 580 581.. flat-table:: NTSC 1953 Chromaticities582 :header-rows: 1583 :stub-columns: 0584 :widths: 1 1 2585 586 * - Color587 - x588 - y589 * - Red590 - 0.67591 - 0.33592 * - Green593 - 0.21594 - 0.71595 * - Blue596 - 0.14597 - 0.08598 * - White Reference (C)599 - 0.310600 - 0.316601 602 603.. note::604 605 This colorspace uses Illuminant C instead of D65 as the white606 reference. To correctly convert an image in this colorspace to another607 that uses D65 you need to apply a chromatic adaptation algorithm such as608 the Bradford method.609 610The transfer function was never properly defined for NTSC 1953. The Rec.611709 transfer function is recommended in the literature:612 613.. math::614 615 L' = 4.5L\text{, for } 0 \le L < 0.018616 617 L' = 1.099L ^{0.45} - 0.099\text{, for } 0.018 \le L \le 1618 619Inverse Transfer function:620 621.. math::622 623 L = \frac{L'}{4.5} \text{, for } L' < 0.081624 625 L = \left( \frac{L' + 0.099}{1.099}\right) ^{\frac{1}{0.45} }\text{, for } L' \ge 0.081626 627The luminance (Y') and color difference (Cb and Cr) are obtained with628the following ``V4L2_YCBCR_ENC_601`` encoding:629 630.. math::631 632 Y' = 0.2990R' + 0.5870G' + 0.1140B'633 634 Cb = -0.1687R' - 0.3313G' + 0.5B'635 636 Cr = 0.5R' - 0.4187G' - 0.0813B'637 638Y' is clamped to the range [0…1] and Cb and Cr are clamped to the range639[-0.5…0.5]. The Y'CbCr quantization is limited range. This transform is640identical to one defined in SMPTE 170M/BT.601.641 642 643.. _col-sysbg:644 645Colorspace EBU Tech. 3213 (V4L2_COLORSPACE_470_SYSTEM_BG)646=========================================================647 648The :ref:`tech3213` standard defines the colorspace used by PAL/SECAM649in 1975. Note that this colorspace is not supported by the HDMI interface.650Instead :ref:`tech3321` recommends that Rec. 709 is used instead for HDMI.651The default transfer function is652``V4L2_XFER_FUNC_709``. The default Y'CbCr encoding is653``V4L2_YCBCR_ENC_601``. The default Y'CbCr quantization is limited654range. The chromaticities of the primary colors and the white reference655are:656 657 658.. flat-table:: EBU Tech. 3213 Chromaticities659 :header-rows: 1660 :stub-columns: 0661 :widths: 1 1 2662 663 * - Color664 - x665 - y666 * - Red667 - 0.64668 - 0.33669 * - Green670 - 0.29671 - 0.60672 * - Blue673 - 0.15674 - 0.06675 * - White Reference (D65)676 - 0.3127677 - 0.3290678 679 680 681The transfer function was never properly defined for this colorspace.682The Rec. 709 transfer function is recommended in the literature:683 684.. math::685 686 L' = 4.5L\text{, for } 0 \le L < 0.018687 688 L' = 1.099L ^{0.45} - 0.099\text{, for } 0.018 \le L \le 1689 690Inverse Transfer function:691 692.. math::693 694 L = \frac{L'}{4.5} \text{, for } L' < 0.081695 696 L = \left(\frac{L' + 0.099}{1.099} \right) ^{\frac{1}{0.45} }\text{, for } L' \ge 0.081697 698The luminance (Y') and color difference (Cb and Cr) are obtained with699the following ``V4L2_YCBCR_ENC_601`` encoding:700 701.. math::702 703 Y' = 0.2990R' + 0.5870G' + 0.1140B'704 705 Cb = -0.1687R' - 0.3313G' + 0.5B'706 707 Cr = 0.5R' - 0.4187G' - 0.0813B'708 709Y' is clamped to the range [0…1] and Cb and Cr are clamped to the range710[-0.5…0.5]. The Y'CbCr quantization is limited range. This transform is711identical to one defined in SMPTE 170M/BT.601.712 713 714.. _col-jpeg:715 716Colorspace JPEG (V4L2_COLORSPACE_JPEG)717======================================718 719This colorspace defines the colorspace used by most (Motion-)JPEG720formats. The chromaticities of the primary colors and the white721reference are identical to sRGB. The transfer function use is722``V4L2_XFER_FUNC_SRGB``. The Y'CbCr encoding is ``V4L2_YCBCR_ENC_601``723with full range quantization where Y' is scaled to [0…255] and Cb/Cr are724scaled to [-128…128] and then clipped to [-128…127].725 726.. note::727 728 The JPEG standard does not actually store colorspace729 information. So if something other than sRGB is used, then the driver730 will have to set that information explicitly. Effectively731 ``V4L2_COLORSPACE_JPEG`` can be considered to be an abbreviation for732 ``V4L2_COLORSPACE_SRGB``, ``V4L2_XFER_FUNC_SRGB``, ``V4L2_YCBCR_ENC_601``733 and ``V4L2_QUANTIZATION_FULL_RANGE``.734 735***************************************736Detailed Transfer Function Descriptions737***************************************738 739.. _xf-smpte-2084:740 741Transfer Function SMPTE 2084 (V4L2_XFER_FUNC_SMPTE2084)742=======================================================743 744The :ref:`smpte2084` standard defines the transfer function used by745High Dynamic Range content.746 747Constants:748 m1 = (2610 / 4096) / 4749 750 m2 = (2523 / 4096) * 128751 752 c1 = 3424 / 4096753 754 c2 = (2413 / 4096) * 32755 756 c3 = (2392 / 4096) * 32757 758Transfer function:759 L' = ((c1 + c2 * L\ :sup:`m1`) / (1 + c3 * L\ :sup:`m1`))\ :sup:`m2`760 761Inverse Transfer function:762 L = (max(L':sup:`1/m2` - c1, 0) / (c2 - c3 *763 L'\ :sup:`1/m2`))\ :sup:`1/m1`764 765Take care when converting between this transfer function and non-HDR transfer766functions: the linear RGB values [0…1] of HDR content map to a luminance range767of 0 to 10000 cd/m\ :sup:`2` whereas the linear RGB values of non-HDR (aka768Standard Dynamic Range or SDR) map to a luminance range of 0 to 100 cd/m\ :sup:`2`.769 770To go from SDR to HDR you will have to divide L by 100 first. To go in the other771direction you will have to multiply L by 100. Of course, this clamps all772luminance values over 100 cd/m\ :sup:`2` to 100 cd/m\ :sup:`2`.773 774There are better methods, see e.g. :ref:`colimg` for more in-depth information775about this.776