A macro to determine an SDL_PixelFormat's bytes per pixel.
Defined in <SDL3/SDL_pixels.h>
#define SDL_BYTESPERPIXEL(format) \
(SDL_ISPIXELFORMAT_FOURCC(format) ? \
((((format) == SDL_PIXELFORMAT_YUY2) || \
((format) == SDL_PIXELFORMAT_UYVY) || \
((format) == SDL_PIXELFORMAT_YVYU) || \
((format) == SDL_PIXELFORMAT_P010)) ? 2 : 1) : (((format) >> 0) & 0xFF))
format | an SDL_PixelFormat to check. |
Returns the bytes-per-pixel of format
.
Note that this macro double-evaluates its parameter, so do not use expressions with side-effects here.
FourCC formats do their best here, but many of them don't have a meaningful measurement of bytes per pixel.
It is safe to call this macro from any thread.
This macro is available since SDL 3.1.3.