SDL_PixelFormat

Pixel format.

SDL's pixel formats have the following naming convention:

- Names with a list of components and a single bit count, such as RGB24 and ABGR32, define a platform-independent encoding into bytes in the order specified. For example, in RGB24 data, each pixel is encoded in 3 bytes (red, green, blue) in that order, and in ABGR32 data, each pixel is encoded in 4 bytes (alpha, blue, green, red) in that order. Use these names if the property of a format that is important to you is the order of the bytes in memory or on disk. - Names with a bit count per component, such as ARGB8888 and XRGB1555, are "packed" into an appropriately-sized integer in the platform's native endianness. For example, ARGB8888 is a sequence of 32-bit integers; in each integer, the most significant bits are alpha, and the least significant bits are blue. On a little-endian CPU such as x86, the least significant bits of each integer are arranged first in memory, but on a big-endian CPU such as s390x, the most significant bits are arranged first. Use these names if the property of a format that is important to you is the meaning of each bit position within a native-endianness integer. - In indexed formats such as INDEX4LSB, each pixel is represented by encoding an index into the palette into the indicated number of bits, with multiple pixels packed into each byte if appropriate. In LSB formats, the first (leftmost) pixel is stored in the least-significant bits of the byte; in MSB formats, it's stored in the most-significant bits. INDEX8 does not need LSB/MSB variants, because each pixel exactly fills one byte.

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.

Values

ValueMeaning
SDL_PIXELFORMAT_UNKNOWN0
SDL_PIXELFORMAT_INDEX1LSB0x11100100u
SDL_PIXELFORMAT_INDEX1MSB0x11200100u
SDL_PIXELFORMAT_INDEX2LSB0x1c100200u
SDL_PIXELFORMAT_INDEX2MSB0x1c200200u
SDL_PIXELFORMAT_INDEX4LSB0x12100400u
SDL_PIXELFORMAT_INDEX4MSB0x12200400u
SDL_PIXELFORMAT_INDEX80x13000801u
SDL_PIXELFORMAT_RGB3320x14110801u
SDL_PIXELFORMAT_XRGB44440x15120c02u
SDL_PIXELFORMAT_XBGR44440x15520c02u
SDL_PIXELFORMAT_XRGB15550x15130f02u
SDL_PIXELFORMAT_XBGR15550x15530f02u
SDL_PIXELFORMAT_ARGB44440x15321002u
SDL_PIXELFORMAT_RGBA44440x15421002u
SDL_PIXELFORMAT_ABGR44440x15721002u
SDL_PIXELFORMAT_BGRA44440x15821002u
SDL_PIXELFORMAT_ARGB15550x15331002u
SDL_PIXELFORMAT_RGBA55510x15441002u
SDL_PIXELFORMAT_ABGR15550x15731002u
SDL_PIXELFORMAT_BGRA55510x15841002u
SDL_PIXELFORMAT_RGB5650x15151002u
SDL_PIXELFORMAT_BGR5650x15551002u
SDL_PIXELFORMAT_RGB240x17101803u
SDL_PIXELFORMAT_BGR240x17401803u
SDL_PIXELFORMAT_XRGB88880x16161804u
SDL_PIXELFORMAT_RGBX88880x16261804u
SDL_PIXELFORMAT_XBGR88880x16561804u
SDL_PIXELFORMAT_BGRX88880x16661804u
SDL_PIXELFORMAT_ARGB88880x16362004u
SDL_PIXELFORMAT_RGBA88880x16462004u
SDL_PIXELFORMAT_ABGR88880x16762004u
SDL_PIXELFORMAT_BGRA88880x16862004u
SDL_PIXELFORMAT_XRGB21010100x16172004u
SDL_PIXELFORMAT_XBGR21010100x16572004u
SDL_PIXELFORMAT_ARGB21010100x16372004u
SDL_PIXELFORMAT_ABGR21010100x16772004u
SDL_PIXELFORMAT_RGB480x18103006u
SDL_PIXELFORMAT_BGR480x18403006u
SDL_PIXELFORMAT_RGBA640x18204008u
SDL_PIXELFORMAT_ARGB640x18304008u
SDL_PIXELFORMAT_BGRA640x18504008u
SDL_PIXELFORMAT_ABGR640x18604008u
SDL_PIXELFORMAT_RGB48_FLOAT0x1a103006u
SDL_PIXELFORMAT_BGR48_FLOAT0x1a403006u
SDL_PIXELFORMAT_RGBA64_FLOAT0x1a204008u
SDL_PIXELFORMAT_ARGB64_FLOAT0x1a304008u
SDL_PIXELFORMAT_BGRA64_FLOAT0x1a504008u
SDL_PIXELFORMAT_ABGR64_FLOAT0x1a604008u
SDL_PIXELFORMAT_RGB96_FLOAT0x1b10600cu
SDL_PIXELFORMAT_BGR96_FLOAT0x1b40600cu
SDL_PIXELFORMAT_RGBA128_FLOAT0x1b208010u
SDL_PIXELFORMAT_ARGB128_FLOAT0x1b308010u
SDL_PIXELFORMAT_BGRA128_FLOAT0x1b508010u
SDL_PIXELFORMAT_ABGR128_FLOAT0x1b608010u
SDL_PIXELFORMAT_YV120x32315659u

< Planar mode: Y + V + U (3 planes)

SDL_PIXELFORMAT_IYUV0x56555949u

< Planar mode: Y + U + V (3 planes)

SDL_PIXELFORMAT_YUY20x32595559u

< Packed mode: Y0+U0+Y1+V0 (1 plane)

SDL_PIXELFORMAT_UYVY0x59565955u

< Packed mode: U0+Y0+V0+Y1 (1 plane)

SDL_PIXELFORMAT_YVYU0x55595659u

< Packed mode: Y0+V0+Y1+U0 (1 plane)

SDL_PIXELFORMAT_NV120x3231564eu

< Planar mode: Y + U/V interleaved (2 planes)

SDL_PIXELFORMAT_NV210x3132564eu

< Planar mode: Y + V/U interleaved (2 planes)

SDL_PIXELFORMAT_P0100x30313050u

< Planar mode: Y + U/V interleaved (2 planes)

SDL_PIXELFORMAT_EXTERNAL_OES0x2053454fu

< Android video texture format

SDL_PIXELFORMAT_RGBA32IsBigEndian ? SDL_PIXELFORMAT_RGBA8888 : SDL_PIXELFORMAT_ABGR8888
SDL_PIXELFORMAT_ARGB32IsBigEndian ? SDL_PIXELFORMAT_ARGB8888 : SDL_PIXELFORMAT_BGRA8888
SDL_PIXELFORMAT_BGRA32IsBigEndian ? SDL_PIXELFORMAT_BGRA8888 : SDL_PIXELFORMAT_ARGB8888
SDL_PIXELFORMAT_ABGR32IsBigEndian ? SDL_PIXELFORMAT_ABGR8888 : SDL_PIXELFORMAT_RGBA8888
SDL_PIXELFORMAT_RGBX32IsBigEndian ? SDL_PIXELFORMAT_RGBX8888 : SDL_PIXELFORMAT_XBGR8888
SDL_PIXELFORMAT_XRGB32IsBigEndian ? SDL_PIXELFORMAT_XRGB8888 : SDL_PIXELFORMAT_BGRX8888
SDL_PIXELFORMAT_BGRX32IsBigEndian ? SDL_PIXELFORMAT_BGRX8888 : SDL_PIXELFORMAT_XRGB8888
SDL_PIXELFORMAT_XBGR32IsBigEndian ? SDL_PIXELFORMAT_XBGR8888 : SDL_PIXELFORMAT_RGBX8888

Meta