All pixel formats known to SDL.
Defined in <SDL3/SDL_pixels.h>
typedef enum SDL_PixelFormatEnum
{
SDL_PIXELFORMAT_UNKNOWN,
SDL_PIXELFORMAT_INDEX1LSB =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX1, SDL_BITMAPORDER_4321, 1, 0),
SDL_PIXELFORMAT_INDEX1MSB =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX1, SDL_BITMAPORDER_1234, 1, 0),
SDL_PIXELFORMAT_INDEX2LSB =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX2, SDL_BITMAPORDER_4321, 2, 0),
SDL_PIXELFORMAT_INDEX2MSB =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX2, SDL_BITMAPORDER_1234, 2, 0),
SDL_PIXELFORMAT_INDEX4LSB =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX4, SDL_BITMAPORDER_4321, 4, 0),
SDL_PIXELFORMAT_INDEX4MSB =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX4, SDL_BITMAPORDER_1234, 4, 0),
SDL_PIXELFORMAT_INDEX8 =0, 0, 8, 1),
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX8,
SDL_PIXELFORMAT_RGB332 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED8, SDL_PACKEDORDER_XRGB,8, 1),
SDL_PACKEDLAYOUT_332,
SDL_PIXELFORMAT_XRGB4444 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XRGB,12, 2),
SDL_PACKEDLAYOUT_4444,
SDL_PIXELFORMAT_RGB444 = SDL_PIXELFORMAT_XRGB4444,
SDL_PIXELFORMAT_XBGR4444 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XBGR,12, 2),
SDL_PACKEDLAYOUT_4444,
SDL_PIXELFORMAT_BGR444 = SDL_PIXELFORMAT_XBGR4444,
SDL_PIXELFORMAT_XRGB1555 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XRGB,15, 2),
SDL_PACKEDLAYOUT_1555,
SDL_PIXELFORMAT_RGB555 = SDL_PIXELFORMAT_XRGB1555,
SDL_PIXELFORMAT_XBGR1555 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XBGR,15, 2),
SDL_PACKEDLAYOUT_1555,
SDL_PIXELFORMAT_BGR555 = SDL_PIXELFORMAT_XBGR1555,
SDL_PIXELFORMAT_ARGB4444 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ARGB,16, 2),
SDL_PACKEDLAYOUT_4444,
SDL_PIXELFORMAT_RGBA4444 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_RGBA,16, 2),
SDL_PACKEDLAYOUT_4444,
SDL_PIXELFORMAT_ABGR4444 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ABGR,16, 2),
SDL_PACKEDLAYOUT_4444,
SDL_PIXELFORMAT_BGRA4444 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_BGRA,16, 2),
SDL_PACKEDLAYOUT_4444,
SDL_PIXELFORMAT_ARGB1555 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ARGB,16, 2),
SDL_PACKEDLAYOUT_1555,
SDL_PIXELFORMAT_RGBA5551 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_RGBA,16, 2),
SDL_PACKEDLAYOUT_5551,
SDL_PIXELFORMAT_ABGR1555 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ABGR,16, 2),
SDL_PACKEDLAYOUT_1555,
SDL_PIXELFORMAT_BGRA5551 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_BGRA,16, 2),
SDL_PACKEDLAYOUT_5551,
SDL_PIXELFORMAT_RGB565 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XRGB,16, 2),
SDL_PACKEDLAYOUT_565,
SDL_PIXELFORMAT_BGR565 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XBGR,16, 2),
SDL_PACKEDLAYOUT_565,
SDL_PIXELFORMAT_RGB24 =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU8, SDL_ARRAYORDER_RGB, 24, 3),
SDL_PIXELFORMAT_BGR24 =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU8, SDL_ARRAYORDER_BGR, 24, 3),
SDL_PIXELFORMAT_XRGB8888 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_XRGB,24, 4),
SDL_PACKEDLAYOUT_8888,
SDL_PIXELFORMAT_RGBX8888 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_RGBX,24, 4),
SDL_PACKEDLAYOUT_8888,
SDL_PIXELFORMAT_XBGR8888 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_XBGR,24, 4),
SDL_PACKEDLAYOUT_8888,
SDL_PIXELFORMAT_BGRX8888 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_BGRX,24, 4),
SDL_PACKEDLAYOUT_8888,
SDL_PIXELFORMAT_ARGB8888 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ARGB,32, 4),
SDL_PACKEDLAYOUT_8888,
SDL_PIXELFORMAT_RGBA8888 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_RGBA,32, 4),
SDL_PACKEDLAYOUT_8888,
SDL_PIXELFORMAT_ABGR8888 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ABGR,32, 4),
SDL_PACKEDLAYOUT_8888,
SDL_PIXELFORMAT_BGRA8888 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_BGRA,32, 4),
SDL_PACKEDLAYOUT_8888,
SDL_PIXELFORMAT_XRGB2101010 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_XRGB,32, 4),
SDL_PACKEDLAYOUT_2101010,
SDL_PIXELFORMAT_XBGR2101010 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_XBGR,32, 4),
SDL_PACKEDLAYOUT_2101010,
SDL_PIXELFORMAT_ARGB2101010 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ARGB,32, 4),
SDL_PACKEDLAYOUT_2101010,
SDL_PIXELFORMAT_ABGR2101010 =
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ABGR,32, 4),
SDL_PACKEDLAYOUT_2101010,
SDL_PIXELFORMAT_RGB48 =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU16, SDL_ARRAYORDER_RGB, 48, 6),
SDL_PIXELFORMAT_BGR48 =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU16, SDL_ARRAYORDER_BGR, 48, 6),
SDL_PIXELFORMAT_RGBA64 =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU16, SDL_ARRAYORDER_RGBA, 64, 8),
SDL_PIXELFORMAT_ARGB64 =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU16, SDL_ARRAYORDER_ARGB, 64, 8),
SDL_PIXELFORMAT_BGRA64 =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU16, SDL_ARRAYORDER_BGRA, 64, 8),
SDL_PIXELFORMAT_ABGR64 =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU16, SDL_ARRAYORDER_ABGR, 64, 8),
SDL_PIXELFORMAT_RGB48_FLOAT =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF16, SDL_ARRAYORDER_RGB, 48, 6),
SDL_PIXELFORMAT_BGR48_FLOAT =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF16, SDL_ARRAYORDER_BGR, 48, 6),
SDL_PIXELFORMAT_RGBA64_FLOAT =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF16, SDL_ARRAYORDER_RGBA, 64, 8),
SDL_PIXELFORMAT_ARGB64_FLOAT =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF16, SDL_ARRAYORDER_ARGB, 64, 8),
SDL_PIXELFORMAT_BGRA64_FLOAT =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF16, SDL_ARRAYORDER_BGRA, 64, 8),
SDL_PIXELFORMAT_ABGR64_FLOAT =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF16, SDL_ARRAYORDER_ABGR, 64, 8),
SDL_PIXELFORMAT_RGB96_FLOAT =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF32, SDL_ARRAYORDER_RGB, 96, 12),
SDL_PIXELFORMAT_BGR96_FLOAT =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF32, SDL_ARRAYORDER_BGR, 96, 12),
SDL_PIXELFORMAT_RGBA128_FLOAT =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF32, SDL_ARRAYORDER_RGBA, 128, 16),
SDL_PIXELFORMAT_ARGB128_FLOAT =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF32, SDL_ARRAYORDER_ARGB, 128, 16),
SDL_PIXELFORMAT_BGRA128_FLOAT =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF32, SDL_ARRAYORDER_BGRA, 128, 16),
SDL_PIXELFORMAT_ABGR128_FLOAT =0,
SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF32, SDL_ARRAYORDER_ABGR, 128, 16),
/* Aliases for RGBA byte arrays of color data, for the current platform */
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
SDL_PIXELFORMAT_RGBA32 = SDL_PIXELFORMAT_RGBA8888,
SDL_PIXELFORMAT_ARGB32 = SDL_PIXELFORMAT_ARGB8888,
SDL_PIXELFORMAT_BGRA32 = SDL_PIXELFORMAT_BGRA8888,
SDL_PIXELFORMAT_ABGR32 = SDL_PIXELFORMAT_ABGR8888,
SDL_PIXELFORMAT_RGBX32 = SDL_PIXELFORMAT_RGBX8888,
SDL_PIXELFORMAT_XRGB32 = SDL_PIXELFORMAT_XRGB8888,
SDL_PIXELFORMAT_BGRX32 = SDL_PIXELFORMAT_BGRX8888,
SDL_PIXELFORMAT_XBGR32 = SDL_PIXELFORMAT_XBGR8888,#else
SDL_PIXELFORMAT_RGBA32 = SDL_PIXELFORMAT_ABGR8888,
SDL_PIXELFORMAT_ARGB32 = SDL_PIXELFORMAT_BGRA8888,
SDL_PIXELFORMAT_BGRA32 = SDL_PIXELFORMAT_ARGB8888,
SDL_PIXELFORMAT_ABGR32 = SDL_PIXELFORMAT_RGBA8888,
SDL_PIXELFORMAT_RGBX32 = SDL_PIXELFORMAT_XBGR8888,
SDL_PIXELFORMAT_XRGB32 = SDL_PIXELFORMAT_BGRX8888,
SDL_PIXELFORMAT_BGRX32 = SDL_PIXELFORMAT_XRGB8888,
SDL_PIXELFORMAT_XBGR32 = SDL_PIXELFORMAT_RGBX8888,#endif
/**< Planar mode: Y + V + U (3 planes) */
SDL_PIXELFORMAT_YV12 = 'Y', 'V', '1', '2'),
SDL_DEFINE_PIXELFOURCC(/**< Planar mode: Y + U + V (3 planes) */
SDL_PIXELFORMAT_IYUV = 'I', 'Y', 'U', 'V'),
SDL_DEFINE_PIXELFOURCC(/**< Packed mode: Y0+U0+Y1+V0 (1 plane) */
SDL_PIXELFORMAT_YUY2 = 'Y', 'U', 'Y', '2'),
SDL_DEFINE_PIXELFOURCC(/**< Packed mode: U0+Y0+V0+Y1 (1 plane) */
SDL_PIXELFORMAT_UYVY = 'U', 'Y', 'V', 'Y'),
SDL_DEFINE_PIXELFOURCC(/**< Packed mode: Y0+V0+Y1+U0 (1 plane) */
SDL_PIXELFORMAT_YVYU = 'Y', 'V', 'Y', 'U'),
SDL_DEFINE_PIXELFOURCC(/**< Planar mode: Y + U/V interleaved (2 planes) */
SDL_PIXELFORMAT_NV12 = 'N', 'V', '1', '2'),
SDL_DEFINE_PIXELFOURCC(/**< Planar mode: Y + V/U interleaved (2 planes) */
SDL_PIXELFORMAT_NV21 = 'N', 'V', '2', '1'),
SDL_DEFINE_PIXELFOURCC(/**< Planar mode: Y + U/V interleaved (2 planes) */
SDL_PIXELFORMAT_P010 = 'P', '0', '1', '0'),
SDL_DEFINE_PIXELFOURCC(/**< Android video texture format */
SDL_PIXELFORMAT_EXTERNAL_OES = 'O', 'E', 'S', ' ')
SDL_DEFINE_PIXELFOURCC( } SDL_PixelFormatEnum;
SDL's pixel formats have the following naming convention:
The 32-bit byte-array encodings such as RGBA32 are aliases for the appropriate 8888 encoding for the current platform. For example, RGBA32 is an alias for ABGR8888 on little-endian CPUs like x86, or an alias for RGBA8888 on big-endian CPUs.
This enum is available since SDL 3.0.0.