simplify: remove useless fields and vars
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Sat, 26 Apr 2008 14:28:18 +0000 (14:28 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Sat, 26 Apr 2008 14:28:18 +0000 (14:28 +0000)
Originally committed as revision 12994 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/mpegaudiodec.c

index 016a59c..7d584b5 100644 (file)
@@ -2472,8 +2472,8 @@ static int decode_frame_adu(AVCodecContext * avctx,
  */
 typedef struct MP3On4DecodeContext {
     int frames;   ///< number of mp3 frames per block (number of mp3 decoder instances)
-    int chan_cfg; ///< channel config number
     int syncword; ///< syncword patch
+    const uint8_t *coff; ///< channels offsets in output buffer
     MPADecodeContext *mp3decctx[5]; ///< MPADecodeContext for every decoder instance
 } MP3On4DecodeContext;
 
@@ -2510,9 +2510,9 @@ static int decode_init_mp3on4(AVCodecContext * avctx)
         av_log(avctx, AV_LOG_ERROR, "Invalid channel config number.\n");
         return -1;
     }
-    s->chan_cfg = cfg.chan_config;
-    s->frames = mp3Frames[s->chan_cfg];
-    avctx->channels = ff_mpeg4audio_channels[s->chan_cfg];
+    s->frames = mp3Frames[cfg.chan_config];
+    s->coff = chan_offset[cfg.chan_config];
+    avctx->channels = ff_mpeg4audio_channels[cfg.chan_config];
 
     if (cfg.sample_rate < 16000)
         s->syncword = 0xffe00000;
@@ -2574,7 +2574,6 @@ static int decode_frame_mp3on4(AVCodecContext * avctx,
     int fsize;
     int fr, i, j, n;
     int off = avctx->channels;
-    const uint8_t *coff = chan_offset[s->chan_cfg];
 
     len = buf_size;
 
@@ -2607,7 +2606,7 @@ static int decode_frame_mp3on4(AVCodecContext * avctx,
         if(s->frames > 1) {
             n = m->avctx->frame_size*m->nb_channels;
             /* interleave output data */
-            bp = out_samples + coff[fr];
+            bp = out_samples + s->coff[fr];
             if(m->nb_channels == 1) {
                 for(j = 0; j < n; j++) {
                     *bp = decoded_buf[j];