5 #ifndef SPA_AUDIO_LAYOUT_H 6 #define SPA_AUDIO_LAYOUT_H 12 #if !defined(__FreeBSD__) && !defined(__MidnightBSD__) 27 #define SPA_AUDIO_LAYOUT_Mono 1, { SPA_AUDIO_CHANNEL_MONO, } 28 #define SPA_AUDIO_LAYOUT_Stereo 2, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, } 29 #define SPA_AUDIO_LAYOUT_Quad 4, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 30 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, } 31 #define SPA_AUDIO_LAYOUT_Pentagonal 5, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 32 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, \ 33 SPA_AUDIO_CHANNEL_FC, } 34 #define SPA_AUDIO_LAYOUT_Hexagonal 6, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 35 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, \ 36 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_RC, } 37 #define SPA_AUDIO_LAYOUT_Octagonal 8, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 38 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, \ 39 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_RC, \ 40 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, } 41 #define SPA_AUDIO_LAYOUT_Cube 8, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR }, \ 42 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, \ 43 SPA_AUDIO_CHANNEL_TFL, SPA_AUDIO_CHANNEL_TFR, \ 44 SPA_AUDIO_CHANNEL_TRL, SPA_AUDIO_CHANNEL_TRR, } 47 #define SPA_AUDIO_LAYOUT_MPEG_1_0 SPA_AUDIO_LAYOUT_Mono 48 #define SPA_AUDIO_LAYOUT_MPEG_2_0 SPA_AUDIO_LAYOUT_Stereo 49 #define SPA_AUDIO_LAYOUT_MPEG_3_0A 3, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 50 SPA_AUDIO_CHANNEL_FC, } 51 #define SPA_AUDIO_LAYOUT_MPEG_3_0B 3, { SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_FL, \ 52 SPA_AUDIO_CHANNEL_FR, } 53 #define SPA_AUDIO_LAYOUT_MPEG_4_0A 4, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 54 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_RC, } 55 #define SPA_AUDIO_LAYOUT_MPEG_4_0B 4, { SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_FL, \ 56 SPA_AUDIO_CHANNEL_FR, SPA_AUDIO_CHANNEL_RC, } 57 #define SPA_AUDIO_LAYOUT_MPEG_5_0A 5, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 58 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_SL, \ 59 SPA_AUDIO_CHANNEL_SR, } 60 #define SPA_AUDIO_LAYOUT_MPEG_5_0B 5, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 61 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, \ 62 SPA_AUDIO_CHANNEL_FC, } 63 #define SPA_AUDIO_LAYOUT_MPEG_5_0C 5, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FC, \ 64 SPA_AUDIO_CHANNEL_FR, SPA_AUDIO_CHANNEL_SL, \ 65 SPA_AUDIO_CHANNEL_SR, } 66 #define SPA_AUDIO_LAYOUT_MPEG_5_0D 5, { SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_FL, \ 67 SPA_AUDIO_CHANNEL_FR, SPA_AUDIO_CHANNEL_SL, \ 68 SPA_AUDIO_CHANNEL_SR, } 69 #define SPA_AUDIO_LAYOUT_MPEG_5_1A 6, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 70 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 71 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, } 72 #define SPA_AUDIO_LAYOUT_MPEG_5_1B 6, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 73 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, \ 74 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, } 75 #define SPA_AUDIO_LAYOUT_MPEG_5_1C 6, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FC, \ 76 SPA_AUDIO_CHANNEL_FR, SPA_AUDIO_CHANNEL_SL, \ 77 SPA_AUDIO_CHANNEL_SR, SPA_AUDIO_CHANNEL_LFE, } 78 #define SPA_AUDIO_LAYOUT_MPEG_5_1D 6, { SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_FL, \ 79 SPA_AUDIO_CHANNEL_FR, SPA_AUDIO_CHANNEL_SL, \ 80 SPA_AUDIO_CHANNEL_SR, SPA_AUDIO_CHANNEL_LFE, } 81 #define SPA_AUDIO_LAYOUT_MPEG_6_1A 7, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 82 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 83 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, \ 84 SPA_AUDIO_CHANNEL_RC, } 85 #define SPA_AUDIO_LAYOUT_MPEG_7_1A 8, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 86 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 87 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, \ 88 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, } 89 #define SPA_AUDIO_LAYOUT_MPEG_7_1B 8, { SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_SL, \ 90 SPA_AUDIO_CHANNEL_SR, SPA_AUDIO_CHANNEL_FL, \ 91 SPA_AUDIO_CHANNEL_FR, SPA_AUDIO_CHANNEL_RL, \ 92 SPA_AUDIO_CHANNEL_RR, SPA_AUDIO_CHANNEL_LFE, } 93 #define SPA_AUDIO_LAYOUT_MPEG_7_1C 8, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 94 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 95 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, \ 96 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, } 99 #define SPA_AUDIO_LAYOUT_2_1 3, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 100 SPA_AUDIO_CHANNEL_LFE, } 102 #define SPA_AUDIO_LAYOUT_2RC 3, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 103 SPA_AUDIO_CHANNEL_RC, } 104 #define SPA_AUDIO_LAYOUT_2FC 3, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 105 SPA_AUDIO_CHANNEL_FC, } 107 #define SPA_AUDIO_LAYOUT_3_1 4, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 108 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, } 109 #define SPA_AUDIO_LAYOUT_4_0 4, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 110 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_RC, } 111 #define SPA_AUDIO_LAYOUT_2_2 4, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 112 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, } 114 #define SPA_AUDIO_LAYOUT_4_1 5, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 115 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 116 SPA_AUDIO_CHANNEL_RC, } 117 #define SPA_AUDIO_LAYOUT_5_0 5, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 118 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_SL, \ 119 SPA_AUDIO_CHANNEL_SR, } 120 #define SPA_AUDIO_LAYOUT_5_0R 5, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 121 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_RL, \ 122 SPA_AUDIO_CHANNEL_RR, } 123 #define SPA_AUDIO_LAYOUT_5_1 6, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 124 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 125 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, } 126 #define SPA_AUDIO_LAYOUT_5_1R 6, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 127 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 128 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, } 129 #define SPA_AUDIO_LAYOUT_6_0 6, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 130 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_RC, \ 131 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, } 132 #define SPA_AUDIO_LAYOUT_6_0F 6, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 133 SPA_AUDIO_CHANNEL_FLC, SPA_AUDIO_CHANNEL_FRC, \ 134 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, } 135 #define SPA_AUDIO_LAYOUT_6_1 7, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 136 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 137 SPA_AUDIO_CHANNEL_RC, SPA_AUDIO_CHANNEL_SL, \ 138 SPA_AUDIO_CHANNEL_SR, } 139 #define SPA_AUDIO_LAYOUT_6_1F 7, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 140 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 141 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, \ 142 SPA_AUDIO_CHANNEL_RC, } 143 #define SPA_AUDIO_LAYOUT_7_0 7, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 144 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_RL, \ 145 SPA_AUDIO_CHANNEL_RR, SPA_AUDIO_CHANNEL_SL, \ 146 SPA_AUDIO_CHANNEL_SR, } 147 #define SPA_AUDIO_LAYOUT_7_0F 7, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 148 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_FLC, \ 149 SPA_AUDIO_CHANNEL_FRC, SPA_AUDIO_CHANNEL_SL, \ 150 SPA_AUDIO_CHANNEL_SR, } 151 #define SPA_AUDIO_LAYOUT_7_1 8, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 152 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 153 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, \ 154 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, } 155 #define SPA_AUDIO_LAYOUT_7_1W 8, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 156 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 157 SPA_AUDIO_CHANNEL_FLC, SPA_AUDIO_CHANNEL_FRC, \ 158 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, } 159 #define SPA_AUDIO_LAYOUT_7_1WR 8, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 160 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 161 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, \ 162 SPA_AUDIO_CHANNEL_FLC, SPA_AUDIO_CHANNEL_FRC, }
uint32_t n_channels
Definition: layout.h:28
#define SPA_AUDIO_MAX_CHANNELS
Definition: raw.h:29
uint32_t position[SPA_AUDIO_MAX_CHANNELS]
Definition: layout.h:29