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