From: Kostya Shishkov Date: Thu, 29 Mar 2012 10:08:07 +0000 (+0200) Subject: mp3dec: perform I/S and M/S only when frame mode is joint stereo. X-Git-Tag: v9_beta1~2169 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a05c41acd1e2dc0b7f6d82fa5ecbf7b8b5514ebc;p=platform%2Fupstream%2Flibav.git mp3dec: perform I/S and M/S only when frame mode is joint stereo. Looks like some LAME versions produce dual stereo mode MP3s with flags for intensity and middle stereo set. In this mode those flags should be ignored like the reference decoder and derived ones do. --- diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c index 6ed124b..0ab87e1 100644 --- a/libavcodec/mpegaudiodec.c +++ b/libavcodec/mpegaudiodec.c @@ -1533,7 +1533,7 @@ static int mp_decode_layer3(MPADecodeContext *s) huffman_decode(s, g, exponents, bits_pos + g->part2_3_length); } /* ch */ - if (s->nb_channels == 2) + if (s->mode == MPA_JSTEREO) compute_stereo(s, &s->granules[0][gr], &s->granules[1][gr]); for (ch = 0; ch < s->nb_channels; ch++) {