Пиксельные форматы

Форматы пикселей окна определяют способ хранения информации в памяти GPU

Модель RGBA использует цветовое кодирование Red Green Blue (RGB) с дополнительной информацией об альфа канале (уровень прозрачности). Приложения, которым не требуется альфа-смешивание, могут использовать форматы, имеющие в качестве альфа-компонента отметку X.

Screen API поддерживает следующие форматы пикселей окон (описание этих форматов доступно на сайте www.fourcc.org):

Формат Описание
SCREEN_FORMAT_BYTE
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-bit Y plane and 8-bit 4x4 subsampled V and U planes. Registered by Intel.
SCREEN_FORMAT_YUV420 Стандартный формат передачи NTSC TV.
SCREEN_FORMAT_NV12 12 бит-на-пиксель; YUV формат. 8-bit Y plane and 2x2 subsampled, interleaved U and V planes.
SCREEN_FORMAT_YV12 12 бит-на-пиксель; YUV формат. 8-bit Y plane and 8-bit 2x2 subsampled U and V planes.
SCREEN_FORMAT_UYVY 16 бит-на-пиксель; упакованный YUV формат. YUV 4:2:2 — Y sample at every pixel, U and V sampled at every second pixel horizontally on each line. A macropixel contains 2 pixels in 1 u_int32.
SCREEN_FORMAT_YUY2 16 бит-на-пиксель; упакованный YUV формат. YUV 4:2:2 as in UYVY, but with different component ordering within the u_int32 macropixel.
SCREEN_FORMAT_YVYU 16 бит-на-пиксель; упакованный YUV формат. YUV 4:2:2 as for UYVY, but with different component ordering within the u_int32 macropixel.
SCREEN_FORMAT_V422 Упакованный YUV формат. Инвертированная версия UYVY.
SCREEN_FORMAT_AYUV Упакованный YUV формат. Комбинируется YUV и альфа канал.

Также в Screen API поддерживаются следующие дополнительные форматы:

Формат Описание
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.




Предыдущий раздел: Окна