[FFmpeg-soc] [soc]: r5440 - als/alsdec.c

thilo.borgmann subversion at mplayerhq.hu
Wed Nov 11 17:46:45 CET 2009


Author: thilo.borgmann
Date: Wed Nov 11 17:46:45 2009
New Revision: 5440

Log:
Corrects amount of allocated buffers for non-mcc mode to one.

Modified:
   als/alsdec.c

Modified: als/alsdec.c
==============================================================================
--- als/alsdec.c	Wed Nov 11 17:38:00 2009	(r5439)
+++ als/alsdec.c	Wed Nov 11 17:46:45 2009	(r5440)
@@ -1291,8 +1291,8 @@ static av_cold int decode_init(AVCodecCo
     // allocate quantized parcor coefficient buffer
     num_lpc_buffers = sconf->mc_coding ? avctx->channels : 1;
 
-    ctx->quant_cof        = av_malloc(sizeof(*ctx->quant_cof) * avctx->channels);
-    ctx->lpc_cof          = av_malloc(sizeof(*ctx->lpc_cof)   * avctx->channels);
+    ctx->quant_cof        = av_malloc(sizeof(*ctx->quant_cof) * num_lpc_buffers);
+    ctx->lpc_cof          = av_malloc(sizeof(*ctx->lpc_cof)   * num_lpc_buffers);
     ctx->quant_cof_buffer = av_malloc(sizeof(*ctx->quant_cof_buffer) *
                                       num_lpc_buffers * sconf->max_order);
     ctx->lpc_cof_buffer   = av_malloc(sizeof(*ctx->lpc_cof_buffer) *
@@ -1311,11 +1311,11 @@ static av_cold int decode_init(AVCodecCo
     }
 
     // allocate and assign lag and gain data buffer for ltp mode
-    ctx->use_ltp         = av_mallocz(sizeof(*ctx->use_ltp)  * avctx->channels);
-    ctx->ltp_lag         = av_malloc (sizeof(*ctx->ltp_lag)  * avctx->channels);
-    ctx->ltp_gain        = av_malloc (sizeof(*ctx->ltp_gain) * avctx->channels);
+    ctx->use_ltp         = av_mallocz(sizeof(*ctx->use_ltp)  * num_lpc_buffers);
+    ctx->ltp_lag         = av_malloc (sizeof(*ctx->ltp_lag)  * num_lpc_buffers);
+    ctx->ltp_gain        = av_malloc (sizeof(*ctx->ltp_gain) * num_lpc_buffers);
     ctx->ltp_gain_buffer = av_malloc (sizeof(*ctx->ltp_gain_buffer) *
-                                      avctx->channels * 5);
+                                      num_lpc_buffers * 5);
 
     if (!ctx->use_ltp  || !ctx->ltp_lag ||
         !ctx->ltp_gain || !ctx->ltp_gain_buffer) {
@@ -1324,15 +1324,15 @@ static av_cold int decode_init(AVCodecCo
         return AVERROR(ENOMEM);
     }
 
-    for (c = 0; c < avctx->channels; c++)
+    for (c = 0; c < num_lpc_buffers; c++)
         ctx->ltp_gain[c] = ctx->ltp_gain_buffer + c * 5;
 
     // allocate and assign channel data buffer for mcc mode
     if (sconf->mc_coding) {
         ctx->chan_data_buffer = av_malloc(sizeof(*ctx->chan_data_buffer) *
-                                          avctx->channels);
+                                          num_lpc_buffers);
         ctx->chan_data        = av_malloc(sizeof(ALSChannelData) *
-                                          avctx->channels);
+                                          num_lpc_buffers);
 
         if (!ctx->chan_data_buffer || !ctx->chan_data) {
             av_log(avctx, AV_LOG_ERROR, "Allocating buffer memory failed.\n");
@@ -1340,7 +1340,7 @@ static av_cold int decode_init(AVCodecCo
             return AVERROR(ENOMEM);
         }
 
-        for (c = 0; c < avctx->channels; c++)
+        for (c = 0; c < num_lpc_buffers; c++)
             ctx->chan_data[c] = ctx->chan_data_buffer + c;
     } else {
         ctx->chan_data        = NULL;


More information about the FFmpeg-soc mailing list