#define SDL_DEFINE_AUDIO_FORMAT(signed, bigendian, flt, size) (((Uint16)(signed) << 15) | ((Uint16)(bigendian) << 12) | ((Uint16)(flt) << 8) | ((size) & SDL_AUDIO_MASK_BITSIZE))
| signed | 1のとき符号ありデータ, 0のとき符号なしデータ |
| bigendian | 1のときビッグエンディアンのデータ, 0のときリトルエンディアンのデータ |
| flt | 1のとき浮動小数点のデータ, 0のとき整数のデータ |
| size | 量子化ビット数 |
SDLはオーディオ形式のカスタムに対応していないため, このマクロを外部で使うことはあまりないはずだが, SDL_AudioFormatの様々なビットの理解の助けになるはずだ.
例えば, SDL_AUDIO_S32LE looksは次のようである:
SDL_DEFINE_AUDIO_FORMAT(1, 0, 0, 32)
このマクロのスレッドからも安全に呼べる.