summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2011-09-25 12:52:11 -0400
committerJustin Ruggles <justin.ruggles@gmail.com>2011-10-21 12:29:51 -0400
commit1183d6cd98da7d1e9f751a68d288b200240ed335 (patch)
tree8847faf2002f963932af02c349fa925549414523 /libavcodec
parentfff0f831e0c8ccf87a6374f4bb349ac668bce14e (diff)
mp3on4: set channel layout
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/mpegaudiodec.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c
index 57dadedca1..f2728585f7 100644
--- a/libavcodec/mpegaudiodec.c
+++ b/libavcodec/mpegaudiodec.c
@@ -1913,6 +1913,17 @@ static const uint8_t chan_offset[8][5] = {
{2,0,6,4,3}, // C FLR BLRS BLR LFE
};
+/* mp3on4 channel layouts */
+static const int16_t chan_layout[8] = {
+ 0,
+ AV_CH_LAYOUT_MONO,
+ AV_CH_LAYOUT_STEREO,
+ AV_CH_LAYOUT_SURROUND,
+ AV_CH_LAYOUT_4POINT0,
+ AV_CH_LAYOUT_5POINT0,
+ AV_CH_LAYOUT_5POINT1,
+ AV_CH_LAYOUT_7POINT1
+};
static av_cold int decode_close_mp3on4(AVCodecContext * avctx)
{
@@ -1947,6 +1958,7 @@ static int decode_init_mp3on4(AVCodecContext * avctx)
s->frames = mp3Frames[cfg.chan_config];
s->coff = chan_offset[cfg.chan_config];
avctx->channels = ff_mpeg4audio_channels[cfg.chan_config];
+ avctx->channel_layout = chan_layout[cfg.chan_config];
if (cfg.sample_rate < 16000)
s->syncword = 0xffe00000;