summaryrefslogtreecommitdiffstats
path: root/libaf
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2009-08-22 04:31:30 +0300
committerUoti Urpala <uau@glyph.nonexistent.invalid>2009-08-22 04:31:30 +0300
commit7431eabaabb7d5d72f26b6d46a3333aa9cf0cd96 (patch)
tree4990bd44fde568a7cd7440eb895008e0bc760c00 /libaf
parent95da34aa071d64b21ef3e952b987ba3dcee84ca0 (diff)
parent2b8b5b7053030fd77ee53cc2069a8f44838564d4 (diff)
downloadmpv-7431eabaabb7d5d72f26b6d46a3333aa9cf0cd96.tar.bz2
mpv-7431eabaabb7d5d72f26b6d46a3333aa9cf0cd96.tar.xz
Merge svn changes up to r29544
Diffstat (limited to 'libaf')
-rw-r--r--libaf/af_lavcac3enc.c4
-rw-r--r--libaf/reorder_ch.c22
-rw-r--r--libaf/reorder_ch.h33
3 files changed, 30 insertions, 29 deletions
diff --git a/libaf/af_lavcac3enc.c b/libaf/af_lavcac3enc.c
index e217ffc86c..628c397002 100644
--- a/libaf/af_lavcac3enc.c
+++ b/libaf/af_lavcac3enc.c
@@ -212,7 +212,7 @@ static af_data_t* play(struct af_instance_s* af, af_data_t* data)
if (c->nch >= 5)
reorder_channel_nch(s->pending_data,
AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT,
- AF_CHANNEL_LAYOUT_LAVC_AC3_DEFAULT,
+ AF_CHANNEL_LAYOUT_LAVC_DEFAULT,
c->nch,
s->expect_len / 2, 2);
@@ -224,7 +224,7 @@ static af_data_t* play(struct af_instance_s* af, af_data_t* data)
if (c->nch >= 5)
reorder_channel_nch(src,
AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT,
- AF_CHANNEL_LAYOUT_LAVC_AC3_DEFAULT,
+ AF_CHANNEL_LAYOUT_LAVC_DEFAULT,
c->nch,
s->expect_len / 2, 2);
len = avcodec_encode_audio(s->lavc_actx,dest,destsize,(void *)src);
diff --git a/libaf/reorder_ch.c b/libaf/reorder_ch.c
index 88b1aa21dc..b85a45737d 100644
--- a/libaf/reorder_ch.c
+++ b/libaf/reorder_ch.c
@@ -85,6 +85,7 @@ static int reorder_copy_5ch(void *dest, const void *src,
dest_8[i+13] = src_8[i+s4*3+1];
dest_8[i+14] = src_8[i+s4*3+2];
}
+ break;
}
case 4:
{
@@ -163,6 +164,7 @@ static int reorder_copy_6ch(void *dest, const void *src,
dest_8[i+16] = src_8[i+s5*3+1];
dest_8[i+17] = src_8[i+s5*3+2];
}
+ break;
}
case 4:
{
@@ -293,6 +295,9 @@ void reorder_channel_copy(void *src,
case AF_CHANNEL_LAYOUT_5_1_E << 16 | AF_CHANNEL_LAYOUT_5_1_B:
reorder_copy_6ch(dest, src, samples, samplesize, 1, 3, 4, 5, 2, 0);
break;
+ case AF_CHANNEL_LAYOUT_5_1_F << 16 | AF_CHANNEL_LAYOUT_5_1_B:
+ reorder_copy_6ch(dest, src, samples, samplesize, 1, 2, 4, 5, 0, 3);
+ break;
default:
mp_msg(MSGT_GLOBAL, MSGL_WARN, "[reorder_channel_copy] unsupport "
"from %x to %x, %d * %d\n", src_layout, dest_layout,
@@ -357,6 +362,7 @@ static int reorder_self_2(void *src, unsigned int samples,
src_8[i+s1*3+1] = tmp1;
src_8[i+s1*3+2] = tmp2;
}
+ break;
}
case 4:
{
@@ -623,6 +629,7 @@ static int reorder_self_4_step_2(void *src, unsigned int samples,
src_8[i+s3*3+1] = tmp1;
src_8[i+s3*3+2] = tmp2;
}
+ break;
}
default:
mp_msg(MSGT_GLOBAL, MSGL_WARN,
@@ -1099,6 +1106,9 @@ void reorder_channel(void *src,
case AF_CHANNEL_LAYOUT_5_1_E << 16 | AF_CHANNEL_LAYOUT_5_1_B:
reorder_self_2_4(src, samples, samplesize, 2, 4, 0, 1, 3, 5);
break;
+ case AF_CHANNEL_LAYOUT_5_1_F << 16 | AF_CHANNEL_LAYOUT_5_1_B:
+ reorder_self_2_4(src, samples, samplesize, 3, 5, 0, 1, 2, 4);
+ break;
default:
mp_msg(MSGT_GLOBAL, MSGL_WARN,
"[reorder_channel] unsupported from %x to %x, %d * %d\n",
@@ -1111,22 +1121,18 @@ static int channel_layout_mapping_5ch[AF_CHANNEL_LAYOUT_SOURCE_NUM] = {
AF_CHANNEL_LAYOUT_ALSA_5CH_DEFAULT,
AF_CHANNEL_LAYOUT_AAC_5CH_DEFAULT,
AF_CHANNEL_LAYOUT_WAVEEX_5CH_DEFAULT,
- 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_5CH_DEFAULT,
AF_CHANNEL_LAYOUT_VORBIS_5CH_DEFAULT,
- AF_CHANNEL_LAYOUT_FLAC_5CH_DEFAULT,
+ AF_CHANNEL_LAYOUT_LAVC_AAC_DEC_5CH_DEFAULT,
};
static int channel_layout_mapping_6ch[AF_CHANNEL_LAYOUT_SOURCE_NUM] = {
AF_CHANNEL_LAYOUT_ALSA_6CH_DEFAULT,
AF_CHANNEL_LAYOUT_AAC_6CH_DEFAULT,
AF_CHANNEL_LAYOUT_WAVEEX_6CH_DEFAULT,
- 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_6CH_DEFAULT,
AF_CHANNEL_LAYOUT_VORBIS_6CH_DEFAULT,
- AF_CHANNEL_LAYOUT_FLAC_6CH_DEFAULT,
+ AF_CHANNEL_LAYOUT_LAVC_AAC_DEC_6CH_DEFAULT,
};
void reorder_channel_copy_nch(void *src,
diff --git a/libaf/reorder_ch.h b/libaf/reorder_ch.h
index 72bfccf1e1..cd32fa7808 100644
--- a/libaf/reorder_ch.h
+++ b/libaf/reorder_ch.h
@@ -53,8 +53,9 @@
#define AF_CHANNEL_LAYOUT_5_1_C ((114<<8)|6|AF_LFE) // L C R Ls Rs LFE
#define AF_CHANNEL_LAYOUT_5_1_D ((115<<8)|6|AF_LFE) // C L R Ls Rs LFE
#define AF_CHANNEL_LAYOUT_5_1_E ((116<<8)|6|AF_LFE) // LFE L C R Ls Rs
-#define AF_CHANNEL_LAYOUT_6_1_A ((117<<8)|7|AF_LFE) // L R C LFE Ls Rs Cs
-#define AF_CHANNEL_LAYOUT_7_1_A ((118<<8)|8|AF_LFE) // L R C LFE Ls Rs Rls Rrs
+#define AF_CHANNEL_LAYOUT_5_1_F ((117<<8)|6|AF_LFE) // C L R LFE Ls Rs
+#define AF_CHANNEL_LAYOUT_6_1_A ((118<<8)|7|AF_LFE) // L R C LFE Ls Rs Cs
+#define AF_CHANNEL_LAYOUT_7_1_A ((119<<8)|8|AF_LFE) // L R C LFE Ls Rs Rls Rrs
#define AF_CHANNEL_LAYOUT_ALSA_5CH_DEFAULT AF_CHANNEL_LAYOUT_5_0_B
@@ -65,16 +66,12 @@
#define AF_CHANNEL_LAYOUT_AAC_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_D
#define AF_CHANNEL_LAYOUT_WAVEEX_5CH_DEFAULT AF_CHANNEL_LAYOUT_5_0_A
#define AF_CHANNEL_LAYOUT_WAVEEX_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_A
-#define AF_CHANNEL_LAYOUT_LAVC_AC3_5CH_DEFAULT AF_CHANNEL_LAYOUT_5_0_C
-#define AF_CHANNEL_LAYOUT_LAVC_AC3_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_C
-#define AF_CHANNEL_LAYOUT_LAVC_LIBA52_5CH_DEFAULT AF_CHANNEL_LAYOUT_5_0_C
-#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_5CH_DEFAULT AF_CHANNEL_LAYOUT_5_0_A
+#define AF_CHANNEL_LAYOUT_LAVC_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_A
#define AF_CHANNEL_LAYOUT_VORBIS_5CH_DEFAULT AF_CHANNEL_LAYOUT_5_0_C
#define AF_CHANNEL_LAYOUT_VORBIS_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_C
-#define AF_CHANNEL_LAYOUT_FLAC_5CH_DEFAULT AF_CHANNEL_LAYOUT_5_0_A
-#define AF_CHANNEL_LAYOUT_FLAC_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_A
+#define AF_CHANNEL_LAYOUT_LAVC_AAC_DEC_5CH_DEFAULT AF_CHANNEL_LAYOUT_5_0_D
+#define AF_CHANNEL_LAYOUT_LAVC_AAC_DEC_6CH_DEFAULT AF_CHANNEL_LAYOUT_5_1_F
#define AF_CHANNEL_MASK 0xFF
#define AF_GET_CH_NUM(A) ((A)&0x7F)
@@ -100,15 +97,13 @@ void reorder_channel(void *buf,
// Channel layout definitions for different audio sources or targets
// When specified channel number, they will be map to the specific layouts.
-#define AF_CHANNEL_LAYOUT_ALSA_DEFAULT 0
-#define AF_CHANNEL_LAYOUT_AAC_DEFAULT 1
-#define AF_CHANNEL_LAYOUT_WAVEEX_DEFAULT 2
-#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_VORBIS_DEFAULT 6
-#define AF_CHANNEL_LAYOUT_FLAC_DEFAULT 7
-#define AF_CHANNEL_LAYOUT_SOURCE_NUM 8
+#define AF_CHANNEL_LAYOUT_ALSA_DEFAULT 0
+#define AF_CHANNEL_LAYOUT_AAC_DEFAULT 1
+#define AF_CHANNEL_LAYOUT_WAVEEX_DEFAULT 2
+#define AF_CHANNEL_LAYOUT_LAVC_DEFAULT 3
+#define AF_CHANNEL_LAYOUT_VORBIS_DEFAULT 4
+#define AF_CHANNEL_LAYOUT_LAVC_AAC_DEC_DEFAULT 5
+#define AF_CHANNEL_LAYOUT_SOURCE_NUM 6
#define AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT AF_CHANNEL_LAYOUT_ALSA_DEFAULT
/// Optimized channel reorder between different audio sources and targets.