[media] ad5820: Add driver for auto-focus coil
[deliverable/linux.git] / Documentation / media / uapi / v4l / pixfmt-007.rst
... / ...
CommitLineData
1.. -*- coding: utf-8; mode: rst -*-
2
3********************************
4Detailed Colorspace Descriptions
5********************************
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 and
14PAL and by SDTV in general. The default transfer function is
15``V4L2_XFER_FUNC_709``. The default Y'CbCr encoding is
16``V4L2_YCBCR_ENC_601``. The default Y'CbCr quantization is limited
17range. The chromaticities of the primary colors and the white reference
18are:
19
20
21
22.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
23
24.. flat-table:: SMPTE 170M Chromaticities
25 :header-rows: 1
26 :stub-columns: 0
27 :widths: 1 1 2
28
29
30 - .. row 1
31
32 - Color
33
34 - x
35
36 - y
37
38 - .. row 2
39
40 - Red
41
42 - 0.630
43
44 - 0.340
45
46 - .. row 3
47
48 - Green
49
50 - 0.310
51
52 - 0.595
53
54 - .. row 4
55
56 - Blue
57
58 - 0.155
59
60 - 0.070
61
62 - .. row 5
63
64 - White Reference (D65)
65
66 - 0.3127
67
68 - 0.3290
69
70
71The red, green and blue chromaticities are also often referred to as the
72SMPTE C set, so this colorspace is sometimes called SMPTE C as well.
73
74The transfer function defined for SMPTE 170M is the same as the one
75defined in Rec. 709.
76
77.. math::
78
79 L' = -1.099(-L)^{0.45} + 0.099 \text{, for } L \le-0.018
80
81 L' = 4.5L \text{, for } -0.018 < L < 0.018
82
83 L' = 1.099L^{0.45} - 0.099 \text{, for } L \ge 0.018
84
85Inverse Transfer function:
86
87.. math::
88
89 L = -\left( \frac{L' - 0.099}{-1.099} \right) ^{\frac{1}{0.45}} \text{, for } L' \le -0.081
90
91 L = \frac{L'}{4.5} \text{, for } -0.081 < L' < 0.081
92
93 L = \left(\frac{L' + 0.099}{1.099}\right)^{\frac{1}{0.45} } \text{, for } L' \ge 0.081
94
95The luminance (Y') and color difference (Cb and Cr) are obtained with
96the following ``V4L2_YCBCR_ENC_601`` encoding:
97
98.. math::
99
100 Y' = 0.299R' + 0.587G' + 0.114B'
101
102 Cb = -0.169R' - 0.331G' + 0.5B'
103
104 Cr = 0.5R' - 0.419G' - 0.081B'
105
106Y' is clamped to the range [0…1] and Cb and Cr are clamped to the range
107[-0.5…0.5]. This conversion to Y'CbCr is identical to the one defined in
108the :ref:`itu601` standard and this colorspace is sometimes called
109BT.601 as well, even though BT.601 does not mention any color primaries.
110
111The default quantization is limited range, but full range is possible
112although rarely seen.
113
114
115.. _col-rec709:
116
117Colorspace Rec. 709 (V4L2_COLORSPACE_REC709)
118============================================
119
120The :ref:`itu709` standard defines the colorspace used by HDTV in
121general. The default transfer function is ``V4L2_XFER_FUNC_709``. The
122default Y'CbCr encoding is ``V4L2_YCBCR_ENC_709``. The default Y'CbCr
123quantization is limited range. The chromaticities of the primary colors
124and the white reference are:
125
126
127
128.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
129
130.. flat-table:: Rec. 709 Chromaticities
131 :header-rows: 1
132 :stub-columns: 0
133 :widths: 1 1 2
134
135
136 - .. row 1
137
138 - Color
139
140 - x
141
142 - y
143
144 - .. row 2
145
146 - Red
147
148 - 0.640
149
150 - 0.330
151
152 - .. row 3
153
154 - Green
155
156 - 0.300
157
158 - 0.600
159
160 - .. row 4
161
162 - Blue
163
164 - 0.150
165
166 - 0.060
167
168 - .. row 5
169
170 - White Reference (D65)
171
172 - 0.3127
173
174 - 0.3290
175
176
177The full name of this standard is Rec. ITU-R BT.709-5.
178
179Transfer function. Normally L is in the range [0…1], but for the
180extended gamut xvYCC encoding values outside that range are allowed.
181
182.. math::
183
184 L' = -1.099(-L)^{0.45} + 0.099 \text{, for } L \le -0.018
185
186 L' = 4.5L \text{, for } -0.018 < L < 0.018
187
188 L' = 1.099L^{0.45} - 0.099 \text{, for } L \ge 0.018
189
190Inverse Transfer function:
191
192.. math::
193
194 L = -\left( \frac{L' - 0.099}{-1.099} \right)^\frac{1}{0.45} \text{, for } L' \le -0.081
195
196 L = \frac{L'}{4.5}\text{, for } -0.081 < L' < 0.081
197
198 L = \left(\frac{L' + 0.099}{1.099}\right)^{\frac{1}{0.45} } \text{, for } L' \ge 0.081
199
200The luminance (Y') and color difference (Cb and Cr) are obtained with
201the following ``V4L2_YCBCR_ENC_709`` encoding:
202
203.. math::
204
205 Y' = 0.2126R' + 0.7152G' + 0.0722B'
206
207 Cb = -0.1146R' - 0.3854G' + 0.5B'
208
209 Cr = 0.5R' - 0.4542G' - 0.0458B'
210
211Y' is clamped to the range [0…1] and Cb and Cr are clamped to the range
212[-0.5…0.5].
213
214The default quantization is limited range, but full range is possible
215although rarely seen.
216
217The ``V4L2_YCBCR_ENC_709`` encoding described above is the default for
218this colorspace, but it can be overridden with ``V4L2_YCBCR_ENC_601``,
219in which case the BT.601 Y'CbCr encoding is used.
220
221Two additional extended gamut Y'CbCr encodings are also possible with
222this colorspace:
223
224The xvYCC 709 encoding (``V4L2_YCBCR_ENC_XV709``, :ref:`xvycc`) is
225similar to the Rec. 709 encoding, but it allows for R', G' and B' values
226that are outside the range [0…1]. The resulting Y', Cb and Cr values are
227scaled and offset:
228
229.. math::
230
231 Y' = \frac{219}{256} * (0.2126R' + 0.7152G' + 0.0722B') + \frac{16}{256}
232
233 Cb = \frac{224}{256} * (-0.1146R' - 0.3854G' + 0.5B')
234
235 Cr = \frac{224}{256} * (0.5R' - 0.4542G' - 0.0458B')
236
237The xvYCC 601 encoding (``V4L2_YCBCR_ENC_XV601``, :ref:`xvycc`) is
238similar to the BT.601 encoding, but it allows for R', G' and B' values
239that are outside the range [0…1]. The resulting Y', Cb and Cr values are
240scaled and offset:
241
242.. math::
243
244 Y' = \frac{219}{256} * (0.299R' + 0.587G' + 0.114B') + \frac{16}{256}
245
246 Cb = \frac{224}{256} * (-0.169R' - 0.331G' + 0.5B')
247
248 Cr = \frac{224}{256} * (0.5R' - 0.419G' - 0.081B')
249
250Y' is clamped to the range [0…1] and Cb and Cr are clamped to the range
251[-0.5…0.5]. The non-standard xvYCC 709 or xvYCC 601 encodings can be
252used by selecting ``V4L2_YCBCR_ENC_XV709`` or ``V4L2_YCBCR_ENC_XV601``.
253The xvYCC encodings always use full range quantization.
254
255
256.. _col-srgb:
257
258Colorspace sRGB (V4L2_COLORSPACE_SRGB)
259======================================
260
261The :ref:`srgb` standard defines the colorspace used by most webcams
262and computer graphics. The default transfer function is
263``V4L2_XFER_FUNC_SRGB``. The default Y'CbCr encoding is
264``V4L2_YCBCR_ENC_SYCC``. The default Y'CbCr quantization is full range.
265The chromaticities of the primary colors and the white reference are:
266
267
268
269.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
270
271.. flat-table:: sRGB Chromaticities
272 :header-rows: 1
273 :stub-columns: 0
274 :widths: 1 1 2
275
276
277 - .. row 1
278
279 - Color
280
281 - x
282
283 - y
284
285 - .. row 2
286
287 - Red
288
289 - 0.640
290
291 - 0.330
292
293 - .. row 3
294
295 - Green
296
297 - 0.300
298
299 - 0.600
300
301 - .. row 4
302
303 - Blue
304
305 - 0.150
306
307 - 0.060
308
309 - .. row 5
310
311 - White Reference (D65)
312
313 - 0.3127
314
315 - 0.3290
316
317
318These chromaticities are identical to the Rec. 709 colorspace.
319
320Transfer function. Note that negative values for L are only used by the
321Y'CbCr conversion.
322
323.. math::
324
325 L' = -1.055(-L)^{\frac{1}{2.4} } + 0.055\text{, for }L < -0.0031308
326
327 L' = 12.92L\text{, for }-0.0031308 \le L \le 0.0031308
328
329 L' = 1.055L ^{\frac{1}{2.4} } - 0.055\text{, for }0.0031308 < L \le 1
330
331Inverse Transfer function:
332
333.. math::
334
335 L = -((-L' + 0.055) / 1.055) ^{2.4}\text{, for }L' < -0.04045
336
337 L = L' / 12.92\text{, for }-0.04045 \le L' \le 0.04045
338
339 L = ((L' + 0.055) / 1.055) ^{2.4}\text{, for }L' > 0.04045
340
341The luminance (Y') and color difference (Cb and Cr) are obtained with
342the following ``V4L2_YCBCR_ENC_SYCC`` encoding as defined by
343:ref:`sycc`:
344
345.. math::
346
347 Y' = 0.2990R' + 0.5870G' + 0.1140B'
348
349 Cb = -0.1687R' - 0.3313G' + 0.5B'
350
351 Cr = 0.5R' - 0.4187G' - 0.0813B'
352
353Y' is clamped to the range [0…1] and Cb and Cr are clamped to the range
354[-0.5…0.5]. The ``V4L2_YCBCR_ENC_SYCC`` quantization is always full
355range. Although this Y'CbCr encoding looks very similar to the
356``V4L2_YCBCR_ENC_XV601`` encoding, it is not. The
357``V4L2_YCBCR_ENC_XV601`` scales and offsets the Y'CbCr values before
358quantization, but this encoding does not do that.
359
360
361.. _col-adobergb:
362
363Colorspace Adobe RGB (V4L2_COLORSPACE_ADOBERGB)
364===============================================
365
366The :ref:`adobergb` standard defines the colorspace used by computer
367graphics that use the AdobeRGB colorspace. This is also known as the
368:ref:`oprgb` standard. The default transfer function is
369``V4L2_XFER_FUNC_ADOBERGB``. The default Y'CbCr encoding is
370``V4L2_YCBCR_ENC_601``. The default Y'CbCr quantization is limited
371range. The chromaticities of the primary colors and the white reference
372are:
373
374
375
376.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
377
378.. flat-table:: Adobe RGB Chromaticities
379 :header-rows: 1
380 :stub-columns: 0
381 :widths: 1 1 2
382
383
384 - .. row 1
385
386 - Color
387
388 - x
389
390 - y
391
392 - .. row 2
393
394 - Red
395
396 - 0.6400
397
398 - 0.3300
399
400 - .. row 3
401
402 - Green
403
404 - 0.2100
405
406 - 0.7100
407
408 - .. row 4
409
410 - Blue
411
412 - 0.1500
413
414 - 0.0600
415
416 - .. row 5
417
418 - White Reference (D65)
419
420 - 0.3127
421
422 - 0.3290
423
424
425
426Transfer function:
427
428.. math::
429
430 L' = L ^{\frac{1}{2.19921875}}
431
432Inverse Transfer function:
433
434.. math::
435
436 L = L'^{(2.19921875)}
437
438The luminance (Y') and color difference (Cb and Cr) are obtained with
439the following ``V4L2_YCBCR_ENC_601`` encoding:
440
441.. math::
442
443 Y' = 0.299R' + 0.587G' + 0.114B'
444
445 Cb = -0.169R' - 0.331G' + 0.5B'
446
447 Cr = 0.5R' - 0.419G' - 0.081B'
448
449Y' is clamped to the range [0…1] and Cb and Cr are clamped to the range
450[-0.5…0.5]. This transform is identical to one defined in SMPTE
451170M/BT.601. The Y'CbCr quantization is limited range.
452
453
454.. _col-bt2020:
455
456Colorspace BT.2020 (V4L2_COLORSPACE_BT2020)
457===========================================
458
459The :ref:`itu2020` standard defines the colorspace used by Ultra-high
460definition television (UHDTV). The default transfer function is
461``V4L2_XFER_FUNC_709``. The default Y'CbCr encoding is
462``V4L2_YCBCR_ENC_BT2020``. The default R'G'B' quantization is limited
463range (!), and so is the default Y'CbCr quantization. The chromaticities
464of the primary colors and the white reference are:
465
466
467
468.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
469
470.. flat-table:: BT.2020 Chromaticities
471 :header-rows: 1
472 :stub-columns: 0
473 :widths: 1 1 2
474
475
476 - .. row 1
477
478 - Color
479
480 - x
481
482 - y
483
484 - .. row 2
485
486 - Red
487
488 - 0.708
489
490 - 0.292
491
492 - .. row 3
493
494 - Green
495
496 - 0.170
497
498 - 0.797
499
500 - .. row 4
501
502 - Blue
503
504 - 0.131
505
506 - 0.046
507
508 - .. row 5
509
510 - White Reference (D65)
511
512 - 0.3127
513
514 - 0.3290
515
516
517
518Transfer function (same as Rec. 709):
519
520.. math::
521
522 L' = 4.5L\text{, for }0 \le L < 0.018
523
524 L' = 1.099L ^{0.45} - 0.099\text{, for } 0.018 \le L \le 1
525
526Inverse Transfer function:
527
528.. math::
529
530 L = L' / 4.5\text{, for } L' < 0.081
531
532 L = \left( \frac{L' + 0.099}{1.099}\right) ^{\frac{1}{0.45} }\text{, for } L' \ge 0.081
533
534The luminance (Y') and color difference (Cb and Cr) are obtained with
535the following ``V4L2_YCBCR_ENC_BT2020`` encoding:
536
537.. math::
538
539 Y' = 0.2627R' + 0.6780G' + 0.0593B'
540
541 Cb = -0.1396R' - 0.3604G' + 0.5B'
542
543 Cr = 0.5R' - 0.4598G' - 0.0402B'
544
545Y' is clamped to the range [0…1] and Cb and Cr are clamped to the range
546[-0.5…0.5]. The Y'CbCr quantization is limited range.
547
548There is also an alternate constant luminance R'G'B' to Yc'CbcCrc
549(``V4L2_YCBCR_ENC_BT2020_CONST_LUM``) encoding:
550
551Luma:
552
553.. math::
554 :nowrap:
555
556 \begin{align*}
557 Yc' = (0.2627R + 0.6780G + 0.0593B)'& \\
558 B' - Yc' \le 0:& \\
559 &Cbc = (B' - Yc') / 1.9404 \\
560 B' - Yc' > 0: & \\
561 &Cbc = (B' - Yc') / 1.5816 \\
562 R' - Yc' \le 0:& \\
563 &Crc = (R' - Y') / 1.7184 \\
564 R' - Yc' > 0:& \\
565 &Crc = (R' - Y') / 0.9936
566 \end{align*}
567
568Yc' is clamped to the range [0…1] and Cbc and Crc are clamped to the
569range [-0.5…0.5]. The Yc'CbcCrc quantization is limited range.
570
571
572.. _col-dcip3:
573
574Colorspace DCI-P3 (V4L2_COLORSPACE_DCI_P3)
575==========================================
576
577The :ref:`smpte431` standard defines the colorspace used by cinema
578projectors that use the DCI-P3 colorspace. The default transfer function
579is ``V4L2_XFER_FUNC_DCI_P3``. The default Y'CbCr encoding is
580``V4L2_YCBCR_ENC_709``.
581
582.. note::
583
584 Note that this colorspace does not specify a
585 Y'CbCr encoding since it is not meant to be encoded to Y'CbCr. So this
586 default Y'CbCr encoding was picked because it is the HDTV encoding. The
587 default Y'CbCr quantization is limited range. The chromaticities of the
588 primary colors and the white reference are:
589
590
591
592.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
593
594.. flat-table:: DCI-P3 Chromaticities
595 :header-rows: 1
596 :stub-columns: 0
597 :widths: 1 1 2
598
599
600 - .. row 1
601
602 - Color
603
604 - x
605
606 - y
607
608 - .. row 2
609
610 - Red
611
612 - 0.6800
613
614 - 0.3200
615
616 - .. row 3
617
618 - Green
619
620 - 0.2650
621
622 - 0.6900
623
624 - .. row 4
625
626 - Blue
627
628 - 0.1500
629
630 - 0.0600
631
632 - .. row 5
633
634 - White Reference
635
636 - 0.3140
637
638 - 0.3510
639
640
641
642Transfer function:
643
644.. math::
645
646 L' = L^{\frac{1}{2.6}}
647
648Inverse Transfer function:
649
650.. math::
651
652 L = L'^{(2.6)}
653
654Y'CbCr encoding is not specified. V4L2 defaults to Rec. 709.
655
656
657.. _col-smpte-240m:
658
659Colorspace SMPTE 240M (V4L2_COLORSPACE_SMPTE240M)
660=================================================
661
662The :ref:`smpte240m` standard was an interim standard used during the
663early days of HDTV (1988-1998). It has been superseded by Rec. 709. The
664default transfer function is ``V4L2_XFER_FUNC_SMPTE240M``. The default
665Y'CbCr encoding is ``V4L2_YCBCR_ENC_SMPTE240M``. The default Y'CbCr
666quantization is limited range. The chromaticities of the primary colors
667and the white reference are:
668
669
670
671.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
672
673.. flat-table:: SMPTE 240M Chromaticities
674 :header-rows: 1
675 :stub-columns: 0
676 :widths: 1 1 2
677
678
679 - .. row 1
680
681 - Color
682
683 - x
684
685 - y
686
687 - .. row 2
688
689 - Red
690
691 - 0.630
692
693 - 0.340
694
695 - .. row 3
696
697 - Green
698
699 - 0.310
700
701 - 0.595
702
703 - .. row 4
704
705 - Blue
706
707 - 0.155
708
709 - 0.070
710
711 - .. row 5
712
713 - White Reference (D65)
714
715 - 0.3127
716
717 - 0.3290
718
719
720These chromaticities are identical to the SMPTE 170M colorspace.
721
722Transfer function:
723
724.. math::
725
726 L' = 4L\text{, for } 0 \le L < 0.0228
727
728 L' = 1.1115L ^{0.45} - 0.1115\text{, for } 0.0228 \le L \le 1
729
730Inverse Transfer function:
731
732.. math::
733
734 L = \frac{L'}{4}\text{, for } 0 \le L' < 0.0913
735
736 L = \left( \frac{L' + 0.1115}{1.1115}\right) ^{\frac{1}{0.45} }\text{, for } L' \ge 0.0913
737
738The luminance (Y') and color difference (Cb and Cr) are obtained with
739the following ``V4L2_YCBCR_ENC_SMPTE240M`` encoding:
740
741.. math::
742
743 Y' = 0.2122R' + 0.7013G' + 0.0865B'
744
745 Cb = -0.1161R' - 0.3839G' + 0.5B'
746
747 Cr = 0.5R' - 0.4451G' - 0.0549B'
748
749Yc' is clamped to the range [0…1] and Cbc and Crc are clamped to the
750range [-0.5…0.5]. The Y'CbCr quantization is limited range.
751
752
753.. _col-sysm:
754
755Colorspace NTSC 1953 (V4L2_COLORSPACE_470_SYSTEM_M)
756===================================================
757
758This standard defines the colorspace used by NTSC in 1953. In practice
759this colorspace is obsolete and SMPTE 170M should be used instead. The
760default transfer function is ``V4L2_XFER_FUNC_709``. The default Y'CbCr
761encoding is ``V4L2_YCBCR_ENC_601``. The default Y'CbCr quantization is
762limited range. The chromaticities of the primary colors and the white
763reference are:
764
765
766
767.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
768
769.. flat-table:: NTSC 1953 Chromaticities
770 :header-rows: 1
771 :stub-columns: 0
772 :widths: 1 1 2
773
774
775 - .. row 1
776
777 - Color
778
779 - x
780
781 - y
782
783 - .. row 2
784
785 - Red
786
787 - 0.67
788
789 - 0.33
790
791 - .. row 3
792
793 - Green
794
795 - 0.21
796
797 - 0.71
798
799 - .. row 4
800
801 - Blue
802
803 - 0.14
804
805 - 0.08
806
807 - .. row 5
808
809 - White Reference (C)
810
811 - 0.310
812
813 - 0.316
814
815
816.. note::
817
818 This colorspace uses Illuminant C instead of D65 as the white
819 reference. To correctly convert an image in this colorspace to another
820 that uses D65 you need to apply a chromatic adaptation algorithm such as
821 the Bradford method.
822
823The transfer function was never properly defined for NTSC 1953. The Rec.
824709 transfer function is recommended in the literature:
825
826.. math::
827
828 L' = 4.5L\text{, for } 0 \le L < 0.018
829
830 L' = 1.099L ^{0.45} - 0.099\text{, for } 0.018 \le L \le 1
831
832Inverse Transfer function:
833
834.. math::
835
836 L = \frac{L'}{4.5} \text{, for } L' < 0.081
837
838 L = \left( \frac{L' + 0.099}{1.099}\right) ^{\frac{1}{0.45} }\text{, for } L' \ge 0.081
839
840The luminance (Y') and color difference (Cb and Cr) are obtained with
841the following ``V4L2_YCBCR_ENC_601`` encoding:
842
843.. math::
844
845 Y' = 0.299R' + 0.587G' + 0.114B'
846
847 Cb = -0.169R' - 0.331G' + 0.5B'
848
849 Cr = 0.5R' - 0.419G' - 0.081B'
850
851Y' is clamped to the range [0…1] and Cb and Cr are clamped to the range
852[-0.5…0.5]. The Y'CbCr quantization is limited range. This transform is
853identical to one defined in SMPTE 170M/BT.601.
854
855
856.. _col-sysbg:
857
858Colorspace EBU Tech. 3213 (V4L2_COLORSPACE_470_SYSTEM_BG)
859=========================================================
860
861The :ref:`tech3213` standard defines the colorspace used by PAL/SECAM
862in 1975. In practice this colorspace is obsolete and SMPTE 170M should
863be used instead. The default transfer function is
864``V4L2_XFER_FUNC_709``. The default Y'CbCr encoding is
865``V4L2_YCBCR_ENC_601``. The default Y'CbCr quantization is limited
866range. The chromaticities of the primary colors and the white reference
867are:
868
869
870
871.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
872
873.. flat-table:: EBU Tech. 3213 Chromaticities
874 :header-rows: 1
875 :stub-columns: 0
876 :widths: 1 1 2
877
878
879 - .. row 1
880
881 - Color
882
883 - x
884
885 - y
886
887 - .. row 2
888
889 - Red
890
891 - 0.64
892
893 - 0.33
894
895 - .. row 3
896
897 - Green
898
899 - 0.29
900
901 - 0.60
902
903 - .. row 4
904
905 - Blue
906
907 - 0.15
908
909 - 0.06
910
911 - .. row 5
912
913 - White Reference (D65)
914
915 - 0.3127
916
917 - 0.3290
918
919
920
921The transfer function was never properly defined for this colorspace.
922The Rec. 709 transfer function is recommended in the literature:
923
924.. math::
925
926 L' = 4.5L\text{, for } 0 \le L < 0.018
927
928 L' = 1.099L ^{0.45} - 0.099\text{, for } 0.018 \le L \le 1
929
930Inverse Transfer function:
931
932.. math::
933
934 L = \frac{L'}{4.5} \text{, for } L' < 0.081
935
936 L = \left(\frac{L' + 0.099}{1.099} \right) ^{\frac{1}{0.45} }\text{, for } L' \ge 0.081
937
938The luminance (Y') and color difference (Cb and Cr) are obtained with
939the following ``V4L2_YCBCR_ENC_601`` encoding:
940
941.. math::
942
943 Y' = 0.299R' + 0.587G' + 0.114B'
944
945 Cb = -0.169R' - 0.331G' + 0.5B'
946
947 Cr = 0.5R' - 0.419G' - 0.081B'
948
949Y' is clamped to the range [0…1] and Cb and Cr are clamped to the range
950[-0.5…0.5]. The Y'CbCr quantization is limited range. This transform is
951identical to one defined in SMPTE 170M/BT.601.
952
953
954.. _col-jpeg:
955
956Colorspace JPEG (V4L2_COLORSPACE_JPEG)
957======================================
958
959This colorspace defines the colorspace used by most (Motion-)JPEG
960formats. The chromaticities of the primary colors and the white
961reference are identical to sRGB. The transfer function use is
962``V4L2_XFER_FUNC_SRGB``. The Y'CbCr encoding is ``V4L2_YCBCR_ENC_601``
963with full range quantization where Y' is scaled to [0…255] and Cb/Cr are
964scaled to [-128…128] and then clipped to [-128…127].
965
966.. note::
967
968 The JPEG standard does not actually store colorspace
969 information. So if something other than sRGB is used, then the driver
970 will have to set that information explicitly. Effectively
971 ``V4L2_COLORSPACE_JPEG`` can be considered to be an abbreviation for
972 ``V4L2_COLORSPACE_SRGB``, ``V4L2_YCBCR_ENC_601`` and
973 ``V4L2_QUANTIZATION_FULL_RANGE``.
This page took 0.028449 seconds and 5 git commands to generate.