libavcodec/ratecontrol.c:614: error: Uninitialized Value
  The value read from cplx_tab[_] was never initialized.

libavcodec/ratecontrol.c:614:13: 
612.         float factor= bits_sum/cplx_sum;
613.         for(i=0; i<s->mb_num; i++){
614.             float newq= q*cplx_tab[i]/bits_tab[i];
                 ^
615.             newq*= factor;
616. 

static void adaptive_quantization(MpegEncContext *s, double q){
    int i;
    const float lumi_masking= s->avctx->lumi_masking / (128.0*128.0);
    const float dark_masking= s->avctx->dark_masking / (128.0*128.0);
    const float temp_cplx_masking= s->avctx->temporal_cplx_masking;
    const float spatial_cplx_masking = s->avctx->spatial_cplx_masking;
    const float p_masking = s->avctx->p_masking;
    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];
    const int qmin= s->avctx->mb_lmin;
    const int qmax= s->avctx->mb_lmax;
    Picture * const pic= &s->current_picture;
    const int mb_width = s->mb_width;
    const int mb_height = s->mb_height;
    for(i=0; i<s->mb_num; i++){
        const int mb_xy= s->mb_index2xy[i];
        float temp_cplx= sqrt(pic->mc_mb_var[mb_xy]);
        float spat_cplx= sqrt(pic->mb_var[mb_xy]);
        const int lumi= pic->mb_mean[mb_xy];
        float bits, cplx, factor;
        int mb_x = mb_xy % s->mb_stride;
        int mb_y = mb_xy / s->mb_stride;
        int mb_distance;
        float mb_factor = 0.0;
#if 0
        if(spat_cplx < q/3) spat_cplx= q/3;
        if(temp_cplx < q/3) temp_cplx= q/3;
#endif
        if(spat_cplx < 4) spat_cplx= 4;
        if(temp_cplx < 4) temp_cplx= 4;
        if((s->mb_type[mb_xy]&CANDIDATE_MB_TYPE_INTRA)){
            cplx= spat_cplx;
            factor= 1.0 + p_masking;
        }else{
            cplx= temp_cplx;
            factor= pow(temp_cplx, - temp_cplx_masking);
        }
        factor*=pow(spat_cplx, - spatial_cplx_masking);
        if(lumi>127)
            factor*= (1.0 - (lumi-128)*(lumi-128)*lumi_masking);
        else
            factor*= (1.0 - (lumi-128)*(lumi-128)*dark_masking);
        if(mb_x < mb_width/5){
            mb_distance = mb_width/5 - mb_x;
            mb_factor = (float)mb_distance / (float)(mb_width/5);
        }else if(mb_x > 4*mb_width/5){
            mb_distance = mb_x - 4*mb_width/5;
            mb_factor = (float)mb_distance / (float)(mb_width/5);
        }
        if(mb_y < mb_height/5){
            mb_distance = mb_height/5 - mb_y;
            mb_factor = FFMAX(mb_factor, (float)mb_distance / (float)(mb_height/5));
        }else if(mb_y > 4*mb_height/5){
            mb_distance = mb_y - 4*mb_height/5;
            mb_factor = FFMAX(mb_factor, (float)mb_distance / (float)(mb_height/5));
        }
        factor*= 1.0 - border_masking*mb_factor;
        if(factor<0.00001) factor= 0.00001;
        bits= cplx*factor;
        cplx_sum+= cplx;
        bits_sum+= bits;
        cplx_tab[i]= cplx;
        bits_tab[i]= bits;
    }
    if(s->flags&CODEC_FLAG_NORMALIZE_AQP){
        float factor= bits_sum/cplx_sum;
        for(i=0; i<s->mb_num; i++){
            float newq= q*cplx_tab[i]/bits_tab[i];
            newq*= factor;
            if     (newq > qmax){
                bits_sum -= bits_tab[i];
                cplx_sum -= cplx_tab[i]*q/qmax;
            }
            else if(newq < qmin){
                bits_sum -= bits_tab[i];
                cplx_sum -= cplx_tab[i]*q/qmin;
            }
        }
        if(bits_sum < 0.001) bits_sum= 0.001;
        if(cplx_sum < 0.001) cplx_sum= 0.001;
    }
    for(i=0; i<s->mb_num; i++){
        const int mb_xy= s->mb_index2xy[i];
        float newq= q*cplx_tab[i]/bits_tab[i];
        int intq;
        if(s->flags&CODEC_FLAG_NORMALIZE_AQP){
            newq*= bits_sum/cplx_sum;
        }
        intq= (int)(newq + 0.5);
        if     (intq > qmax) intq= qmax;
        else if(intq < qmin) intq= qmin;
        s->lambda_table[mb_xy]= intq;
    }
}
['static void adaptive_quantization(MpegEncContext *s, double q){\n    int i;\n    const float lumi_masking= s->avctx->lumi_masking / (128.0*128.0);\n    const float dark_masking= s->avctx->dark_masking / (128.0*128.0);\n    const float temp_cplx_masking= s->avctx->temporal_cplx_masking;\n    const float spatial_cplx_masking = s->avctx->spatial_cplx_masking;\n    const float p_masking = s->avctx->p_masking;\n    const float border_masking = s->avctx->border_masking;\n    float bits_sum= 0.0;\n    float cplx_sum= 0.0;\n    float cplx_tab[s->mb_num];\n    float bits_tab[s->mb_num];\n    const int qmin= s->avctx->mb_lmin;\n    const int qmax= s->avctx->mb_lmax;\n    Picture * const pic= &s->current_picture;\n    const int mb_width = s->mb_width;\n    const int mb_height = s->mb_height;\n    for(i=0; i<s->mb_num; i++){\n        const int mb_xy= s->mb_index2xy[i];\n        float temp_cplx= sqrt(pic->mc_mb_var[mb_xy]);\n        float spat_cplx= sqrt(pic->mb_var[mb_xy]);\n        const int lumi= pic->mb_mean[mb_xy];\n        float bits, cplx, factor;\n        int mb_x = mb_xy % s->mb_stride;\n        int mb_y = mb_xy / s->mb_stride;\n        int mb_distance;\n        float mb_factor = 0.0;\n#if 0\n        if(spat_cplx < q/3) spat_cplx= q/3;\n        if(temp_cplx < q/3) temp_cplx= q/3;\n#endif\n        if(spat_cplx < 4) spat_cplx= 4;\n        if(temp_cplx < 4) temp_cplx= 4;\n        if((s->mb_type[mb_xy]&CANDIDATE_MB_TYPE_INTRA)){\n            cplx= spat_cplx;\n            factor= 1.0 + p_masking;\n        }else{\n            cplx= temp_cplx;\n            factor= pow(temp_cplx, - temp_cplx_masking);\n        }\n        factor*=pow(spat_cplx, - spatial_cplx_masking);\n        if(lumi>127)\n            factor*= (1.0 - (lumi-128)*(lumi-128)*lumi_masking);\n        else\n            factor*= (1.0 - (lumi-128)*(lumi-128)*dark_masking);\n        if(mb_x < mb_width/5){\n            mb_distance = mb_width/5 - mb_x;\n            mb_factor = (float)mb_distance / (float)(mb_width/5);\n        }else if(mb_x > 4*mb_width/5){\n            mb_distance = mb_x - 4*mb_width/5;\n            mb_factor = (float)mb_distance / (float)(mb_width/5);\n        }\n        if(mb_y < mb_height/5){\n            mb_distance = mb_height/5 - mb_y;\n            mb_factor = FFMAX(mb_factor, (float)mb_distance / (float)(mb_height/5));\n        }else if(mb_y > 4*mb_height/5){\n            mb_distance = mb_y - 4*mb_height/5;\n            mb_factor = FFMAX(mb_factor, (float)mb_distance / (float)(mb_height/5));\n        }\n        factor*= 1.0 - border_masking*mb_factor;\n        if(factor<0.00001) factor= 0.00001;\n        bits= cplx*factor;\n        cplx_sum+= cplx;\n        bits_sum+= bits;\n        cplx_tab[i]= cplx;\n        bits_tab[i]= bits;\n    }\n    if(s->flags&CODEC_FLAG_NORMALIZE_AQP){\n        float factor= bits_sum/cplx_sum;\n        for(i=0; i<s->mb_num; i++){\n            float newq= q*cplx_tab[i]/bits_tab[i];\n            newq*= factor;\n            if     (newq > qmax){\n                bits_sum -= bits_tab[i];\n                cplx_sum -= cplx_tab[i]*q/qmax;\n            }\n            else if(newq < qmin){\n                bits_sum -= bits_tab[i];\n                cplx_sum -= cplx_tab[i]*q/qmin;\n            }\n        }\n        if(bits_sum < 0.001) bits_sum= 0.001;\n        if(cplx_sum < 0.001) cplx_sum= 0.001;\n    }\n    for(i=0; i<s->mb_num; i++){\n        const int mb_xy= s->mb_index2xy[i];\n        float newq= q*cplx_tab[i]/bits_tab[i];\n        int intq;\n        if(s->flags&CODEC_FLAG_NORMALIZE_AQP){\n            newq*= bits_sum/cplx_sum;\n        }\n        intq= (int)(newq + 0.5);\n        if     (intq > qmax) intq= qmax;\n        else if(intq < qmin) intq= qmin;\n        s->lambda_table[mb_xy]= intq;\n    }\n}']