changeset 26132:b6280829f7f8

Fix ffvorbis decoder's output channel order with channel reordering function.
author ulion
date Wed, 05 Mar 2008 02:46:50 +0000
parents 83c95bd31aab
children 94cc4bac8cd0
files libaf/reorder_ch.c libaf/reorder_ch.h libmpcodecs/ad_ffmpeg.c
diffstat 3 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/libaf/reorder_ch.c	Tue Mar 04 23:35:24 2008 +0000
+++ b/libaf/reorder_ch.c	Wed Mar 05 02:46:50 2008 +0000
@@ -1108,6 +1108,7 @@
     AF_CHANNEL_LAYOUT_LAVC_AC3_5CH_DEFAULT,
     AF_CHANNEL_LAYOUT_LAVC_LIBA52_5CH_DEFAULT,
     AF_CHANNEL_LAYOUT_LAVC_DCA_5CH_DEFAULT,
+    AF_CHANNEL_LAYOUT_LAVC_VORBIS_5CH_DEFAULT,
 };
 
 static int channel_layout_mapping_6ch[AF_CHANNEL_LAYOUT_SOURCE_NUM] = {
@@ -1117,6 +1118,7 @@
     AF_CHANNEL_LAYOUT_LAVC_AC3_6CH_DEFAULT,
     AF_CHANNEL_LAYOUT_LAVC_LIBA52_6CH_DEFAULT,
     AF_CHANNEL_LAYOUT_LAVC_DCA_6CH_DEFAULT,
+    AF_CHANNEL_LAYOUT_LAVC_VORBIS_6CH_DEFAULT,
 };
 
 void reorder_channel_copy_nch(void *src,
--- a/libaf/reorder_ch.h	Tue Mar 04 23:35:24 2008 +0000
+++ b/libaf/reorder_ch.h	Wed Mar 05 02:46:50 2008 +0000
@@ -71,6 +71,8 @@
 #define AF_CHANNEL_LAYOUT_LAVC_LIBA52_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_E
 #define AF_CHANNEL_LAYOUT_LAVC_DCA_5CH_DEFAULT AF_CHANNEL_LAYOUT_5_0_D
 #define AF_CHANNEL_LAYOUT_LAVC_DCA_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_D
+#define AF_CHANNEL_LAYOUT_LAVC_VORBIS_5CH_DEFAULT AF_CHANNEL_LAYOUT_5_0_C
+#define AF_CHANNEL_LAYOUT_LAVC_VORBIS_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_C
 
 #define AF_CHANNEL_MASK  0xFF
 #define AF_GET_CH_NUM(A) ((A)&0x7F)
@@ -102,7 +104,8 @@
 #define AF_CHANNEL_LAYOUT_LAVC_AC3_DEFAULT    3
 #define AF_CHANNEL_LAYOUT_LAVC_LIBA52_DEFAULT 4
 #define AF_CHANNEL_LAYOUT_LAVC_DCA_DEFAULT    5
-#define AF_CHANNEL_LAYOUT_SOURCE_NUM          6
+#define AF_CHANNEL_LAYOUT_LAVC_VORBIS_DEFAULT 6
+#define AF_CHANNEL_LAYOUT_SOURCE_NUM          7
 #define AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT AF_CHANNEL_LAYOUT_ALSA_DEFAULT
 
 /// Optimized channel reorder between different audio sources and targets.
--- a/libmpcodecs/ad_ffmpeg.c	Tue Mar 04 23:35:24 2008 +0000
+++ b/libmpcodecs/ad_ffmpeg.c	Wed Mar 05 02:46:50 2008 +0000
@@ -175,6 +175,8 @@
               src_ch_layout = AF_CHANNEL_LAYOUT_AAC_DEFAULT;
             else if (!strcasecmp(codec, "liba52"))
               src_ch_layout = AF_CHANNEL_LAYOUT_LAVC_LIBA52_DEFAULT;
+            else if (!strcasecmp(codec, "vorbis"))
+              src_ch_layout = AF_CHANNEL_LAYOUT_LAVC_VORBIS_DEFAULT;
             else
               src_ch_layout = AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT;
             reorder_channel_nch(buf, src_ch_layout,