libavcodec/opus_silk.c:1202: error: Uninitialized Value
  The value read from excitation[_] was never initialized.

libavcodec/opus_silk.c:1202:9: 
1200.     /* assemble the excitation */
1201.     for (i = 0; i < shellblocks << 4; i++) {
1202.         int value = excitation[i];
              ^
1203.         excitation[i] = value * 256 | silk_quant_offset[voiced][qoffset_high];
1204.         if (value < 0)      excitation[i] += 20;

static inline void silk_decode_excitation(SilkContext *s, OpusRangeCoder *rc,
                                          float* excitationf,
                                          int qoffset_high, int active, int voiced)
{
    int i;
    uint32_t seed;
    int shellblocks;
    int ratelevel;
    uint8_t pulsecount[20];
    uint8_t lsbcount[20] = {0};
    int32_t excitation[320];
    seed = opus_rc_getsymbol(rc, silk_model_lcg_seed);
    shellblocks = silk_shell_blocks[s->bandwidth][s->subframes >> 2];
    ratelevel = opus_rc_getsymbol(rc, silk_model_exc_rate[voiced]);
    for (i = 0; i < shellblocks; i++) {
        pulsecount[i] = opus_rc_getsymbol(rc, silk_model_pulse_count[ratelevel]);
        if (pulsecount[i] == 17) {
            while (pulsecount[i] == 17 && ++lsbcount[i] != 10)
                pulsecount[i] = opus_rc_getsymbol(rc, silk_model_pulse_count[9]);
            if (lsbcount[i] == 10)
                pulsecount[i] = opus_rc_getsymbol(rc, silk_model_pulse_count[10]);
        }
    }
    for (i = 0; i < shellblocks; i++) {
        if (pulsecount[i] != 0) {
            int a, b, c, d;
            int32_t * location = excitation + 16*i;
            int32_t branch[4][2];
            branch[0][0] = pulsecount[i];
            for (a = 0; a < 1; a++) {
                silk_count_children(rc, 0, branch[0][a], branch[1]);
                for (b = 0; b < 2; b++) {
                    silk_count_children(rc, 1, branch[1][b], branch[2]);
                    for (c = 0; c < 2; c++) {
                        silk_count_children(rc, 2, branch[2][c], branch[3]);
                        for (d = 0; d < 2; d++) {
                            silk_count_children(rc, 3, branch[3][d], location);
                            location += 2;
                        }
                    }
                }
            }
        } else
            memset(excitation + 16*i, 0, 16*sizeof(int32_t));
    }
    for (i = 0; i < shellblocks << 4; i++) {
        int bit;
        for (bit = 0; bit < lsbcount[i >> 4]; bit++)
            excitation[i] = (excitation[i] << 1) |
                            opus_rc_getsymbol(rc, silk_model_excitation_lsb);
    }
    for (i = 0; i < shellblocks << 4; i++) {
        if (excitation[i] != 0) {
            int sign = opus_rc_getsymbol(rc, silk_model_excitation_sign[active +
                                         voiced][qoffset_high][FFMIN(pulsecount[i >> 4], 6)]);
            if (sign == 0)
                excitation[i] *= -1;
        }
    }
    for (i = 0; i < shellblocks << 4; i++) {
        int value = excitation[i];
        excitation[i] = value * 256 | silk_quant_offset[voiced][qoffset_high];
        if (value < 0)      excitation[i] += 20;
        else if (value > 0) excitation[i] -= 20;
        seed = 196314165 * seed + 907633515;
        if (seed & 0x80000000)
            excitation[i] *= -1;
        seed += value;
        excitationf[i] = excitation[i] / 8388608.0f;
    }
}
['static inline void silk_decode_excitation(SilkContext *s, OpusRangeCoder *rc,\n                                          float* excitationf,\n                                          int qoffset_high, int active, int voiced)\n{\n    int i;\n    uint32_t seed;\n    int shellblocks;\n    int ratelevel;\n    uint8_t pulsecount[20];\n    uint8_t lsbcount[20] = {0};\n    int32_t excitation[320];\n    seed = opus_rc_getsymbol(rc, silk_model_lcg_seed);\n    shellblocks = silk_shell_blocks[s->bandwidth][s->subframes >> 2];\n    ratelevel = opus_rc_getsymbol(rc, silk_model_exc_rate[voiced]);\n    for (i = 0; i < shellblocks; i++) {\n        pulsecount[i] = opus_rc_getsymbol(rc, silk_model_pulse_count[ratelevel]);\n        if (pulsecount[i] == 17) {\n            while (pulsecount[i] == 17 && ++lsbcount[i] != 10)\n                pulsecount[i] = opus_rc_getsymbol(rc, silk_model_pulse_count[9]);\n            if (lsbcount[i] == 10)\n                pulsecount[i] = opus_rc_getsymbol(rc, silk_model_pulse_count[10]);\n        }\n    }\n    for (i = 0; i < shellblocks; i++) {\n        if (pulsecount[i] != 0) {\n            int a, b, c, d;\n            int32_t * location = excitation + 16*i;\n            int32_t branch[4][2];\n            branch[0][0] = pulsecount[i];\n            for (a = 0; a < 1; a++) {\n                silk_count_children(rc, 0, branch[0][a], branch[1]);\n                for (b = 0; b < 2; b++) {\n                    silk_count_children(rc, 1, branch[1][b], branch[2]);\n                    for (c = 0; c < 2; c++) {\n                        silk_count_children(rc, 2, branch[2][c], branch[3]);\n                        for (d = 0; d < 2; d++) {\n                            silk_count_children(rc, 3, branch[3][d], location);\n                            location += 2;\n                        }\n                    }\n                }\n            }\n        } else\n            memset(excitation + 16*i, 0, 16*sizeof(int32_t));\n    }\n    for (i = 0; i < shellblocks << 4; i++) {\n        int bit;\n        for (bit = 0; bit < lsbcount[i >> 4]; bit++)\n            excitation[i] = (excitation[i] << 1) |\n                            opus_rc_getsymbol(rc, silk_model_excitation_lsb);\n    }\n    for (i = 0; i < shellblocks << 4; i++) {\n        if (excitation[i] != 0) {\n            int sign = opus_rc_getsymbol(rc, silk_model_excitation_sign[active +\n                                         voiced][qoffset_high][FFMIN(pulsecount[i >> 4], 6)]);\n            if (sign == 0)\n                excitation[i] *= -1;\n        }\n    }\n    for (i = 0; i < shellblocks << 4; i++) {\n        int value = excitation[i];\n        excitation[i] = value * 256 | silk_quant_offset[voiced][qoffset_high];\n        if (value < 0)      excitation[i] += 20;\n        else if (value > 0) excitation[i] -= 20;\n        seed = 196314165 * seed + 907633515;\n        if (seed & 0x80000000)\n            excitation[i] *= -1;\n        seed += value;\n        excitationf[i] = excitation[i] / 8388608.0f;\n    }\n}']