Форматы кодирования цветов пикселей

Форматы кодирования цветов пикселей

Прототип:

#include <screen/screen.h>
enum {
SCREEN_FORMAT_BYTE
SCREEN_FORMAT_RGBA4444
SCREEN_FORMAT_RGBX4444
SCREEN_FORMAT_RGBA5551
SCREEN_FORMAT_RGBX5551
SCREEN_FORMAT_RGB565
SCREEN_FORMAT_RGB888
SCREEN_FORMAT_RGBA8888
SCREEN_FORMAT_RGBX8888
SCREEN_FORMAT_YVU9
SCREEN_FORMAT_YUV420
SCREEN_FORMAT_NV12
SCREEN_FORMAT_YV12
SCREEN_FORMAT_UYVY
SCREEN_FORMAT_YUY2
SCREEN_FORMAT_YVYU
SCREEN_FORMAT_V422
SCREEN_FORMAT_AYUV
SCREEN_FORMAT_BGRA8888
SCREEN_FORMAT_BGR565
SCREEN_FORMAT_BGRA5551
SCREEN_FORMAT_NFORMATS
};

Библиотека:

libscreen

Описание:

SCREEN_FORMAT_BYTE
8 бит-на-пиксель; Индексированный RGB.
SCREEN_FORMAT_RGBA4444
16 бит-на-пиксель; (4 бит на канал) RGB с альфа каналом.
SCREEN_FORMAT_RGBX4444
16 бит-на-пиксель; (4 бит на канал) RGB с альфа каналом (альфа канал игнорируется).
SCREEN_FORMAT_RGBA5551
16 бит-на-пиксель; 2 байта содержат R, G, и B компоненты (5 бит на канал и 1 бит на альфа компонент).
SCREEN_FORMAT_RGBX5551
16 бит-на-пиксель; 2 байта содержат R, G, и B компоненты (5 бит на канал и 1 бит на альфа компонент, который игнорируется).
SCREEN_FORMAT_RGB565
16 бит-на-пиксель; 5 бит на R и B компоненты и 6 бит для G.
Формат представляет следующий порядок бит (от старшего байта к младшему): RRRRRGGG GGGBBBBB.
SCREEN_FORMAT_RGB888
24 бит-на-пиксель; (8 бит на канал) RGB.
SCREEN_FORMAT_RGBA8888
32 бит-на-пиксель; (8 бит на канал) RGB с альфа каналом.
SCREEN_FORMAT_RGBX8888
32 бит-на-пиксель; (8 бит на канал) RGB с альфа каналом (альфа канал игнорируется).
SCREEN_FORMAT_YVU9
9 бит-на-пиксель; YUV формат.
8-битная Y поверхность и 8-битные 4x4 субсемплированные V и U поверхности.
SCREEN_FORMAT_YUV420
Стандартный формат передачи NTSC TV.
SCREEN_FORMAT_NV12
12 бит-на-пиксель; YUV формат.
8-битная Y поверхность и 2x2 субсемплированные U и V поверхности.
SCREEN_FORMAT_YV12
12 бит-на-пиксель; YUV формат.
8-битная Y поверхность и 8-битные 2x2 субсемплированные U и V поверхности.
SCREEN_FORMAT_UYVY
16 бит-на-пиксель; упакованный YUV формат.
YUV 4:2:2 - Y семплируется в каждом пикселе, U и V семплируются в каждом втором пикселе горизонтально в каждой строке. Макропиксель содержит 2 пикселя в одном uint32.
SCREEN_FORMAT_YUY2
16 бит-на-пиксель; упакованный YUV формат.
YUV 4:2:2 - как и в UYVY, но с другим порядком компонентов uint32 макропикселе.
SCREEN_FORMAT_YVYU
16 бит-на-пиксель; упакованный YUV формат.
YUV 4:2:2 - как и в UYVY, но с другим порядком компонентов uint32 макропикселе.
SCREEN_FORMAT_V422
Упакованный YUV формат.
Инвертированная версия UYVY.
SCREEN_FORMAT_AYUV
Упакованный YUV формат.
Комбинируется YUV и альфа канал.
SCREEN_FORMAT_BGRA8888 (дополнитиельный формат)
32 бит-на-пиксель; (8 бит на канал) RGB с альфа каналом.
Формат представляет следующий порядок бит (от старшего байта к младшему): BBBBBBBB GGGGGGGG RRRRRRRR AAAAAAAA.
SCREEN_FORMAT_BGR565 (дополнитиельный формат)
16 бит-на-пиксель; 5 бит на R и B компоненты и 6 бит для G.
Формат представляет следующий порядок бит (от старшего байта к младшему): BBBBBGGG GGGRRRRR.
SCREEN_FORMAT_BGRA5551 (дополнитиельный формат)
16 бит-на-пиксель; 2 байта содержат R, G, и B компоненты (5 бит на канал и 1 бит на альфа компонент).
Формат представляет следующий порядок бит (от старшего байта к младшему): BBBBBGGG GGRRRRRA.
SCREEN_FORMAT_NFORMATS
Константа, характеризующая общее число форматов.


Note: Форматы с альфа каналом будут иметь src-alpha режим смешивания включенным автоматически. Приложения, которым не требуется альфа-смешивание, должны выбирать форматы с X на позиции альфа канала. Например, SCREEN_FORMAT_RGBX8888.




Предыдущий раздел: Общие типы данных