diff --git a/libavcodec/ratecontrol.c b/libavcodec/ratecontrol.c index 41b7d97d32..5919ea2b23 100644 --- a/libavcodec/ratecontrol.c +++ b/libavcodec/ratecontrol.c @@ -537,8 +537,8 @@ static void adaptive_quantization(MpegEncContext *s, double q){ const float border_masking = s->avctx->border_masking; float bits_sum= 0.0; float cplx_sum= 0.0; - float cplx_tab[s->mb_num]; - float bits_tab[s->mb_num]; + float *cplx_tab = av_malloc(s->mb_num * sizeof(*cplx_tab)); + float *bits_tab = av_malloc(s->mb_num * sizeof(*bits_tab)); const int qmin= s->avctx->mb_lmin; const int qmax= s->avctx->mb_lmax; Picture * const pic= &s->current_picture; @@ -639,6 +639,9 @@ static void adaptive_quantization(MpegEncContext *s, double q){ //printf("%2d%3d ", intq, ff_sqrt(s->mc_mb_var[i])); s->lambda_table[mb_xy]= intq; } + + av_free(cplx_tab); + av_free(bits_tab); } void ff_get_2pass_fcode(MpegEncContext *s){