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