libavcodec/mpc7.c:186: error: Uninitialized Value
  The value read from t was never initialized.

libavcodec/mpc7.c:186:23: 
184.         for(ch = 0; ch < 2; ch++){
185.             if(i) t = get_vlc2(&gb, hdr_vlc.table, MPC7_HDR_BITS, 1) - 5;
186.             if(!i || (t == 4)) bands[i].res[ch] = get_bits(&gb, 4);
                           ^
187.             else bands[i].res[ch] = bands[i-1].res[ch] + t;
188.         }

static int mpc7_decode_frame(AVCodecContext * avctx,
                            void *data, int *data_size,
                            const uint8_t * buf, int buf_size)
{
    MPCContext *c = avctx->priv_data;
    GetBitContext gb;
    uint8_t *bits;
    int i, ch, t;
    int mb = -1;
    Band *bands = c->bands;
    int off;
    int bits_used, bits_avail;
    memset(bands, 0, sizeof(bands));
    if(buf_size <= 4){
        av_log(avctx, AV_LOG_ERROR, "Too small buffer passed (%i bytes)\n", buf_size);
    }
    bits = av_malloc(((buf_size - 1) & ~3) + FF_INPUT_BUFFER_PADDING_SIZE);
    c->dsp.bswap_buf((uint32_t*)bits, (const uint32_t*)(buf + 4), (buf_size - 4) >> 2);
    init_get_bits(&gb, bits, (buf_size - 4)* 8);
    skip_bits(&gb, buf[0]);
    for(i = 0; i <= c->maxbands; i++){
        for(ch = 0; ch < 2; ch++){
            if(i) t = get_vlc2(&gb, hdr_vlc.table, MPC7_HDR_BITS, 1) - 5;
            if(!i || (t == 4)) bands[i].res[ch] = get_bits(&gb, 4);
            else bands[i].res[ch] = bands[i-1].res[ch] + t;
        }
        if(bands[i].res[0] || bands[i].res[1]){
            mb = i;
            if(c->MSS) bands[i].msf = get_bits1(&gb);
        }
    }
    for(i = 0; i <= mb; i++)
        for(ch = 0; ch < 2; ch++)
            if(bands[i].res[ch]) bands[i].scfi[ch] = get_vlc2(&gb, scfi_vlc.table, MPC7_SCFI_BITS, 1);
    for(i = 0; i <= mb; i++){
        for(ch = 0; ch < 2; ch++){
            if(bands[i].res[ch]){
                bands[i].scf_idx[ch][2] = c->oldDSCF[ch][i];
                t = get_vlc2(&gb, dscf_vlc.table, MPC7_DSCF_BITS, 1) - 7;
                bands[i].scf_idx[ch][0] = (t == 8) ? get_bits(&gb, 6) : (bands[i].scf_idx[ch][2] + t);
                switch(bands[i].scfi[ch]){
                case 0:
                    t = get_vlc2(&gb, dscf_vlc.table, MPC7_DSCF_BITS, 1) - 7;
                    bands[i].scf_idx[ch][1] = (t == 8) ? get_bits(&gb, 6) : (bands[i].scf_idx[ch][0] + t);
                    t = get_vlc2(&gb, dscf_vlc.table, MPC7_DSCF_BITS, 1) - 7;
                    bands[i].scf_idx[ch][2] = (t == 8) ? get_bits(&gb, 6) : (bands[i].scf_idx[ch][1] + t);
                    break;
                case 1:
                    t = get_vlc2(&gb, dscf_vlc.table, MPC7_DSCF_BITS, 1) - 7;
                    bands[i].scf_idx[ch][1] = (t == 8) ? get_bits(&gb, 6) : (bands[i].scf_idx[ch][0] + t);
                    bands[i].scf_idx[ch][2] = bands[i].scf_idx[ch][1];
                    break;
                case 2:
                    bands[i].scf_idx[ch][1] = bands[i].scf_idx[ch][0];
                    t = get_vlc2(&gb, dscf_vlc.table, MPC7_DSCF_BITS, 1) - 7;
                    bands[i].scf_idx[ch][2] = (t == 8) ? get_bits(&gb, 6) : (bands[i].scf_idx[ch][1] + t);
                    break;
                case 3:
                    bands[i].scf_idx[ch][2] = bands[i].scf_idx[ch][1] = bands[i].scf_idx[ch][0];
                    break;
                }
                c->oldDSCF[ch][i] = bands[i].scf_idx[ch][2];
            }
        }
    }
    memset(c->Q, 0, sizeof(c->Q));
    off = 0;
    for(i = 0; i < BANDS; i++, off += SAMPLES_PER_BAND)
        for(ch = 0; ch < 2; ch++)
            idx_to_quant(c, &gb, bands[i].res[ch], c->Q[ch] + off);
    ff_mpc_dequantize_and_synth(c, mb, data);
    av_free(bits);
    bits_used = get_bits_count(&gb);
    bits_avail = (buf_size - 4) * 8;
    if(!buf[1] && ((bits_avail < bits_used) || (bits_used + 32 <= bits_avail))){
        av_log(NULL,0, "Error decoding frame: used %i of %i bits\n", bits_used, bits_avail);
        return -1;
    }
    if(c->frames_to_skip){
        c->frames_to_skip--;
        *data_size = 0;
        return buf_size;
    }
    *data_size = (buf[1] ? c->lastframelen : MPC_FRAME_SIZE) * 4;
    return buf_size;
}
['static int mpc7_decode_frame(AVCodecContext * avctx,\n                            void *data, int *data_size,\n                            const uint8_t * buf, int buf_size)\n{\n    MPCContext *c = avctx->priv_data;\n    GetBitContext gb;\n    uint8_t *bits;\n    int i, ch, t;\n    int mb = -1;\n    Band *bands = c->bands;\n    int off;\n    int bits_used, bits_avail;\n    memset(bands, 0, sizeof(bands));\n    if(buf_size <= 4){\n        av_log(avctx, AV_LOG_ERROR, "Too small buffer passed (%i bytes)\\n", buf_size);\n    }\n    bits = av_malloc(((buf_size - 1) & ~3) + FF_INPUT_BUFFER_PADDING_SIZE);\n    c->dsp.bswap_buf((uint32_t*)bits, (const uint32_t*)(buf + 4), (buf_size - 4) >> 2);\n    init_get_bits(&gb, bits, (buf_size - 4)* 8);\n    skip_bits(&gb, buf[0]);\n    for(i = 0; i <= c->maxbands; i++){\n        for(ch = 0; ch < 2; ch++){\n            if(i) t = get_vlc2(&gb, hdr_vlc.table, MPC7_HDR_BITS, 1) - 5;\n            if(!i || (t == 4)) bands[i].res[ch] = get_bits(&gb, 4);\n            else bands[i].res[ch] = bands[i-1].res[ch] + t;\n        }\n        if(bands[i].res[0] || bands[i].res[1]){\n            mb = i;\n            if(c->MSS) bands[i].msf = get_bits1(&gb);\n        }\n    }\n    for(i = 0; i <= mb; i++)\n        for(ch = 0; ch < 2; ch++)\n            if(bands[i].res[ch]) bands[i].scfi[ch] = get_vlc2(&gb, scfi_vlc.table, MPC7_SCFI_BITS, 1);\n    for(i = 0; i <= mb; i++){\n        for(ch = 0; ch < 2; ch++){\n            if(bands[i].res[ch]){\n                bands[i].scf_idx[ch][2] = c->oldDSCF[ch][i];\n                t = get_vlc2(&gb, dscf_vlc.table, MPC7_DSCF_BITS, 1) - 7;\n                bands[i].scf_idx[ch][0] = (t == 8) ? get_bits(&gb, 6) : (bands[i].scf_idx[ch][2] + t);\n                switch(bands[i].scfi[ch]){\n                case 0:\n                    t = get_vlc2(&gb, dscf_vlc.table, MPC7_DSCF_BITS, 1) - 7;\n                    bands[i].scf_idx[ch][1] = (t == 8) ? get_bits(&gb, 6) : (bands[i].scf_idx[ch][0] + t);\n                    t = get_vlc2(&gb, dscf_vlc.table, MPC7_DSCF_BITS, 1) - 7;\n                    bands[i].scf_idx[ch][2] = (t == 8) ? get_bits(&gb, 6) : (bands[i].scf_idx[ch][1] + t);\n                    break;\n                case 1:\n                    t = get_vlc2(&gb, dscf_vlc.table, MPC7_DSCF_BITS, 1) - 7;\n                    bands[i].scf_idx[ch][1] = (t == 8) ? get_bits(&gb, 6) : (bands[i].scf_idx[ch][0] + t);\n                    bands[i].scf_idx[ch][2] = bands[i].scf_idx[ch][1];\n                    break;\n                case 2:\n                    bands[i].scf_idx[ch][1] = bands[i].scf_idx[ch][0];\n                    t = get_vlc2(&gb, dscf_vlc.table, MPC7_DSCF_BITS, 1) - 7;\n                    bands[i].scf_idx[ch][2] = (t == 8) ? get_bits(&gb, 6) : (bands[i].scf_idx[ch][1] + t);\n                    break;\n                case 3:\n                    bands[i].scf_idx[ch][2] = bands[i].scf_idx[ch][1] = bands[i].scf_idx[ch][0];\n                    break;\n                }\n                c->oldDSCF[ch][i] = bands[i].scf_idx[ch][2];\n            }\n        }\n    }\n    memset(c->Q, 0, sizeof(c->Q));\n    off = 0;\n    for(i = 0; i < BANDS; i++, off += SAMPLES_PER_BAND)\n        for(ch = 0; ch < 2; ch++)\n            idx_to_quant(c, &gb, bands[i].res[ch], c->Q[ch] + off);\n    ff_mpc_dequantize_and_synth(c, mb, data);\n    av_free(bits);\n    bits_used = get_bits_count(&gb);\n    bits_avail = (buf_size - 4) * 8;\n    if(!buf[1] && ((bits_avail < bits_used) || (bits_used + 32 <= bits_avail))){\n        av_log(NULL,0, "Error decoding frame: used %i of %i bits\\n", bits_used, bits_avail);\n        return -1;\n    }\n    if(c->frames_to_skip){\n        c->frames_to_skip--;\n        *data_size = 0;\n        return buf_size;\n    }\n    *data_size = (buf[1] ? c->lastframelen : MPC_FRAME_SIZE) * 4;\n    return buf_size;\n}']