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, } 
#define SPA_AUDIO_MAX_CHANNELS
Definition: audio/raw.h:29
 
uint32_t position[SPA_AUDIO_MAX_CHANNELS]
Definition: layout.h:29
 
uint32_t n_channels
Definition: layout.h:28