The color space types that are supported by window and pixmap objects
Synopsis:
#include <screen/screen.h>
enum {
SCREEN_COLOR_SPACE_UNCORRECTED = 0x0,
SCREEN_COLOR_SPACE_SRGB = 0x1,
SCREEN_COLOR_SPACE_LRGB = 0x2,
SCREEN_COLOR_SPACE_BT601 = 0x3,
SCREEN_COLOR_SPACE_BT601_FULL = 0x4,
SCREEN_COLOR_SPACE_BT709 = 0x5,
SCREEN_COLOR_SPACE_BT709_FULL = 0x6,
SCREEN_COLOR_SPACE_BT2020 = 0x7,
SCREEN_COLOR_SPACE_BT2020_FULL = 0x8
};
Data:
- SCREEN_COLOR_SPACE_UNCORRECTED
- Only historically called "uncorrected"; this does not reflect the true behavior of this mode.
This color space mode means no transformations are applied to the RGB data and that some unspecified transfer function is applied to the YUV data. Most drivers assume BT.601 color space in this mode for YUV.
- SCREEN_COLOR_SPACE_SRGB
- The raw RGB data is in sRGB color space as defined by IEC 61966-2-1:1999.
- SCREEN_COLOR_SPACE_LRGB
- The raw RGB data is in linear RGB color space.
- SCREEN_COLOR_SPACE_BT601
- The raw YUV data is in the BT.601 color space defined by the BT.601 standard found at https://www.itu.int/rec/R-REC-BT.601 .
In this color space, the luminance signal is occupying 220 (8-bit) or 877 (10-bit) levels and the colour-difference signals are occupying 225 (8-bit) or 897 (10-bit) levels. For 8-bit: Y is in the range 16..235, U and V are in the range 16..240. For 10-bit: Y is in the range 64..940, U and V are in the range 64..960.
- SCREEN_COLOR_SPACE_BT601_FULL
- The raw YUV data is in the color space described by the ITU-T T.871; which is based on the BT.601 color space defined by the BT.601 standard.
Sometimes it is called JPEG color space. In this color space, the luminance signal is occupying all 256 (8-bit) or 1024 (10-bit) levels. For 8-bit: Y is in the range 0..255, U and V are in the range 0.255. For 10-bit: Y is in range 0..1023, U and V are in the range 0..1023.
- SCREEN_COLOR_SPACE_BT709
- The raw YUV data is in the BT.709 color space defined by the BT.709 standard found here https://www.itu.int/rec/R-REC-BT.709 .
In this color space, the luminance signal is occupying 220 (8-bit) or 877 (10-bit) levels and the colour-difference signals are occupying 225 (8-bit) or 897 (10-bit) levels. For 8-bit: Y is in the range 16..235, U and V are in the range 16..240. For 10-bit: Y is in the range 64..940, U and V are in the range 64..960.
- SCREEN_COLOR_SPACE_BT709_FULL
- There is no dedicated standard for this color space.
It is based on the BT.709 color space defined by the BT.709 standard. In this color space the luminance signal is occupying all 256 (8-bit) or 1024 (10-bit) levels. For 8-bit: Y is in the range 0..255, U and V are in the range 0.255. For 10-bit: Y is in range 0..1023, U and V are in the range 0..1023. Refer to the BT.709 standards.
- SCREEN_COLOR_SPACE_BT2020
- The raw YUV data is in the BT.2020 color space defined by the BT.2020 standard https://www.itu.int/rec/R-REC-BT.2020 .
This color space doesn't standardize 8 bit data, only 10 and 12 bits. For 10-bit: Y is in the range 64..940, U and V are in the range 64..960. For 12-bit: Y is in the range 256..3760, U and V are in the range 256..3840. Refer to the BT.2020 standards.
- SCREEN_COLOR_SPACE_BT2020_FULL
- There is no dedicated standard for this color space.
It is based on the BT.2020 color space defined by the BT.2020 standard. This color space doesn't standardize 8 bit data, only 10 and 12 bits. For 10-bit: Y is in the range 0..1023, U and V are in the range 0..1023. For 12-bit: Y is in the range 0..4095, U and V are in the range 0..4095. Refer to the BT.2020 standards.