screen_format_t

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

Прототип:

#include <screen/screen.h>
typedef 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
} screen_format_t;

Библиотека:

libscreen

Описание:

SCREEN_FORMAT_BYTE
8 бит-на-пиксель; Индексированный RGB.
SCREEN_FORMAT_RGBA4444
16 бит-на-пиксель; (4 бит на канал) RGB с альфа каналом. Формат представляет следующий порядок бит (от старшего байта к младшему): RRRRGGGG BBBBAAAA.
SCREEN_FORMAT_RGBX4444
16 бит-на-пиксель; (4 бит на канал) RGB с альфа каналом (альфа канал игнорируется). Формат представляет следующий порядок бит (от старшего байта к младшему): RRRRGGGG BBBBXXXX.
SCREEN_FORMAT_RGBA5551
16 бит-на-пиксель; 2 байта содержат R, G, и B компоненты (5 бит на канал и 1 бит на альфа компонент). Формат представляет следующий порядок бит (от старшего байта к младшему): RRRRRGGG GGBBBBBA.
SCREEN_FORMAT_RGBX5551
16 бит-на-пиксель; 2 байта содержат R, G, и B компоненты (5 бит на канал и 1 бит на альфа компонент, который игнорируется). Формат представляет следующий порядок бит (от старшего байта к младшему): RRRRRGGG GGBBBBBX.
SCREEN_FORMAT_RGB565
16 бит-на-пиксель; 5 бит на R и B компоненты и 6 бит для G. Формат представляет следующий порядок бит (от старшего байта к младшему): RRRRRGGG GGGBBBBB.
SCREEN_FORMAT_RGB888
24 бит-на-пиксель; (8 бит на канал) RGB. Формат представляет следующий порядок бит (от старшего байта к младшему): RRRRRRRR GGGGGGGG BBBBBBBB.
SCREEN_FORMAT_RGBA8888
32 бит-на-пиксель; (8 бит на канал) RGB с альфа каналом. Формат представляет следующий порядок бит (от старшего байта к младшему): RRRRRRRR GGGGGGGG BBBBBBBB AAAAAAAA.
SCREEN_FORMAT_RGBX8888
32 бит-на-пиксель; (8 бит на канал) RGB с альфа каналом (альфа канал игнорируется). Формат представляет следующий порядок бит (от старшего байта к младшему): RRRRRRRR GGGGGGGG BBBBBBBB XXXXXXXX.
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.

Классификация:

Графическая подсистема ЗОСРВ «Нейтрино», Screen

Поддерживается, начиная с ЗОСРВ «Нейтрино» редакции 2020




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