Add AV_CH_LAYOUT_7POINT0_FRONT_BACK channel layout (same as 
AV_CH_LAYOUT_7POINT0_FRONT with back instead of side channels).

AV_CH_LAYOUT_7POINT1_WIDE becomes AV_CH_LAYOUT_7POINT1_FRONT and 
AV_CH_LAYOUT_7POINT1_WIDE_BACK becomes AV_CH_LAYOUT_7POINT1_FRONT_BACK. This 
makes more sens as they share most channels with the other "front" channel 
layouts.

AV_CH_LAYOUT_7POINT1_WIDE* layouts are now like AV_CH_LAYOUT_7POINT1_FRONT* but 
with wide instead of front-of-center channels.

Add channel layout names for the new defines.

Bump LIBAVUTIL_VERSION_MINOR like in b2890f5.

---
 libavcodec/aacdectab.h   |    2 +-
 libavformat/mov_chan.c   |   20 ++++++---------
 libavutil/audioconvert.c |    3 ++
 libavutil/audioconvert.h |   57 ++++++++++++++++++++++++---------------------
 libavutil/avutil.h       |    4 +-
 5 files changed, 44 insertions(+), 42 deletions(-)

diff --git a/libavcodec/aacdectab.h b/libavcodec/aacdectab.h
index 844579f..6f607a9 100644
--- a/libavcodec/aacdectab.h
+++ b/libavcodec/aacdectab.h
@@ -97,7 +97,7 @@ static const uint64_t aac_channel_layout[8] = {
     AV_CH_LAYOUT_4POINT0,
     AV_CH_LAYOUT_5POINT0_BACK,
     AV_CH_LAYOUT_5POINT1_BACK,
-    AV_CH_LAYOUT_7POINT1_WIDE_BACK,
+    AV_CH_LAYOUT_7POINT1_FRONT_BACK,
     0,
 };
 
diff --git a/libavformat/mov_chan.c b/libavformat/mov_chan.c
index 5728ebd..07ee1cb 100644
--- a/libavformat/mov_chan.c
+++ b/libavformat/mov_chan.c
@@ -281,11 +281,11 @@ static const struct MovChannelLayoutMap 
mov_ch_layout_map_8ch[] = {
                                          AV_CH_TOP_BACK_LEFT   |
                                          AV_CH_TOP_BACK_RIGHT },
 
-    { MOV_CH_LAYOUT_MPEG_7_1_A,          AV_CH_LAYOUT_7POINT1_WIDE },   // L,  
R,  C,  LFE, Ls, Rs,  Lc, Rc
-    { MOV_CH_LAYOUT_MPEG_7_1_B,          AV_CH_LAYOUT_7POINT1_WIDE },   // C,  
Lc, Rc, L,   R,  Ls,  Rs, LFE
-    { MOV_CH_LAYOUT_EMAGIC_DEFAULT_7_1,  AV_CH_LAYOUT_7POINT1_WIDE },   // L,  
R,  Ls, Rs,  C,  LFE, Lc, Rc
-    { MOV_CH_LAYOUT_EAC3_7_1_B,          AV_CH_LAYOUT_7POINT1_WIDE },   // L,  
C,  R,  Ls,  Rs, LFE, Lc, Rc
-    { MOV_CH_LAYOUT_DTS_7_1,             AV_CH_LAYOUT_7POINT1_WIDE },   // Lc, 
C,  Rc, L,   R,  Ls,  Rs, LFE
+    { MOV_CH_LAYOUT_MPEG_7_1_A,          AV_CH_LAYOUT_7POINT1_FRONT },  // L,  
R,  C,  LFE, Ls, Rs,  Lc, Rc
+    { MOV_CH_LAYOUT_MPEG_7_1_B,          AV_CH_LAYOUT_7POINT1_FRONT },  // C,  
Lc, Rc, L,   R,  Ls,  Rs, LFE
+    { MOV_CH_LAYOUT_EMAGIC_DEFAULT_7_1,  AV_CH_LAYOUT_7POINT1_FRONT },  // L,  
R,  Ls, Rs,  C,  LFE, Lc, Rc
+    { MOV_CH_LAYOUT_EAC3_7_1_B,          AV_CH_LAYOUT_7POINT1_FRONT },  // L,  
C,  R,  Ls,  Rs, LFE, Lc, Rc
+    { MOV_CH_LAYOUT_DTS_7_1,             AV_CH_LAYOUT_7POINT1_FRONT },  // Lc, 
C,  Rc, L,   R,  Ls,  Rs, LFE
 
     { MOV_CH_LAYOUT_MPEG_7_1_C,          AV_CH_LAYOUT_7POINT1 },        // L, 
R, C, LFE, Ls, Rs,  Rls, Rrs
     { MOV_CH_LAYOUT_EAC3_7_1_A,          AV_CH_LAYOUT_7POINT1 },        // L, 
C, R, Ls,  Rs, LFE, Rls, Rrs
@@ -297,9 +297,7 @@ static const struct MovChannelLayoutMap 
mov_ch_layout_map_8ch[] = {
                                          AV_CH_SURROUND_DIRECT_LEFT  |
                                          AV_CH_SURROUND_DIRECT_RIGHT },
 
-    { MOV_CH_LAYOUT_EAC3_7_1_D,          AV_CH_LAYOUT_5POINT1 |         // L, 
C, R, Ls, Rs, LFE, Lw, Rw
-                                         AV_CH_WIDE_LEFT      |
-                                         AV_CH_WIDE_RIGHT },
+    { MOV_CH_LAYOUT_EAC3_7_1_D,          AV_CH_LAYOUT_7POINT1_WIDE },   // L, 
C, R, Ls, Rs, LFE, Lw, Rw
 
     { MOV_CH_LAYOUT_EAC3_7_1_E,          AV_CH_LAYOUT_5POINT1 |         // L, 
C, R, Ls, Rs, LFE, Vhl, Vhr
                                          AV_CH_TOP_FRONT_LEFT |
@@ -323,9 +321,7 @@ static const struct MovChannelLayoutMap 
mov_ch_layout_map_8ch[] = {
                                          AV_CH_FRONT_LEFT_OF_CENTER |
                                          AV_CH_FRONT_RIGHT_OF_CENTER },
 
-    { MOV_CH_LAYOUT_DTS_8_0_B,           AV_CH_LAYOUT_5POINT0        |  // Lc, 
C, Rc, L, R, Ls, Cs, Rs
-                                         AV_CH_FRONT_LEFT_OF_CENTER  |
-                                         AV_CH_FRONT_RIGHT_OF_CENTER |
+    { MOV_CH_LAYOUT_DTS_8_0_B,           AV_CH_LAYOUT_7POINT0_FRONT  |  // Lc, 
C, Rc, L, R, Ls, Cs, Rs
                                          AV_CH_BACK_CENTER },
     { 0, 0 },
 };
@@ -338,7 +334,7 @@ static const struct MovChannelLayoutMap 
mov_ch_layout_map_9ch[] = {
                                          AV_CH_FRONT_RIGHT_OF_CENTER |
                                          AV_CH_LOW_FREQUENCY },
 
-    { MOV_CH_LAYOUT_DTS_8_1_B,           AV_CH_LAYOUT_7POINT1_WIDE   | // Lc, 
C, Rc, L, R, Ls, Cs, Rs, LFE
+    { MOV_CH_LAYOUT_DTS_8_1_B,           AV_CH_LAYOUT_7POINT1_FRONT  | // Lc, 
C, Rc, L, R, Ls, Cs, Rs, LFE
                                          AV_CH_BACK_CENTER },
     { 0, 0 },
 };
diff --git a/libavutil/audioconvert.c b/libavutil/audioconvert.c
index 0a83b05..7591c31 100644
--- a/libavutil/audioconvert.c
+++ b/libavutil/audioconvert.c
@@ -91,7 +91,10 @@ static const struct {
     { "6.1+downmix", 9,  AV_CH_LAYOUT_6POINT1|AV_CH_LAYOUT_STEREO_DOWNMIX, },
     { "7.0",         7,  AV_CH_LAYOUT_7POINT0 },
     { "7.0(front)",  7,  AV_CH_LAYOUT_7POINT0_FRONT },
+    { "7.0(front)",  7,  AV_CH_LAYOUT_7POINT0_FRONT_BACK },
     { "7.1",         8,  AV_CH_LAYOUT_7POINT1 },
+    { "7.1(front)",  8,  AV_CH_LAYOUT_7POINT1_FRONT },
+    { "7.1(front)",  8,  AV_CH_LAYOUT_7POINT1_FRONT_BACK },
     { "7.1(wide)",   8,  AV_CH_LAYOUT_7POINT1_WIDE },
     { "7.1(wide)",   8,  AV_CH_LAYOUT_7POINT1_WIDE_BACK },
     { "7.1+downmix", 10, AV_CH_LAYOUT_7POINT1|AV_CH_LAYOUT_STEREO_DOWNMIX, },
diff --git a/libavutil/audioconvert.h b/libavutil/audioconvert.h
index 55d79fc..04fc5cf 100644
--- a/libavutil/audioconvert.h
+++ b/libavutil/audioconvert.h
@@ -73,33 +73,36 @@
  * @defgroup channel_mask_c Audio channel convenience macros
  * @{
  * */
-#define AV_CH_LAYOUT_MONO              (AV_CH_FRONT_CENTER)
-#define AV_CH_LAYOUT_STEREO            (AV_CH_FRONT_LEFT|AV_CH_FRONT_RIGHT)
-#define AV_CH_LAYOUT_2POINT1           
(AV_CH_LAYOUT_STEREO|AV_CH_LOW_FREQUENCY)
-#define AV_CH_LAYOUT_2_1               (AV_CH_LAYOUT_STEREO|AV_CH_BACK_CENTER)
-#define AV_CH_LAYOUT_SURROUND          (AV_CH_LAYOUT_STEREO|AV_CH_FRONT_CENTER)
-#define AV_CH_LAYOUT_3POINT1           
(AV_CH_LAYOUT_SURROUND|AV_CH_LOW_FREQUENCY)
-#define AV_CH_LAYOUT_4POINT0           
(AV_CH_LAYOUT_SURROUND|AV_CH_BACK_CENTER)
-#define AV_CH_LAYOUT_4POINT1           
(AV_CH_LAYOUT_4POINT0|AV_CH_LOW_FREQUENCY)
-#define AV_CH_LAYOUT_2_2               
(AV_CH_LAYOUT_STEREO|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
-#define AV_CH_LAYOUT_QUAD              
(AV_CH_LAYOUT_STEREO|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
-#define AV_CH_LAYOUT_5POINT0           
(AV_CH_LAYOUT_SURROUND|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
-#define AV_CH_LAYOUT_5POINT1           
(AV_CH_LAYOUT_5POINT0|AV_CH_LOW_FREQUENCY)
-#define AV_CH_LAYOUT_5POINT0_BACK      
(AV_CH_LAYOUT_SURROUND|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
-#define AV_CH_LAYOUT_5POINT1_BACK      
(AV_CH_LAYOUT_5POINT0_BACK|AV_CH_LOW_FREQUENCY)
-#define AV_CH_LAYOUT_6POINT0           (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_CENTER)
-#define AV_CH_LAYOUT_6POINT0_FRONT     
(AV_CH_LAYOUT_2_2|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
-#define AV_CH_LAYOUT_HEXAGONAL         
(AV_CH_LAYOUT_5POINT0_BACK|AV_CH_BACK_CENTER)
-#define AV_CH_LAYOUT_6POINT1           (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_CENTER)
-#define AV_CH_LAYOUT_6POINT1_BACK      
(AV_CH_LAYOUT_5POINT1_BACK|AV_CH_BACK_CENTER)
-#define AV_CH_LAYOUT_6POINT1_FRONT     
(AV_CH_LAYOUT_6POINT0_FRONT|AV_CH_LOW_FREQUENCY)
-#define AV_CH_LAYOUT_7POINT0           
(AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
-#define AV_CH_LAYOUT_7POINT0_FRONT     
(AV_CH_LAYOUT_5POINT0|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
-#define AV_CH_LAYOUT_7POINT1           
(AV_CH_LAYOUT_5POINT1|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
-#define AV_CH_LAYOUT_7POINT1_WIDE      
(AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
-#define AV_CH_LAYOUT_7POINT1_WIDE_BACK 
(AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
-#define AV_CH_LAYOUT_OCTAGONAL         
(AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT)
-#define AV_CH_LAYOUT_STEREO_DOWNMIX    (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT)
+#define AV_CH_LAYOUT_MONO               (AV_CH_FRONT_CENTER)
+#define AV_CH_LAYOUT_STEREO             (AV_CH_FRONT_LEFT|AV_CH_FRONT_RIGHT)
+#define AV_CH_LAYOUT_2POINT1            
(AV_CH_LAYOUT_STEREO|AV_CH_LOW_FREQUENCY)
+#define AV_CH_LAYOUT_2_1                (AV_CH_LAYOUT_STEREO|AV_CH_BACK_CENTER)
+#define AV_CH_LAYOUT_SURROUND           
(AV_CH_LAYOUT_STEREO|AV_CH_FRONT_CENTER)
+#define AV_CH_LAYOUT_3POINT1            
(AV_CH_LAYOUT_SURROUND|AV_CH_LOW_FREQUENCY)
+#define AV_CH_LAYOUT_4POINT0            
(AV_CH_LAYOUT_SURROUND|AV_CH_BACK_CENTER)
+#define AV_CH_LAYOUT_4POINT1            
(AV_CH_LAYOUT_4POINT0|AV_CH_LOW_FREQUENCY)
+#define AV_CH_LAYOUT_2_2                
(AV_CH_LAYOUT_STEREO|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
+#define AV_CH_LAYOUT_QUAD               
(AV_CH_LAYOUT_STEREO|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
+#define AV_CH_LAYOUT_5POINT0            
(AV_CH_LAYOUT_SURROUND|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
+#define AV_CH_LAYOUT_5POINT1            
(AV_CH_LAYOUT_5POINT0|AV_CH_LOW_FREQUENCY)
+#define AV_CH_LAYOUT_5POINT0_BACK       
(AV_CH_LAYOUT_SURROUND|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
+#define AV_CH_LAYOUT_5POINT1_BACK       
(AV_CH_LAYOUT_5POINT0_BACK|AV_CH_LOW_FREQUENCY)
+#define AV_CH_LAYOUT_6POINT0            
(AV_CH_LAYOUT_5POINT0|AV_CH_BACK_CENTER)
+#define AV_CH_LAYOUT_6POINT0_FRONT      
(AV_CH_LAYOUT_2_2|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
+#define AV_CH_LAYOUT_HEXAGONAL          
(AV_CH_LAYOUT_5POINT0_BACK|AV_CH_BACK_CENTER)
+#define AV_CH_LAYOUT_6POINT1            
(AV_CH_LAYOUT_5POINT1|AV_CH_BACK_CENTER)
+#define AV_CH_LAYOUT_6POINT1_BACK       
(AV_CH_LAYOUT_5POINT1_BACK|AV_CH_BACK_CENTER)
+#define AV_CH_LAYOUT_6POINT1_FRONT      
(AV_CH_LAYOUT_6POINT0_FRONT|AV_CH_LOW_FREQUENCY)
+#define AV_CH_LAYOUT_7POINT0            
(AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
+#define AV_CH_LAYOUT_7POINT0_FRONT      
(AV_CH_LAYOUT_5POINT0|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
+#define AV_CH_LAYOUT_7POINT0_FRONT_BACK 
(AV_CH_LAYOUT_5POINT0_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
+#define AV_CH_LAYOUT_7POINT1            
(AV_CH_LAYOUT_7POINT0|AV_CH_LOW_FREQUENCY)
+#define AV_CH_LAYOUT_7POINT1_FRONT      
(AV_CH_LAYOUT_7POINT0_FRONT|AV_CH_LOW_FREQUENCY)
+#define AV_CH_LAYOUT_7POINT1_FRONT_BACK 
(AV_CH_LAYOUT_7POINT0_FRONT_BACK|AV_CH_LOW_FREQUENCY)
+#define AV_CH_LAYOUT_7POINT1_WIDE       
(AV_CH_LAYOUT_5POINT1|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT)
+#define AV_CH_LAYOUT_7POINT1_WIDE_BACK  
(AV_CH_LAYOUT_5POINT1_BACK|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT)
+#define AV_CH_LAYOUT_OCTAGONAL          
(AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT)
+#define AV_CH_LAYOUT_STEREO_DOWNMIX     (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT)
 
 /**
  * @}
diff --git a/libavutil/avutil.h b/libavutil/avutil.h
index b5f9a24..aa7d9e2 100644
--- a/libavutil/avutil.h
+++ b/libavutil/avutil.h
@@ -154,8 +154,8 @@
  */
 
 #define LIBAVUTIL_VERSION_MAJOR 51
-#define LIBAVUTIL_VERSION_MINOR 23
-#define LIBAVUTIL_VERSION_MICRO  1
+#define LIBAVUTIL_VERSION_MINOR 24
+#define LIBAVUTIL_VERSION_MICRO  0
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
                                                LIBAVUTIL_VERSION_MINOR, \
-- 
1.7.5.4

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to