Uncompressed RGB Video Subtypes

 
Microsoft DirectShow 9.0

Uncompressed RGB Video Subtypes

The following subtypes define uncompressed RGB formats.

RGB Formats With No Alpha Channel

GUID Description
MEDIASUBTYPE_RGB1 RGB, 1 bit per pixel (bpp), palettized
MEDIASUBTYPE_RGB4 RGB, 4 bpp, palettized
MEDIASUBTYPE_RGB8 RGB, 8 bpp
MEDIASUBTYPE_RGB555 RGB 555, 16 bpp
MEDIASUBTYPE_RGB565 RGB 565, 16 bpp
MEDIASUBTYPE_RGB24 RGB, 24 bpp
MEDIASUBTYPE_RGB32 RGB, 32 bpp

RGB Formats With Alpha Channel

GUID Description
MEDIASUBTYPE_ARGB1555 RGB 555 with alpha channel
MEDIASUBTYPE_ARGB32 RGB 32 with alpha channel
MEDIASUBTYPE_ARGB4444 16-bit RGB with alpha channel; 4 bits per channel
MEDIASUBTYPE_A2R10G10B10 32-bit RGB with alpha channel; 10 bits per RGB channel plus 2 bits for alpha. 
MEDIASUBTYPE_A2B10G10R10 32-bit RGB with alpha channel; 10 bits per RGB channel plus 2 bits for alpha. 

For palettized formats, the color of each pixel is specified as an index into a palette. The palette must be included in the format block, following the BITMAPINFOHEADER structure. For non-palettized formats, the color of each pixel is specified directly; the memory layout depends on the bit depth:

  • RGB 555 uses the following memory layout:
    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 uses the following memory layout:

    High-order byte:    Low-order byte:
    R R R R R G G G     G G G B B B B B
    

  • For RGB 24, every pixel is an RGBTRIPLE. Each color is one byte, with a value from 0 to 255, inclusive. The memory layout is:

    Byte 0 1 2
    Value Blue Green Red
  • For RGB 32, every pixel is an RGBQUAD. Each color is one byte, with a value from 0 to 255, inclusive. The memory layout is:

    Byte 0 1 2 3
    Value Blue Green Red Alpha or Don't Care

If the subtype is MEDIASUBTYPE_ARGB32, byte 3 contains a value for the alpha channel. If the subtype is MEDIASUBTYPE_RGB32, byte 3 should be ignored.

  • A2R10G10B10 uses the following layout:

    Bit 0 - 9 10 - 19 20 - 29 30 - 31
    Value Blue Green Red Alpha
  • A2B10G10R10 uses the following layout:

    Bit 0 - 9 10 - 19 20 - 29 30 - 31
    Value Red Green Blue Alpha

Requirements

  Header: Dshow.h.

See Also