[FFmpeg-cvslog] mp3dec: perform I/S and M/S only when frame mode is joint stereo.

Kostya Shishkov git at videolan.org
Fri Mar 30 06:23:39 CEST 2012


ffmpeg | branch: master | Kostya Shishkov <kostya.shishkov at gmail.com> | Thu Mar 29 12:08:07 2012 +0200| [a05c41acd1e2dc0b7f6d82fa5ecbf7b8b5514ebc] | committer: Kostya Shishkov

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.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a05c41acd1e2dc0b7f6d82fa5ecbf7b8b5514ebc
---

 libavcodec/mpegaudiodec.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

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++) {



More information about the ffmpeg-cvslog mailing list