.\" This manpage content is licensed under Creative Commons
.\"  Attribution 4.0 International (CC BY 4.0)
.\"   https://creativecommons.org/licenses/by/4.0/
.\" This manpage was generated from SDL's wiki page for SDL_PixelFormat:
.\"   https://wiki.libsdl.org/SDL_PixelFormat
.\" Generated with SDL/build-scripts/wikiheaders.pl
.\"  revision release-3.2.10-0-g877399b2b
.\" Please report issues in this manpage's content at:
.\"   https://github.com/libsdl-org/sdlwiki/issues/new
.\" Please report issues in the generation of this manpage from the wiki at:
.\"   https://github.com/libsdl-org/SDL/issues/new?title=Misgenerated%20manpage%20for%20SDL_PixelFormat
.\" SDL can be found at https://libsdl.org/
.de URL
\$2 \(laURL: \$1 \(ra\$3
..
.if \n[.g] .mso www.tmac
.TH SDL_PixelFormat 3type "SDL 3.2.10" "Simple Directmedia Layer" "SDL3 DATATYPES"
.SH NAME
SDL_PixelFormat \- Pixel format\[char46]
.SH HEADER FILE
Defined in SDL3/SDL_pixels\[char46]h

.SH SYNOPSIS
.nf
.B #include \(dqSDL3/SDL.h\(dq
.PP
.BI "typedef enum SDL_PixelFormat
.BI "{
.BI "    SDL_PIXELFORMAT_UNKNOWN = 0,
.BI "    SDL_PIXELFORMAT_INDEX1LSB = 0x11100100u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX1, SDL_BITMAPORDER_4321, 0, 1, 0), */
.BI "    SDL_PIXELFORMAT_INDEX1MSB = 0x11200100u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX1, SDL_BITMAPORDER_1234, 0, 1, 0), */
.BI "    SDL_PIXELFORMAT_INDEX2LSB = 0x1c100200u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX2, SDL_BITMAPORDER_4321, 0, 2, 0), */
.BI "    SDL_PIXELFORMAT_INDEX2MSB = 0x1c200200u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX2, SDL_BITMAPORDER_1234, 0, 2, 0), */
.BI "    SDL_PIXELFORMAT_INDEX4LSB = 0x12100400u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX4, SDL_BITMAPORDER_4321, 0, 4, 0), */
.BI "    SDL_PIXELFORMAT_INDEX4MSB = 0x12200400u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX4, SDL_BITMAPORDER_1234, 0, 4, 0), */
.BI "    SDL_PIXELFORMAT_INDEX8 = 0x13000801u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX8, 0, 0, 8, 1), */
.BI "    SDL_PIXELFORMAT_RGB332 = 0x14110801u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED8, SDL_PACKEDORDER_XRGB, SDL_PACKEDLAYOUT_332, 8, 1), */
.BI "    SDL_PIXELFORMAT_XRGB4444 = 0x15120c02u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XRGB, SDL_PACKEDLAYOUT_4444, 12, 2), */
.BI "    SDL_PIXELFORMAT_XBGR4444 = 0x15520c02u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XBGR, SDL_PACKEDLAYOUT_4444, 12, 2), */
.BI "    SDL_PIXELFORMAT_XRGB1555 = 0x15130f02u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XRGB, SDL_PACKEDLAYOUT_1555, 15, 2), */
.BI "    SDL_PIXELFORMAT_XBGR1555 = 0x15530f02u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XBGR, SDL_PACKEDLAYOUT_1555, 15, 2), */
.BI "    SDL_PIXELFORMAT_ARGB4444 = 0x15321002u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ARGB, SDL_PACKEDLAYOUT_4444, 16, 2), */
.BI "    SDL_PIXELFORMAT_RGBA4444 = 0x15421002u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_RGBA, SDL_PACKEDLAYOUT_4444, 16, 2), */
.BI "    SDL_PIXELFORMAT_ABGR4444 = 0x15721002u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ABGR, SDL_PACKEDLAYOUT_4444, 16, 2), */
.BI "    SDL_PIXELFORMAT_BGRA4444 = 0x15821002u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_BGRA, SDL_PACKEDLAYOUT_4444, 16, 2), */
.BI "    SDL_PIXELFORMAT_ARGB1555 = 0x15331002u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ARGB, SDL_PACKEDLAYOUT_1555, 16, 2), */
.BI "    SDL_PIXELFORMAT_RGBA5551 = 0x15441002u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_RGBA, SDL_PACKEDLAYOUT_5551, 16, 2), */
.BI "    SDL_PIXELFORMAT_ABGR1555 = 0x15731002u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ABGR, SDL_PACKEDLAYOUT_1555, 16, 2), */
.BI "    SDL_PIXELFORMAT_BGRA5551 = 0x15841002u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_BGRA, SDL_PACKEDLAYOUT_5551, 16, 2), */
.BI "    SDL_PIXELFORMAT_RGB565 = 0x15151002u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XRGB, SDL_PACKEDLAYOUT_565, 16, 2), */
.BI "    SDL_PIXELFORMAT_BGR565 = 0x15551002u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XBGR, SDL_PACKEDLAYOUT_565, 16, 2), */
.BI "    SDL_PIXELFORMAT_RGB24 = 0x17101803u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU8, SDL_ARRAYORDER_RGB, 0, 24, 3), */
.BI "    SDL_PIXELFORMAT_BGR24 = 0x17401803u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU8, SDL_ARRAYORDER_BGR, 0, 24, 3), */
.BI "    SDL_PIXELFORMAT_XRGB8888 = 0x16161804u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_XRGB, SDL_PACKEDLAYOUT_8888, 24, 4), */
.BI "    SDL_PIXELFORMAT_RGBX8888 = 0x16261804u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_RGBX, SDL_PACKEDLAYOUT_8888, 24, 4), */
.BI "    SDL_PIXELFORMAT_XBGR8888 = 0x16561804u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_XBGR, SDL_PACKEDLAYOUT_8888, 24, 4), */
.BI "    SDL_PIXELFORMAT_BGRX8888 = 0x16661804u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_BGRX, SDL_PACKEDLAYOUT_8888, 24, 4), */
.BI "    SDL_PIXELFORMAT_ARGB8888 = 0x16362004u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ARGB, SDL_PACKEDLAYOUT_8888, 32, 4), */
.BI "    SDL_PIXELFORMAT_RGBA8888 = 0x16462004u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_RGBA, SDL_PACKEDLAYOUT_8888, 32, 4), */
.BI "    SDL_PIXELFORMAT_ABGR8888 = 0x16762004u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ABGR, SDL_PACKEDLAYOUT_8888, 32, 4), */
.BI "    SDL_PIXELFORMAT_BGRA8888 = 0x16862004u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_BGRA, SDL_PACKEDLAYOUT_8888, 32, 4), */
.BI "    SDL_PIXELFORMAT_XRGB2101010 = 0x16172004u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_XRGB, SDL_PACKEDLAYOUT_2101010, 32, 4), */
.BI "    SDL_PIXELFORMAT_XBGR2101010 = 0x16572004u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_XBGR, SDL_PACKEDLAYOUT_2101010, 32, 4), */
.BI "    SDL_PIXELFORMAT_ARGB2101010 = 0x16372004u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ARGB, SDL_PACKEDLAYOUT_2101010, 32, 4), */
.BI "    SDL_PIXELFORMAT_ABGR2101010 = 0x16772004u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ABGR, SDL_PACKEDLAYOUT_2101010, 32, 4), */
.BI "    SDL_PIXELFORMAT_RGB48 = 0x18103006u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU16, SDL_ARRAYORDER_RGB, 0, 48, 6), */
.BI "    SDL_PIXELFORMAT_BGR48 = 0x18403006u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU16, SDL_ARRAYORDER_BGR, 0, 48, 6), */
.BI "    SDL_PIXELFORMAT_RGBA64 = 0x18204008u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU16, SDL_ARRAYORDER_RGBA, 0, 64, 8), */
.BI "    SDL_PIXELFORMAT_ARGB64 = 0x18304008u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU16, SDL_ARRAYORDER_ARGB, 0, 64, 8), */
.BI "    SDL_PIXELFORMAT_BGRA64 = 0x18504008u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU16, SDL_ARRAYORDER_BGRA, 0, 64, 8), */
.BI "    SDL_PIXELFORMAT_ABGR64 = 0x18604008u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU16, SDL_ARRAYORDER_ABGR, 0, 64, 8), */
.BI "    SDL_PIXELFORMAT_RGB48_FLOAT = 0x1a103006u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF16, SDL_ARRAYORDER_RGB, 0, 48, 6), */
.BI "    SDL_PIXELFORMAT_BGR48_FLOAT = 0x1a403006u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF16, SDL_ARRAYORDER_BGR, 0, 48, 6), */
.BI "    SDL_PIXELFORMAT_RGBA64_FLOAT = 0x1a204008u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF16, SDL_ARRAYORDER_RGBA, 0, 64, 8), */
.BI "    SDL_PIXELFORMAT_ARGB64_FLOAT = 0x1a304008u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF16, SDL_ARRAYORDER_ARGB, 0, 64, 8), */
.BI "    SDL_PIXELFORMAT_BGRA64_FLOAT = 0x1a504008u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF16, SDL_ARRAYORDER_BGRA, 0, 64, 8), */
.BI "    SDL_PIXELFORMAT_ABGR64_FLOAT = 0x1a604008u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF16, SDL_ARRAYORDER_ABGR, 0, 64, 8), */
.BI "    SDL_PIXELFORMAT_RGB96_FLOAT = 0x1b10600cu,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF32, SDL_ARRAYORDER_RGB, 0, 96, 12), */
.BI "    SDL_PIXELFORMAT_BGR96_FLOAT = 0x1b40600cu,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF32, SDL_ARRAYORDER_BGR, 0, 96, 12), */
.BI "    SDL_PIXELFORMAT_RGBA128_FLOAT = 0x1b208010u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF32, SDL_ARRAYORDER_RGBA, 0, 128, 16), */
.BI "    SDL_PIXELFORMAT_ARGB128_FLOAT = 0x1b308010u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF32, SDL_ARRAYORDER_ARGB, 0, 128, 16), */
.BI "    SDL_PIXELFORMAT_BGRA128_FLOAT = 0x1b508010u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF32, SDL_ARRAYORDER_BGRA, 0, 128, 16), */
.BI "    SDL_PIXELFORMAT_ABGR128_FLOAT = 0x1b608010u,
.BI "        /* SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYF32, SDL_ARRAYORDER_ABGR, 0, 128, 16), */
.BI "
.BI "    SDL_PIXELFORMAT_YV12 = 0x32315659u,      /**< Planar mode: Y + V + U  (3 planes) */
.BI "        /* SDL_DEFINE_PIXELFOURCC('Y', 'V', '1', '2'), */
.BI "    SDL_PIXELFORMAT_IYUV = 0x56555949u,      /**< Planar mode: Y + U + V  (3 planes) */
.BI "        /* SDL_DEFINE_PIXELFOURCC('I', 'Y', 'U', 'V'), */
.BI "    SDL_PIXELFORMAT_YUY2 = 0x32595559u,      /**< Packed mode: Y0+U0+Y1+V0 (1 plane) */
.BI "        /* SDL_DEFINE_PIXELFOURCC('Y', 'U', 'Y', '2'), */
.BI "    SDL_PIXELFORMAT_UYVY = 0x59565955u,      /**< Packed mode: U0+Y0+V0+Y1 (1 plane) */
.BI "        /* SDL_DEFINE_PIXELFOURCC('U', 'Y', 'V', 'Y'), */
.BI "    SDL_PIXELFORMAT_YVYU = 0x55595659u,      /**< Packed mode: Y0+V0+Y1+U0 (1 plane) */
.BI "        /* SDL_DEFINE_PIXELFOURCC('Y', 'V', 'Y', 'U'), */
.BI "    SDL_PIXELFORMAT_NV12 = 0x3231564eu,      /**< Planar mode: Y + U/V interleaved  (2 planes) */
.BI "        /* SDL_DEFINE_PIXELFOURCC('N', 'V', '1', '2'), */
.BI "    SDL_PIXELFORMAT_NV21 = 0x3132564eu,      /**< Planar mode: Y + V/U interleaved  (2 planes) */
.BI "        /* SDL_DEFINE_PIXELFOURCC('N', 'V', '2', '1'), */
.BI "    SDL_PIXELFORMAT_P010 = 0x30313050u,      /**< Planar mode: Y + U/V interleaved  (2 planes) */
.BI "        /* SDL_DEFINE_PIXELFOURCC('P', '0', '1', '0'), */
.BI "    SDL_PIXELFORMAT_EXTERNAL_OES = 0x2053454fu,     /**< Android video texture format */
.BI "        /* SDL_DEFINE_PIXELFOURCC('O', 'E', 'S', ' ') */
.BI "
.BI "    SDL_PIXELFORMAT_MJPG = 0x47504a4du,     /**< Motion JPEG */
.BI "        /* SDL_DEFINE_PIXELFOURCC('M', 'J', 'P', 'G') */
.BI "
.BI "    /* Aliases for RGBA byte arrays of color data, for the current platform */
.BI "    #if SDL_BYTEORDER == SDL_BIG_ENDIAN
.BI "    SDL_PIXELFORMAT_RGBA32 = SDL_PIXELFORMAT_RGBA8888,
.BI "    SDL_PIXELFORMAT_ARGB32 = SDL_PIXELFORMAT_ARGB8888,
.BI "    SDL_PIXELFORMAT_BGRA32 = SDL_PIXELFORMAT_BGRA8888,
.BI "    SDL_PIXELFORMAT_ABGR32 = SDL_PIXELFORMAT_ABGR8888,
.BI "    SDL_PIXELFORMAT_RGBX32 = SDL_PIXELFORMAT_RGBX8888,
.BI "    SDL_PIXELFORMAT_XRGB32 = SDL_PIXELFORMAT_XRGB8888,
.BI "    SDL_PIXELFORMAT_BGRX32 = SDL_PIXELFORMAT_BGRX8888,
.BI "    SDL_PIXELFORMAT_XBGR32 = SDL_PIXELFORMAT_XBGR8888
.BI "    #else
.BI "    SDL_PIXELFORMAT_RGBA32 = SDL_PIXELFORMAT_ABGR8888,
.BI "    SDL_PIXELFORMAT_ARGB32 = SDL_PIXELFORMAT_BGRA8888,
.BI "    SDL_PIXELFORMAT_BGRA32 = SDL_PIXELFORMAT_ARGB8888,
.BI "    SDL_PIXELFORMAT_ABGR32 = SDL_PIXELFORMAT_RGBA8888,
.BI "    SDL_PIXELFORMAT_RGBX32 = SDL_PIXELFORMAT_XBGR8888,
.BI "    SDL_PIXELFORMAT_XRGB32 = SDL_PIXELFORMAT_BGRX8888,
.BI "    SDL_PIXELFORMAT_BGRX32 = SDL_PIXELFORMAT_XRGB8888,
.BI "    SDL_PIXELFORMAT_XBGR32 = SDL_PIXELFORMAT_RGBX8888
.BI "    #endif
.BI "} SDL_PixelFormat;
.fi
.SH DESCRIPTION
SDL's pixel formats have the following naming convention:


\(bu 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\[char46] 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\[char46] 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\[char46]

\(bu 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\[char46] 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\[char46] 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\[char46] 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\[char46]

\(bu 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\[char46] 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\[char46] INDEX8 does not need LSB/MSB variants, because each pixel exactly
  fills one byte\[char46]

The 32-bit byte-array encodings such as RGBA32 are aliases for the
appropriate 8888 encoding for the current platform\[char46] For example, RGBA32 is
an alias for ABGR8888 on little-endian CPUs like x86, or an alias for
RGBA8888 on big-endian CPUs\[char46]

.SH AVAILABILITY
This enum is available since SDL 3\[char46]2\[char46]0\[char46]