#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 | 色空間の種類. SDL_ColorTypeの値 |
| range | 色の範囲. SDL_ColorRangeの値 |
| primaries | 原色. SDL_ColorPrimariesの値 |
| transfer | 伝送特性. SDL_TransferCharacteristicsの値 |
| matrix | 行列の係数. SDL_MatrixCoefficients |
| chroma | クロマサンプリングの位置. SDL_ChromaLocationの値 |
例えばSDL_COLORSPACE_SRGBは次の様に定義されている:
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)
このマクロはスレッドセーフである.