[FFmpeg-cvslog] r9617 - trunk/libavcodec/alac.c

vitor subversion
Fri Jul 13 02:06:46 CEST 2007


Author: vitor
Date: Fri Jul 13 02:06:46 2007
New Revision: 9617

Log:
Make "channels" variable mean the number of channels, not the number of 
channels minus one


Modified:
   trunk/libavcodec/alac.c

Modified: trunk/libavcodec/alac.c
==============================================================================
--- trunk/libavcodec/alac.c	(original)
+++ trunk/libavcodec/alac.c	Fri Jul 13 02:06:46 2007
@@ -487,7 +487,7 @@ static int alac_decode_frame(AVCodecCont
 
     init_get_bits(&alac->gb, inbuffer, input_buffer_size * 8);
 
-    channels = get_bits(&alac->gb, 3);
+    channels = get_bits(&alac->gb, 3) + 1;
 
         /* 2^result = something to do with output waiting.
          * perhaps matters if we read > 1 frame in a pass?
@@ -510,10 +510,10 @@ static int alac_decode_frame(AVCodecCont
             outputsamples = alac->setinfo_max_samples_per_frame;
 
         *outputsize = outputsamples * alac->bytespersample;
-        readsamplesize = alac->setinfo_sample_size - (wasted_bytes * 8) + channels;
+        readsamplesize = alac->setinfo_sample_size - (wasted_bytes * 8) + channels - 1;
 
     switch(channels) {
-    case 0: { /* 1 channel */
+    case 1: { /* 1 channel */
         int ricemodifier;
 
         if (!isnotcompressed) {
@@ -624,7 +624,7 @@ static int alac_decode_frame(AVCodecCont
         }
         break;
     }
-    case 1: { /* 2 channels */
+    case 2: { /* 2 channels */
         uint8_t interlacing_shift;
         uint8_t interlacing_leftweight;
 




More information about the ffmpeg-cvslog mailing list