A macro for defining custom SDL_Colorspace formats.
Defined in <SDL3/SDL_pixels.h>
#define SDL_DEFINE_COLORSPACE(type, range, primaries, transfer, matrix, chroma) \
(((Uint32)(type) << 28) | ((Uint32)(range) << 24) | ((Uint32)(chroma) << 20) | \
((Uint32)(primaries) << 10) | ((Uint32)(transfer) << 5) | ((Uint32)(matrix) << 0))
type | the type of the new format, probably an SDL_ColorType value. |
range | the range of the new format, probably a SDL_ColorRange value. |
primaries | the primaries of the new format, probably an SDL_ColorPrimaries value. |
transfer | the transfer characteristics of the new format, probably an SDL_TransferCharacteristics value. |
matrix | the matrix coefficients of the new format, probably an SDL_MatrixCoefficients value. |
chroma | the chroma sample location of the new format, probably an SDL_ChromaLocation value. |
Returns a format value in the style of SDL_Colorspace.
For example, defining SDL_COLORSPACE_SRGB looks like this:
SDL_DEFINE_COLORSPACE(SDL_COLOR_TYPE_RGB,
SDL_COLOR_RANGE_FULL,
SDL_COLOR_PRIMARIES_BT709,
SDL_TRANSFER_CHARACTERISTICS_SRGB,
SDL_MATRIX_COEFFICIENTS_IDENTITY, SDL_CHROMA_LOCATION_NONE)
It is safe to call this macro from any thread.
This macro is available since SDL 3.1.3.