Author: mav
Date: Fri Nov 16 07:05:57 2012
New Revision: 243138
URL: http://svnweb.freebsd.org/changeset/base/243138

Log:
  For some more completeness add matrixes for 3.1 and 7.0 channel setups.

Modified:
  head/sys/dev/sound/pcm/channel.c
  head/sys/dev/sound/pcm/feeder_matrix.c
  head/sys/dev/sound/pcm/matrix.h
  head/sys/dev/sound/pcm/matrix_map.h

Modified: head/sys/dev/sound/pcm/channel.c
==============================================================================
--- head/sys/dev/sound/pcm/channel.c    Fri Nov 16 06:40:40 2012        
(r243137)
+++ head/sys/dev/sound/pcm/channel.c    Fri Nov 16 07:05:57 2012        
(r243138)
@@ -1037,12 +1037,14 @@ static const struct {
        { "2.0",  "2", "stereo", SND_CHN_MATRIX_2_0     },
        { "2.1", NULL,     NULL, SND_CHN_MATRIX_2_1     },
        { "3.0",  "3",     NULL, SND_CHN_MATRIX_3_0     },
+       { "3.1", NULL,     NULL, SND_CHN_MATRIX_3_1     },
        { "4.0",  "4",   "quad", SND_CHN_MATRIX_4_0     },
        { "4.1", NULL,     NULL, SND_CHN_MATRIX_4_1     },
        { "5.0",  "5",     NULL, SND_CHN_MATRIX_5_0     },
        { "5.1",  "6",     NULL, SND_CHN_MATRIX_5_1     },
        { "6.0", NULL,     NULL, SND_CHN_MATRIX_6_0     },
        { "6.1",  "7",     NULL, SND_CHN_MATRIX_6_1     },
+       { "7.0", NULL,     NULL, SND_CHN_MATRIX_7_0     },
        { "7.1",  "8",     NULL, SND_CHN_MATRIX_7_1     },
        {  NULL, NULL,     NULL, SND_CHN_MATRIX_UNKNOWN }
 };

Modified: head/sys/dev/sound/pcm/feeder_matrix.c
==============================================================================
--- head/sys/dev/sound/pcm/feeder_matrix.c      Fri Nov 16 06:40:40 2012        
(r243137)
+++ head/sys/dev/sound/pcm/feeder_matrix.c      Fri Nov 16 07:05:57 2012        
(r243138)
@@ -86,12 +86,14 @@ static struct pcmchan_matrix feeder_matr
        [SND_CHN_MATRIX_2_0] = SND_CHN_MATRIX_MAP_2_0,
        [SND_CHN_MATRIX_2_1] = SND_CHN_MATRIX_MAP_2_1,
        [SND_CHN_MATRIX_3_0] = SND_CHN_MATRIX_MAP_3_0,
+       [SND_CHN_MATRIX_3_1] = SND_CHN_MATRIX_MAP_3_1,
        [SND_CHN_MATRIX_4_0] = SND_CHN_MATRIX_MAP_4_0,
        [SND_CHN_MATRIX_4_1] = SND_CHN_MATRIX_MAP_4_1,
        [SND_CHN_MATRIX_5_0] = SND_CHN_MATRIX_MAP_5_0,
        [SND_CHN_MATRIX_5_1] = SND_CHN_MATRIX_MAP_5_1,
        [SND_CHN_MATRIX_6_0] = SND_CHN_MATRIX_MAP_6_0,
        [SND_CHN_MATRIX_6_1] = SND_CHN_MATRIX_MAP_6_1,
+       [SND_CHN_MATRIX_7_0] = SND_CHN_MATRIX_MAP_7_0,
        [SND_CHN_MATRIX_7_1] = SND_CHN_MATRIX_MAP_7_1
 };
 

Modified: head/sys/dev/sound/pcm/matrix.h
==============================================================================
--- head/sys/dev/sound/pcm/matrix.h     Fri Nov 16 06:40:40 2012        
(r243137)
+++ head/sys/dev/sound/pcm/matrix.h     Fri Nov 16 07:05:57 2012        
(r243138)
@@ -134,29 +134,31 @@
 #define SND_CHN_MATRIX_3_0     3
 #define SND_CHN_MATRIX_3       SND_CHN_MATRIX_3_0
 
-/* 4 @ 4.0 Quadraphonic */
-#define SND_CHN_MATRIX_4_0     4
+/* 4 @ 3.1 (lfe), 4.0 (Quadraphonic, DEFAULT) */
+#define SND_CHN_MATRIX_3_1     4
+#define SND_CHN_MATRIX_4_0     5
 #define SND_CHN_MATRIX_4       SND_CHN_MATRIX_4_0
 
 /* 5 @ 4.1 (lfe), 5.0 (center, DEFAULT) */
-#define SND_CHN_MATRIX_4_1     5
-#define SND_CHN_MATRIX_5_0     6
+#define SND_CHN_MATRIX_4_1     6
+#define SND_CHN_MATRIX_5_0     7
 #define SND_CHN_MATRIX_5       SND_CHN_MATRIX_5_0
 
 /* 6 @ 5.1 (lfe, DEFAULT), 6.0 (rear center) */
-#define SND_CHN_MATRIX_5_1     7
-#define SND_CHN_MATRIX_6_0     8
+#define SND_CHN_MATRIX_5_1     8
+#define SND_CHN_MATRIX_6_0     9
 #define SND_CHN_MATRIX_6       SND_CHN_MATRIX_5_1
 
-/* 7 @ 6.1 (lfe) */
-#define SND_CHN_MATRIX_6_1     9
+/* 7 @ 6.1 (lfe, DEFAULT), 7.0 */
+#define SND_CHN_MATRIX_6_1     10
+#define SND_CHN_MATRIX_7_0     11
 #define SND_CHN_MATRIX_7       SND_CHN_MATRIX_6_1
 
 /* 8 @ 7.1 (lfe) */
-#define SND_CHN_MATRIX_7_1     10
+#define SND_CHN_MATRIX_7_1     12
 #define SND_CHN_MATRIX_8       SND_CHN_MATRIX_7_1
 
-#define SND_CHN_MATRIX_MAX     11
+#define SND_CHN_MATRIX_MAX     13
 
 #define SND_CHN_MATRIX_BEGIN   SND_CHN_MATRIX_1_0
 #define SND_CHN_MATRIX_END     SND_CHN_MATRIX_7_1

Modified: head/sys/dev/sound/pcm/matrix_map.h
==============================================================================
--- head/sys/dev/sound/pcm/matrix_map.h Fri Nov 16 06:40:40 2012        
(r243137)
+++ head/sys/dev/sound/pcm/matrix_map.h Fri Nov 16 07:05:57 2012        
(r243138)
@@ -195,6 +195,49 @@
                    -1, -1, -1, -1, -1, -1, -1, -1, -1  }               \
 }
 
+#define SND_CHN_MATRIX_MAP_3_1 {                                       \
+       .id = SND_CHN_MATRIX_3_1,                                       \
+       .channels = 4,                                                  \
+       .ext = 1,                                                       \
+       .map = {                                                        \
+               /* Left */                                              \
+               [0] = {                                                 \
+                       .type = SND_CHN_T_FL,                           \
+                       .members =                                      \
+                           SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FC |     \
+                           SND_CHN_T_MASK_SL                           \
+               },                                                      \
+               /* Right */                                             \
+               [1] = {                                                 \
+                       .type = SND_CHN_T_FR,                           \
+                       .members =                                      \
+                           SND_CHN_T_MASK_FR | SND_CHN_T_MASK_FC |     \
+                           SND_CHN_T_MASK_SR                           \
+               },                                                      \
+               /* LFE */                                               \
+               [2] = {                                                 \
+                       .type = SND_CHN_T_LF,                           \
+                       .members = SND_CHN_T_MASK_LF                    \
+               },                                                      \
+               /* Rear Center */                                       \
+               [3] = {                                                 \
+                       .type = SND_CHN_T_BC,                           \
+                       .members =                                      \
+                           SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BR |     \
+                           SND_CHN_T_MASK_BC |                         \
+                           SND_CHN_T_MASK_SL | SND_CHN_T_MASK_SR       \
+               },                                                      \
+               [4] = {                                                 \
+                       .type = SND_CHN_T_MAX,                          \
+                       .members = 0                                    \
+               }                                                       \
+       },                                                              \
+       .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR |                 \
+               SND_CHN_T_MASK_LF | SND_CHN_T_MASK_BC,                  \
+       .offset = {  0,  1, -1,  2, -1, -1, -1, -1,  3,                 \
+                   -1, -1, -1, -1, -1, -1, -1, -1, -1  }               \
+}
+
 #define SND_CHN_MATRIX_MAP_4_0 {                                       \
        .id = SND_CHN_MATRIX_4_0,                                       \
        .channels = 4,                                                  \
@@ -504,6 +547,68 @@
                    -1, -1, -1, -1, -1, -1, -1, -1, -1  }               \
 }
 
+#define SND_CHN_MATRIX_MAP_7_0 {                                       \
+       .id = SND_CHN_MATRIX_7_0,                                       \
+       .channels = 7,                                                  \
+       .ext = 0,                                                       \
+       .map = {                                                        \
+               /* Left */                                              \
+               [0] = {                                                 \
+                       .type = SND_CHN_T_FL,                           \
+                       .members =                                      \
+                           SND_CHN_T_MASK_FL | SND_CHN_T_MASK_LF       \
+               },                                                      \
+               /* Right */                                             \
+               [1] = {                                                 \
+                       .type = SND_CHN_T_FR,                           \
+                       .members =                                      \
+                           SND_CHN_T_MASK_FR | SND_CHN_T_MASK_LF       \
+               },                                                      \
+               /* Rear Left */                                         \
+               [2] = {                                                 \
+                       .type = SND_CHN_T_BL,                           \
+                       .members =                                      \
+                           SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BC |     \
+                           SND_CHN_T_MASK_LF                           \
+               },                                                      \
+               /* Rear Right */                                        \
+               [3] = {                                                 \
+                       .type = SND_CHN_T_BR,                           \
+                       .members =                                      \
+                           SND_CHN_T_MASK_BR | SND_CHN_T_MASK_BC |     \
+                           SND_CHN_T_MASK_LF                           \
+               },                                                      \
+               /* Center */                                            \
+               [4] = {                                                 \
+                       .type = SND_CHN_T_FC,                           \
+                       .members =                                      \
+                           SND_CHN_T_MASK_FC | SND_CHN_T_MASK_LF       \
+               },                                                      \
+               /* Side Left */                                         \
+               [5] = {                                                 \
+                       .type = SND_CHN_T_SL,                           \
+                       .members =                                      \
+                           SND_CHN_T_MASK_SL | SND_CHN_T_MASK_LF       \
+               },                                                      \
+               /* Side Right */                                        \
+               [6] = {                                                 \
+                       .type = SND_CHN_T_SR,                           \
+                       .members =                                      \
+                           SND_CHN_T_MASK_SR | SND_CHN_T_MASK_LF       \
+               },                                                      \
+               [7] = {                                                 \
+                       .type = SND_CHN_T_MAX,                          \
+                       .members = 0                                    \
+               }                                                       \
+       },                                                              \
+       .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR |                 \
+               SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BR |                 \
+               SND_CHN_T_MASK_FC |                                     \
+               SND_CHN_T_MASK_SL | SND_CHN_T_MASK_SR,                  \
+       .offset = {  0,  1,  4, -1,  2,  3, -1, -1, -1,                 \
+                    5,  6, -1, -1, -1, -1, -1, -1, -1  }               \
+}
+
 #define SND_CHN_MATRIX_MAP_7_1 {                                       \
        .id = SND_CHN_MATRIX_7_1,                                       \
        .channels = 8,                                                  \
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to