libavcodec/g723_1enc.c:853: error: Uninitialized Value
  The value read from ccr1[_] was never initialized.

libavcodec/g723_1enc.c:853:17: 
851.             for (k = i; k < SUBFRAME_LEN; k += GRID_SIZE) {
852.                 temp_corr[k] = 0;
853.                 ccr2[k]      = ccr1[k];
                     ^
854.             }
855.             param.amp_index = max_amp_index + j - 2;

static void get_fcb_param(FCBParam *optim, int16_t *impulse_resp,
                          int16_t *buf, int pulse_cnt, int pitch_lag)
{
    FCBParam param;
    int16_t impulse_r[SUBFRAME_LEN];
    int16_t temp_corr[SUBFRAME_LEN];
    int16_t impulse_corr[SUBFRAME_LEN];
    int ccr1[SUBFRAME_LEN];
    int ccr2[SUBFRAME_LEN];
    int amp, err, max, max_amp_index, min, scale, i, j, k, l;
    int64_t temp;
    memcpy(impulse_r, impulse_resp, sizeof(int16_t) * SUBFRAME_LEN);
    param.dirac_train = 0;
    if (pitch_lag < SUBFRAME_LEN - 2) {
        param.dirac_train = 1;
        ff_g723_1_gen_dirac_train(impulse_r, pitch_lag);
    }
    for (i = 0; i < SUBFRAME_LEN; i++)
        temp_corr[i] = impulse_r[i] >> 1;
    temp = ff_g723_1_dot_product(temp_corr, temp_corr, SUBFRAME_LEN);
    scale           = ff_g723_1_normalize_bits(temp, 31);
    impulse_corr[0] = av_clipl_int32((temp << scale) + (1 << 15)) >> 16;
    for (i = 1; i < SUBFRAME_LEN; i++) {
        temp = ff_g723_1_dot_product(temp_corr + i, temp_corr,
                                     SUBFRAME_LEN - i);
        impulse_corr[i] = av_clipl_int32((temp << scale) + (1 << 15)) >> 16;
    }
    scale -= 4;
    for (i = 0; i < SUBFRAME_LEN; i++) {
        temp = ff_g723_1_dot_product(buf + i, impulse_r, SUBFRAME_LEN - i);
        if (scale < 0)
            ccr1[i] = temp >> -scale;
        else
            ccr1[i] = av_clipl_int32(temp << scale);
    }
    for (i = 0; i < GRID_SIZE; i++) {
        max = 0;
        for (j = i; j < SUBFRAME_LEN; j += GRID_SIZE) {
            temp = FFABS(ccr1[j]);
            if (temp >= max) {
                max                = temp;
                param.pulse_pos[0] = j;
            }
        }
        amp           = max;
        min           = 1 << 30;
        max_amp_index = GAIN_LEVELS - 2;
        for (j = max_amp_index; j >= 2; j--) {
            temp = av_clipl_int32((int64_t) fixed_cb_gain[j] *
                                  impulse_corr[0] << 1);
            temp = FFABS(temp - amp);
            if (temp < min) {
                min           = temp;
                max_amp_index = j;
            }
        }
        max_amp_index--;
        for (j = 1; j < 5; j++) {
            for (k = i; k < SUBFRAME_LEN; k += GRID_SIZE) {
                temp_corr[k] = 0;
                ccr2[k]      = ccr1[k];
            }
            param.amp_index = max_amp_index + j - 2;
            amp             = fixed_cb_gain[param.amp_index];
            param.pulse_sign[0] = (ccr2[param.pulse_pos[0]] < 0) ? -amp : amp;
            temp_corr[param.pulse_pos[0]] = 1;
            for (k = 1; k < pulse_cnt; k++) {
                max = INT_MIN;
                for (l = i; l < SUBFRAME_LEN; l += GRID_SIZE) {
                    if (temp_corr[l])
                        continue;
                    temp = impulse_corr[FFABS(l - param.pulse_pos[k - 1])];
                    temp = av_clipl_int32((int64_t) temp *
                                          param.pulse_sign[k - 1] << 1);
                    ccr2[l] -= temp;
                    temp     = FFABS(ccr2[l]);
                    if (temp > max) {
                        max                = temp;
                        param.pulse_pos[k] = l;
                    }
                }
                param.pulse_sign[k] = (ccr2[param.pulse_pos[k]] < 0) ?
                                      -amp : amp;
                temp_corr[param.pulse_pos[k]] = 1;
            }
            memset(temp_corr, 0, sizeof(int16_t) * SUBFRAME_LEN);
            for (k = 0; k < pulse_cnt; k++)
                temp_corr[param.pulse_pos[k]] = param.pulse_sign[k];
            for (k = SUBFRAME_LEN - 1; k >= 0; k--) {
                temp = 0;
                for (l = 0; l <= k; l++) {
                    int prod = av_clipl_int32((int64_t) temp_corr[l] *
                                              impulse_r[k - l] << 1);
                    temp = av_clipl_int32(temp + prod);
                }
                temp_corr[k] = temp << 2 >> 16;
            }
            err = 0;
            for (k = 0; k < SUBFRAME_LEN; k++) {
                int64_t prod;
                prod = av_clipl_int32((int64_t) buf[k] * temp_corr[k] << 1);
                err  = av_clipl_int32(err - prod);
                prod = av_clipl_int32((int64_t) temp_corr[k] * temp_corr[k]);
                err  = av_clipl_int32(err + prod);
            }
            if (err < optim->min_err) {
                optim->min_err     = err;
                optim->grid_index  = i;
                optim->amp_index   = param.amp_index;
                optim->dirac_train = param.dirac_train;
                for (k = 0; k < pulse_cnt; k++) {
                    optim->pulse_sign[k] = param.pulse_sign[k];
                    optim->pulse_pos[k]  = param.pulse_pos[k];
                }
            }
        }
    }
}
['static void get_fcb_param(FCBParam *optim, int16_t *impulse_resp,\n                          int16_t *buf, int pulse_cnt, int pitch_lag)\n{\n    FCBParam param;\n    int16_t impulse_r[SUBFRAME_LEN];\n    int16_t temp_corr[SUBFRAME_LEN];\n    int16_t impulse_corr[SUBFRAME_LEN];\n    int ccr1[SUBFRAME_LEN];\n    int ccr2[SUBFRAME_LEN];\n    int amp, err, max, max_amp_index, min, scale, i, j, k, l;\n    int64_t temp;\n    memcpy(impulse_r, impulse_resp, sizeof(int16_t) * SUBFRAME_LEN);\n    param.dirac_train = 0;\n    if (pitch_lag < SUBFRAME_LEN - 2) {\n        param.dirac_train = 1;\n        ff_g723_1_gen_dirac_train(impulse_r, pitch_lag);\n    }\n    for (i = 0; i < SUBFRAME_LEN; i++)\n        temp_corr[i] = impulse_r[i] >> 1;\n    temp = ff_g723_1_dot_product(temp_corr, temp_corr, SUBFRAME_LEN);\n    scale           = ff_g723_1_normalize_bits(temp, 31);\n    impulse_corr[0] = av_clipl_int32((temp << scale) + (1 << 15)) >> 16;\n    for (i = 1; i < SUBFRAME_LEN; i++) {\n        temp = ff_g723_1_dot_product(temp_corr + i, temp_corr,\n                                     SUBFRAME_LEN - i);\n        impulse_corr[i] = av_clipl_int32((temp << scale) + (1 << 15)) >> 16;\n    }\n    scale -= 4;\n    for (i = 0; i < SUBFRAME_LEN; i++) {\n        temp = ff_g723_1_dot_product(buf + i, impulse_r, SUBFRAME_LEN - i);\n        if (scale < 0)\n            ccr1[i] = temp >> -scale;\n        else\n            ccr1[i] = av_clipl_int32(temp << scale);\n    }\n    for (i = 0; i < GRID_SIZE; i++) {\n        max = 0;\n        for (j = i; j < SUBFRAME_LEN; j += GRID_SIZE) {\n            temp = FFABS(ccr1[j]);\n            if (temp >= max) {\n                max                = temp;\n                param.pulse_pos[0] = j;\n            }\n        }\n        amp           = max;\n        min           = 1 << 30;\n        max_amp_index = GAIN_LEVELS - 2;\n        for (j = max_amp_index; j >= 2; j--) {\n            temp = av_clipl_int32((int64_t) fixed_cb_gain[j] *\n                                  impulse_corr[0] << 1);\n            temp = FFABS(temp - amp);\n            if (temp < min) {\n                min           = temp;\n                max_amp_index = j;\n            }\n        }\n        max_amp_index--;\n        for (j = 1; j < 5; j++) {\n            for (k = i; k < SUBFRAME_LEN; k += GRID_SIZE) {\n                temp_corr[k] = 0;\n                ccr2[k]      = ccr1[k];\n            }\n            param.amp_index = max_amp_index + j - 2;\n            amp             = fixed_cb_gain[param.amp_index];\n            param.pulse_sign[0] = (ccr2[param.pulse_pos[0]] < 0) ? -amp : amp;\n            temp_corr[param.pulse_pos[0]] = 1;\n            for (k = 1; k < pulse_cnt; k++) {\n                max = INT_MIN;\n                for (l = i; l < SUBFRAME_LEN; l += GRID_SIZE) {\n                    if (temp_corr[l])\n                        continue;\n                    temp = impulse_corr[FFABS(l - param.pulse_pos[k - 1])];\n                    temp = av_clipl_int32((int64_t) temp *\n                                          param.pulse_sign[k - 1] << 1);\n                    ccr2[l] -= temp;\n                    temp     = FFABS(ccr2[l]);\n                    if (temp > max) {\n                        max                = temp;\n                        param.pulse_pos[k] = l;\n                    }\n                }\n                param.pulse_sign[k] = (ccr2[param.pulse_pos[k]] < 0) ?\n                                      -amp : amp;\n                temp_corr[param.pulse_pos[k]] = 1;\n            }\n            memset(temp_corr, 0, sizeof(int16_t) * SUBFRAME_LEN);\n            for (k = 0; k < pulse_cnt; k++)\n                temp_corr[param.pulse_pos[k]] = param.pulse_sign[k];\n            for (k = SUBFRAME_LEN - 1; k >= 0; k--) {\n                temp = 0;\n                for (l = 0; l <= k; l++) {\n                    int prod = av_clipl_int32((int64_t) temp_corr[l] *\n                                              impulse_r[k - l] << 1);\n                    temp = av_clipl_int32(temp + prod);\n                }\n                temp_corr[k] = temp << 2 >> 16;\n            }\n            err = 0;\n            for (k = 0; k < SUBFRAME_LEN; k++) {\n                int64_t prod;\n                prod = av_clipl_int32((int64_t) buf[k] * temp_corr[k] << 1);\n                err  = av_clipl_int32(err - prod);\n                prod = av_clipl_int32((int64_t) temp_corr[k] * temp_corr[k]);\n                err  = av_clipl_int32(err + prod);\n            }\n            if (err < optim->min_err) {\n                optim->min_err     = err;\n                optim->grid_index  = i;\n                optim->amp_index   = param.amp_index;\n                optim->dirac_train = param.dirac_train;\n                for (k = 0; k < pulse_cnt; k++) {\n                    optim->pulse_sign[k] = param.pulse_sign[k];\n                    optim->pulse_pos[k]  = param.pulse_pos[k];\n                }\n            }\n        }\n    }\n}']