25 #ifndef SPA_AUDIO_LAYOUT_H 26 #define SPA_AUDIO_LAYOUT_H 47 #define SPA_AUDIO_LAYOUT_Mono 1, { SPA_AUDIO_CHANNEL_MONO, } 48 #define SPA_AUDIO_LAYOUT_Stereo 2, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, } 49 #define SPA_AUDIO_LAYOUT_Quad 4, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 50 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, } 51 #define SPA_AUDIO_LAYOUT_Pentagonal 5, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 52 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, \ 53 SPA_AUDIO_CHANNEL_FC, } 54 #define SPA_AUDIO_LAYOUT_Hexagonal 6, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 55 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, \ 56 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_RC, } 57 #define SPA_AUDIO_LAYOUT_Octagonal 8, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 58 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, \ 59 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_RC, \ 60 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, } 61 #define SPA_AUDIO_LAYOUT_Cube 8, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR }, \ 62 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, \ 63 SPA_AUDIO_CHANNEL_TFL, SPA_AUDIO_CHANNEL_TFR, \ 64 SPA_AUDIO_CHANNEL_TRL, SPA_AUDIO_CHANNEL_TRR, } 67 #define SPA_AUDIO_LAYOUT_MPEG_1_0 SPA_AUDIO_LAYOUT_Mono 68 #define SPA_AUDIO_LAYOUT_MPEG_2_0 SPA_AUDIO_LAYOUT_Stereo 69 #define SPA_AUDIO_LAYOUT_MPEG_3_0A 3, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 70 SPA_AUDIO_CHANNEL_FC, } 71 #define SPA_AUDIO_LAYOUT_MPEG_3_0B 3, { SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_FL, \ 72 SPA_AUDIO_CHANNEL_FR, } 73 #define SPA_AUDIO_LAYOUT_MPEG_4_0A 4, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 74 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_RC, } 75 #define SPA_AUDIO_LAYOUT_MPEG_4_0B 4, { SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_FL, \ 76 SPA_AUDIO_CHANNEL_FR, SPA_AUDIO_CHANNEL_RC, } 77 #define SPA_AUDIO_LAYOUT_MPEG_5_0A 5, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 78 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_SL, \ 79 SPA_AUDIO_CHANNEL_SR, } 80 #define SPA_AUDIO_LAYOUT_MPEG_5_0B 5, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 81 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, \ 82 SPA_AUDIO_CHANNEL_FC, } 83 #define SPA_AUDIO_LAYOUT_MPEG_5_0C 5, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FC, \ 84 SPA_AUDIO_CHANNEL_FR, SPA_AUDIO_CHANNEL_SL, \ 85 SPA_AUDIO_CHANNEL_SR, } 86 #define SPA_AUDIO_LAYOUT_MPEG_5_0D 5, { SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_FL, \ 87 SPA_AUDIO_CHANNEL_FR, SPA_AUDIO_CHANNEL_SL, \ 88 SPA_AUDIO_CHANNEL_SR, } 89 #define SPA_AUDIO_LAYOUT_MPEG_5_1A 6, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 90 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 91 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, } 92 #define SPA_AUDIO_LAYOUT_MPEG_5_1B 6, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 93 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, \ 94 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, } 95 #define SPA_AUDIO_LAYOUT_MPEG_5_1C 6, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FC, \ 96 SPA_AUDIO_CHANNEL_FR, SPA_AUDIO_CHANNEL_SL, \ 97 SPA_AUDIO_CHANNEL_SR, SPA_AUDIO_CHANNEL_LFE, } 98 #define SPA_AUDIO_LAYOUT_MPEG_5_1D 6, { SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_FL, \ 99 SPA_AUDIO_CHANNEL_FR, SPA_AUDIO_CHANNEL_SL, \ 100 SPA_AUDIO_CHANNEL_SR, SPA_AUDIO_CHANNEL_LFE, } 101 #define SPA_AUDIO_LAYOUT_MPEG_6_1A 7, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 102 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 103 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, \ 104 SPA_AUDIO_CHANNEL_RC, } 105 #define SPA_AUDIO_LAYOUT_MPEG_7_1A 8, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 106 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 107 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, \ 108 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, } 109 #define SPA_AUDIO_LAYOUT_MPEG_7_1B 8, { SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_SL, \ 110 SPA_AUDIO_CHANNEL_SR, SPA_AUDIO_CHANNEL_FL, \ 111 SPA_AUDIO_CHANNEL_FR, SPA_AUDIO_CHANNEL_RL, \ 112 SPA_AUDIO_CHANNEL_RR, SPA_AUDIO_CHANNEL_LFE, } 113 #define SPA_AUDIO_LAYOUT_MPEG_7_1C 8, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 114 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 115 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, \ 116 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, } 119 #define SPA_AUDIO_LAYOUT_2_1 3, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 120 SPA_AUDIO_CHANNEL_LFE, } 122 #define SPA_AUDIO_LAYOUT_2RC 3, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 123 SPA_AUDIO_CHANNEL_RC, } 124 #define SPA_AUDIO_LAYOUT_2FC 3, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 125 SPA_AUDIO_CHANNEL_FC, } 127 #define SPA_AUDIO_LAYOUT_3_1 4, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 128 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, } 129 #define SPA_AUDIO_LAYOUT_4_0 4, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 130 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_RC, } 131 #define SPA_AUDIO_LAYOUT_2_2 4, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 132 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, } 134 #define SPA_AUDIO_LAYOUT_4_1 5, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 135 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 136 SPA_AUDIO_CHANNEL_RC, } 137 #define SPA_AUDIO_LAYOUT_5_0 5, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 138 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_SL, \ 139 SPA_AUDIO_CHANNEL_SR, } 140 #define SPA_AUDIO_LAYOUT_5_0R 5, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 141 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_RL, \ 142 SPA_AUDIO_CHANNEL_RR, } 143 #define SPA_AUDIO_LAYOUT_5_1 6, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 144 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 145 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, } 146 #define SPA_AUDIO_LAYOUT_5_1R 6, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 147 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 148 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, } 149 #define SPA_AUDIO_LAYOUT_6_0 6, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 150 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_RC, \ 151 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, } 152 #define SPA_AUDIO_LAYOUT_6_0F 6, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 153 SPA_AUDIO_CHANNEL_FLC, SPA_AUDIO_CHANNEL_FRC, \ 154 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, } 155 #define SPA_AUDIO_LAYOUT_6_1 7, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 156 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 157 SPA_AUDIO_CHANNEL_RC, SPA_AUDIO_CHANNEL_SL, \ 158 SPA_AUDIO_CHANNEL_SR, } 159 #define SPA_AUDIO_LAYOUT_6_1F 7, { 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_RC, } 163 #define SPA_AUDIO_LAYOUT_7_0 7, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 164 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_RL, \ 165 SPA_AUDIO_CHANNEL_RR, SPA_AUDIO_CHANNEL_SL, \ 166 SPA_AUDIO_CHANNEL_SR, } 167 #define SPA_AUDIO_LAYOUT_7_0F 7, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 168 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_FLC, \ 169 SPA_AUDIO_CHANNEL_FRC, SPA_AUDIO_CHANNEL_SL, \ 170 SPA_AUDIO_CHANNEL_SR, } 171 #define SPA_AUDIO_LAYOUT_7_1 8, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 172 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 173 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, \ 174 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, } 175 #define SPA_AUDIO_LAYOUT_7_1W 8, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 176 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 177 SPA_AUDIO_CHANNEL_FLC, SPA_AUDIO_CHANNEL_FRC, \ 178 SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR, } 179 #define SPA_AUDIO_LAYOUT_7_1WR 8, { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR, \ 180 SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE, \ 181 SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, \ 182 SPA_AUDIO_CHANNEL_FLC, SPA_AUDIO_CHANNEL_FRC, }
uint32_t n_channels
Definition: layout.h:48
#define SPA_AUDIO_MAX_CHANNELS
Definition: raw.h:49
uint32_t position[SPA_AUDIO_MAX_CHANNELS]
Definition: layout.h:49