Поделиться через


Несжатые подтипы видео RGB

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Следующие подтипы определяют несжатые форматы RGB без альфа-канала.

Константа Описание
MEDIASUBTYPE_RGB1
RGB, 1 бит на пиксель (bpp), палетизированный
MEDIASUBTYPE_RGB4
RGB, 4 bpp, palettized
MEDIASUBTYPE_RGB8
RGB, 8 bpp, palettized
MEDIASUBTYPE_RGB555
RGB 555, 16 bpp
MEDIASUBTYPE_RGB565
RGB 565, 16 bpp
MEDIASUBTYPE_RGB24
RGB, 24 bpp
MEDIASUBTYPE_RGB32
RGB, 32 bpp

Следующие подтипы определяют несжатые форматы RGB с альфа-каналом.

Константа Описание
MEDIASUBTYPE_ARGB1555
RGB 555 с альфа-каналом
MEDIASUBTYPE_ARGB32
RGB 32 с альфа-каналом
MEDIASUBTYPE_ARGB4444
16-разрядный RGB с альфа-каналом; 4 бита на канал
MEDIASUBTYPE_A2R10G10B10
32-разрядный RGB с альфа-каналом; 10 бит на канал RGB плюс 2 бита для альфа-канала.
MEDIASUBTYPE_A2B10G10R10
32-разрядная версия BGR с альфа-каналом; 10 бит на канал BGR плюс 2 бита для альфа-канала.

Комментарии

Для палеттизированных форматов цвет каждого пикселя указывается в виде индекса в палитре. Палитра должна быть включена в блок форматирования в соответствии со структурой BITMAPINFOHEADER . Для не palettized форматов цвет каждого пикселя указывается напрямую; макет памяти зависит от битовой глубины:

  • RGB 555 использует следующий макет памяти:

    High-order byte:    Low-order byte: 
    X R R R R R G G     G G G B B B B B 
    
    X = Don't care, R = Red, G = Green, B = Blue
    
  • RGB 565 использует следующий макет памяти:

    High-order byte:    Low-order byte: 
    R R R R R G G G     G G G B B B B B 
    
  • Для RGB 24 каждый пиксель является RGBTRIPLE. Каждый цвет имеет один байт со значением от 0 до 255 включительно. Макет памяти:

    Layout Layout Layout
    Byte 0 1 2
    Значение Синий Зеленый Красный

     

  • Для RGB 32 каждый пиксель является RGBQUAD. Каждый цвет имеет один байт со значением от 0 до 255 включительно. Макет памяти:

    Layout Layout Layout Layout
    Byte 0 1 2 3
    Значение Синий Зеленый Красный Альфа или не волнует

     

    Если подтип MEDIASUBTYPE_ARGB32, то байт 3 содержит значение альфа-канала. Если подтип MEDIASUBTYPE_RGB32, байт 3 следует игнорировать.

  • A2R10G10B10 использует следующий макет:

    Layout Layout Layout Layout
    Разрядной 0–9 10–19 20 - 29 30 - 31
    Значение Синий Зеленый Красный Коэффициент альфа

     

  • A2B10G10R10 использует следующий макет:

    Layout Layout Layout Layout
    Разрядной 0–9 10–19 20 - 29 30 - 31
    Значение Красный Зеленый Синий Коэффициент альфа

     

Требования

Требование Значение
Заголовок
Dshow.h

См. также раздел

Подтипы видео

Работа с видеокадрами