libavcodec/imc.c:398: error: Uninitialized Value
  The value read from workT[_] was never initialized.

libavcodec/imc.c:398:17: 
396. 
397.             if (highest > -1.e20) {
398.                 workT[found_indx] -= 2.0;
                     ^
399.                 if (++(q->bitsBandT[found_indx]) == 6)
400.                     workT[found_indx] = -1.e20;

static int bit_allocation (IMCContext* q, int stream_format_code, int freebits, int flag) {
    int i, j;
    const float limit = -1.e20;
    float highest = 0.0;
    int indx;
    int t1 = 0;
    int t2 = 1;
    float summa = 0.0;
    int iacc = 0;
    int summer = 0;
    int rres, cwlen;
    float lowest = 1.e10;
    int low_indx = 0;
    float workT[32];
    int flg;
    int found_indx = 0;
    for(i = 0; i < BANDS; i++)
        highest = FFMAX(highest, q->flcoeffs1[i]);
    for(i = 0; i < BANDS-1; i++) {
        q->flcoeffs4[i] = q->flcoeffs3[i] - log(q->flcoeffs5[i])/log(2);
    }
    q->flcoeffs4[BANDS - 1] = limit;
    highest = highest * 0.25;
    for(i = 0; i < BANDS; i++) {
        indx = -1;
        if ((band_tab[i+1] - band_tab[i]) == q->bandWidthT[i])
            indx = 0;
        if ((band_tab[i+1] - band_tab[i]) > q->bandWidthT[i])
            indx = 1;
        if (((band_tab[i+1] - band_tab[i])/2) >= q->bandWidthT[i])
            indx = 2;
        if (indx == -1)
            return -1;
        q->flcoeffs4[i] = q->flcoeffs4[i] + xTab[(indx*2 + (q->flcoeffs1[i] < highest)) * 2 + flag];
    }
    if (stream_format_code & 0x2) {
        q->flcoeffs4[0] = limit;
        q->flcoeffs4[1] = limit;
        q->flcoeffs4[2] = limit;
        q->flcoeffs4[3] = limit;
    }
    for(i = (stream_format_code & 0x2)?4:0; i < BANDS-1; i++) {
        iacc += q->bandWidthT[i];
        summa += q->bandWidthT[i] * q->flcoeffs4[i];
    }
    q->bandWidthT[BANDS-1] = 0;
    summa = (summa * 0.5 - freebits) / iacc;
    for(i = 0; i < BANDS/2; i++) {
        rres = summer - freebits;
        if((rres >= -8) && (rres <= 8)) break;
        summer = 0;
        iacc = 0;
        for(j = (stream_format_code & 0x2)?4:0; j < BANDS; j++) {
            cwlen = av_clip((int)((q->flcoeffs4[j] * 0.5) - summa + 0.5), 0, 6);
            q->bitsBandT[j] = cwlen;
            summer += q->bandWidthT[j] * cwlen;
            if (cwlen > 0)
                iacc += q->bandWidthT[j];
        }
        flg = t2;
        t2 = 1;
        if (freebits < summer)
            t2 = -1;
        if (i == 0)
            flg = t2;
        if(flg != t2)
            t1++;
        summa = (float)(summer - freebits) / ((t1 + 1) * iacc) + summa;
    }
    for(i = (stream_format_code & 0x2)?4:0; i < BANDS; i++) {
        for(j = band_tab[i]; j < band_tab[i+1]; j++)
            q->CWlengthT[j] = q->bitsBandT[i];
    }
    if (freebits > summer) {
        for(i = 0; i < BANDS; i++) {
            workT[i] = (q->bitsBandT[i] == 6) ? -1.e20 : (q->bitsBandT[i] * -2 + q->flcoeffs4[i] - 0.415);
        }
        highest = 0.0;
        do{
            if (highest <= -1.e20)
                break;
            found_indx = 0;
            highest = -1.e20;
            for(i = 0; i < BANDS; i++) {
                if (workT[i] > highest) {
                    highest = workT[i];
                    found_indx = i;
                }
            }
            if (highest > -1.e20) {
                workT[found_indx] -= 2.0;
                if (++(q->bitsBandT[found_indx]) == 6)
                    workT[found_indx] = -1.e20;
                for(j = band_tab[found_indx]; j < band_tab[found_indx+1] && (freebits > summer); j++){
                    q->CWlengthT[j]++;
                    summer++;
                }
            }
        }while (freebits > summer);
    }
    if (freebits < summer) {
        for(i = 0; i < BANDS; i++) {
            workT[i] = q->bitsBandT[i] ? (q->bitsBandT[i] * -2 + q->flcoeffs4[i] + 1.585) : 1.e20;
        }
        if (stream_format_code & 0x2) {
            workT[0] = 1.e20;
            workT[1] = 1.e20;
            workT[2] = 1.e20;
            workT[3] = 1.e20;
        }
        while (freebits < summer){
            lowest = 1.e10;
            low_indx = 0;
            for(i = 0; i < BANDS; i++) {
                if (workT[i] < lowest) {
                    lowest = workT[i];
                    low_indx = i;
                }
            }
            workT[low_indx] = lowest + 2.0;
            if (!(--q->bitsBandT[low_indx]))
                workT[low_indx] = 1.e20;
            for(j = band_tab[low_indx]; j < band_tab[low_indx+1] && (freebits < summer); j++){
                if(q->CWlengthT[j] > 0){
                    q->CWlengthT[j]--;
                    summer--;
                }
            }
        }
    }
    return 0;
}
['static int bit_allocation (IMCContext* q, int stream_format_code, int freebits, int flag) {\n    int i, j;\n    const float limit = -1.e20;\n    float highest = 0.0;\n    int indx;\n    int t1 = 0;\n    int t2 = 1;\n    float summa = 0.0;\n    int iacc = 0;\n    int summer = 0;\n    int rres, cwlen;\n    float lowest = 1.e10;\n    int low_indx = 0;\n    float workT[32];\n    int flg;\n    int found_indx = 0;\n    for(i = 0; i < BANDS; i++)\n        highest = FFMAX(highest, q->flcoeffs1[i]);\n    for(i = 0; i < BANDS-1; i++) {\n        q->flcoeffs4[i] = q->flcoeffs3[i] - log(q->flcoeffs5[i])/log(2);\n    }\n    q->flcoeffs4[BANDS - 1] = limit;\n    highest = highest * 0.25;\n    for(i = 0; i < BANDS; i++) {\n        indx = -1;\n        if ((band_tab[i+1] - band_tab[i]) == q->bandWidthT[i])\n            indx = 0;\n        if ((band_tab[i+1] - band_tab[i]) > q->bandWidthT[i])\n            indx = 1;\n        if (((band_tab[i+1] - band_tab[i])/2) >= q->bandWidthT[i])\n            indx = 2;\n        if (indx == -1)\n            return -1;\n        q->flcoeffs4[i] = q->flcoeffs4[i] + xTab[(indx*2 + (q->flcoeffs1[i] < highest)) * 2 + flag];\n    }\n    if (stream_format_code & 0x2) {\n        q->flcoeffs4[0] = limit;\n        q->flcoeffs4[1] = limit;\n        q->flcoeffs4[2] = limit;\n        q->flcoeffs4[3] = limit;\n    }\n    for(i = (stream_format_code & 0x2)?4:0; i < BANDS-1; i++) {\n        iacc += q->bandWidthT[i];\n        summa += q->bandWidthT[i] * q->flcoeffs4[i];\n    }\n    q->bandWidthT[BANDS-1] = 0;\n    summa = (summa * 0.5 - freebits) / iacc;\n    for(i = 0; i < BANDS/2; i++) {\n        rres = summer - freebits;\n        if((rres >= -8) && (rres <= 8)) break;\n        summer = 0;\n        iacc = 0;\n        for(j = (stream_format_code & 0x2)?4:0; j < BANDS; j++) {\n            cwlen = av_clip((int)((q->flcoeffs4[j] * 0.5) - summa + 0.5), 0, 6);\n            q->bitsBandT[j] = cwlen;\n            summer += q->bandWidthT[j] * cwlen;\n            if (cwlen > 0)\n                iacc += q->bandWidthT[j];\n        }\n        flg = t2;\n        t2 = 1;\n        if (freebits < summer)\n            t2 = -1;\n        if (i == 0)\n            flg = t2;\n        if(flg != t2)\n            t1++;\n        summa = (float)(summer - freebits) / ((t1 + 1) * iacc) + summa;\n    }\n    for(i = (stream_format_code & 0x2)?4:0; i < BANDS; i++) {\n        for(j = band_tab[i]; j < band_tab[i+1]; j++)\n            q->CWlengthT[j] = q->bitsBandT[i];\n    }\n    if (freebits > summer) {\n        for(i = 0; i < BANDS; i++) {\n            workT[i] = (q->bitsBandT[i] == 6) ? -1.e20 : (q->bitsBandT[i] * -2 + q->flcoeffs4[i] - 0.415);\n        }\n        highest = 0.0;\n        do{\n            if (highest <= -1.e20)\n                break;\n            found_indx = 0;\n            highest = -1.e20;\n            for(i = 0; i < BANDS; i++) {\n                if (workT[i] > highest) {\n                    highest = workT[i];\n                    found_indx = i;\n                }\n            }\n            if (highest > -1.e20) {\n                workT[found_indx] -= 2.0;\n                if (++(q->bitsBandT[found_indx]) == 6)\n                    workT[found_indx] = -1.e20;\n                for(j = band_tab[found_indx]; j < band_tab[found_indx+1] && (freebits > summer); j++){\n                    q->CWlengthT[j]++;\n                    summer++;\n                }\n            }\n        }while (freebits > summer);\n    }\n    if (freebits < summer) {\n        for(i = 0; i < BANDS; i++) {\n            workT[i] = q->bitsBandT[i] ? (q->bitsBandT[i] * -2 + q->flcoeffs4[i] + 1.585) : 1.e20;\n        }\n        if (stream_format_code & 0x2) {\n            workT[0] = 1.e20;\n            workT[1] = 1.e20;\n            workT[2] = 1.e20;\n            workT[3] = 1.e20;\n        }\n        while (freebits < summer){\n            lowest = 1.e10;\n            low_indx = 0;\n            for(i = 0; i < BANDS; i++) {\n                if (workT[i] < lowest) {\n                    lowest = workT[i];\n                    low_indx = i;\n                }\n            }\n            workT[low_indx] = lowest + 2.0;\n            if (!(--q->bitsBandT[low_indx]))\n                workT[low_indx] = 1.e20;\n            for(j = band_tab[low_indx]; j < band_tab[low_indx+1] && (freebits < summer); j++){\n                if(q->CWlengthT[j] > 0){\n                    q->CWlengthT[j]--;\n                    summer--;\n                }\n            }\n        }\n    }\n    return 0;\n}']