alac: reduce the number of parameters to bastardized_rice_decompress()
authorJustin Ruggles <justin.ruggles@gmail.com>
Mon, 9 Jul 2012 14:30:40 +0000 (10:30 -0400)
committerJustin Ruggles <justin.ruggles@gmail.com>
Thu, 19 Jul 2012 17:26:45 +0000 (13:26 -0400)
Use the ALACContext fields directly instead.

libavcodec/alac.c

index 4848ea2..8824ae8 100644 (file)
@@ -107,13 +107,10 @@ static void bastardized_rice_decompress(ALACContext *alac,
                                         int32_t *output_buffer,
                                         int output_size,
                                         int readsamplesize,
-                                        int rice_initial_history,
-                                        int rice_limit,
-                                        int rice_history_mult,
-                                        int rice_kmodifier_mask)
+                                        int rice_history_mult)
 {
     int output_count;
-    unsigned int history = rice_initial_history;
+    unsigned int history = alac->rice_initial_history;
     int sign_modifier = 0;
 
     for (output_count = 0; output_count < output_size; output_count++) {
@@ -126,7 +123,7 @@ static void bastardized_rice_decompress(ALACContext *alac,
 
         /* read k, that is bits as is */
         k = av_log2((history >> 9) + 3);
-        x= decode_scalar(&alac->gb, k, rice_limit, readsamplesize);
+        x = decode_scalar(&alac->gb, k, alac->rice_limit, readsamplesize);
 
         x_modified = sign_modifier + x;
         final_val = (x_modified + 1) / 2;
@@ -152,7 +149,7 @@ static void bastardized_rice_decompress(ALACContext *alac,
 
             k = 7 - av_log2(history) + ((history + 16) >> 6 /* / 64 */);
 
-            block_size = decode_scalar(&alac->gb, k, rice_limit, 16);
+            block_size = decode_scalar(&alac->gb, k, alac->rice_limit, 16);
 
             if (block_size > 0) {
                 if(block_size >= output_size - output_count){
@@ -434,10 +431,7 @@ static int alac_decode_frame(AVCodecContext *avctx, void *data,
                                         alac->predict_error_buffer[ch],
                                         outputsamples,
                                         readsamplesize,
-                                        alac->rice_initial_history,
-                                        alac->rice_limit,
-                                        ricemodifier[ch] * alac->rice_history_mult / 4,
-                                        (1 << alac->rice_limit) - 1);
+                                        ricemodifier[ch] * alac->rice_history_mult / 4);
 
             /* adaptive FIR filter */
             if (prediction_type[ch] == 15) {