libavcodec/qcelpdec.c:675: error: Buffer Overrun L3
  Offset: [-1, +oo] (⇐ [10, +oo] + [-11, -6]) Size: 170 by call to `ff_celp_lp_synthesis_filterf`.

libavcodec/qcelpdec.c:655:1: Array declaration
653. }
654. 
655. static void postfilter(QCELPContext *q, float *samples, float *lpc)
     ^
656. {
657.     static const float pow_0_775[10] = {

libavcodec/qcelpdec.c:675:5: Call
673.                                       q->formant_mem + 10, 160, 10);
674.     memcpy(pole_out, q->postfilter_synth_mem, sizeof(float) * 10);
675.     ff_celp_lp_synthesis_filterf(pole_out + 10, lpc_p, zero_out, 160, 10);
         ^
676.     memcpy(q->postfilter_synth_mem, pole_out + 160, sizeof(float) * 10);
677. 

libavcodec/celp_filters.c:83:1: <Offset trace>
81. }
82. 
83. void ff_celp_lp_synthesis_filterf(float *out, const float *filter_coeffs,
    ^
84.                                   const float* in, int buffer_length,
85.                                   int filter_length)

libavcodec/celp_filters.c:83:1: Parameter `filter_length`
  81. }
  82. 
  83. void ff_celp_lp_synthesis_filterf(float *out, const float *filter_coeffs,
      ^
  84.                                   const float* in, int buffer_length,
  85.                                   int filter_length)

libavcodec/celp_filters.c:83:1: <Length trace>
81. }
82. 
83. void ff_celp_lp_synthesis_filterf(float *out, const float *filter_coeffs,
    ^
84.                                   const float* in, int buffer_length,
85.                                   int filter_length)

libavcodec/celp_filters.c:83:1: Parameter `*out`
  81. }
  82. 
  83. void ff_celp_lp_synthesis_filterf(float *out, const float *filter_coeffs,
      ^
  84.                                   const float* in, int buffer_length,
  85.                                   int filter_length)

libavcodec/celp_filters.c:146:24: Array access: Offset: [-1, +oo] (⇐ [10, +oo] + [-11, -6]) Size: 170 by call to `ff_celp_lp_synthesis_filterf` 
  144.             out3 -= val * old_out2;
  145. 
  146.             old_out2 = out[-i-1];
                              ^
  147. 
  148.             val = filter_coeffs[i];

void ff_celp_lp_synthesis_filterf(float *out, const float *filter_coeffs,
                                  const float* in, int buffer_length,
                                  int filter_length)
{
    int i,n;
#if 0
    for (n = 0; n < buffer_length; n++) {
        out[n] = in[n];
        for (i = 1; i <= filter_length; i++)
            out[n] -= filter_coeffs[i-1] * out[n-i];
    }
#else
    float out0, out1, out2, out3;
    float old_out0, old_out1, old_out2, old_out3;
    float a,b,c;
    a = filter_coeffs[0];
    b = filter_coeffs[1];
    c = filter_coeffs[2];
    b -= filter_coeffs[0] * filter_coeffs[0];
    c -= filter_coeffs[1] * filter_coeffs[0];
    c -= filter_coeffs[0] * b;
    old_out0 = out[-4];
    old_out1 = out[-3];
    old_out2 = out[-2];
    old_out3 = out[-1];
    for (n = 0; n <= buffer_length - 4; n+=4) {
        float tmp0,tmp1,tmp2;
        float val;
        out0 = in[0];
        out1 = in[1];
        out2 = in[2];
        out3 = in[3];
        out0 -= filter_coeffs[2] * old_out1;
        out1 -= filter_coeffs[2] * old_out2;
        out2 -= filter_coeffs[2] * old_out3;
        out0 -= filter_coeffs[1] * old_out2;
        out1 -= filter_coeffs[1] * old_out3;
        out0 -= filter_coeffs[0] * old_out3;
        val = filter_coeffs[3];
        out0 -= val * old_out0;
        out1 -= val * old_out1;
        out2 -= val * old_out2;
        out3 -= val * old_out3;
        old_out3 = out[-5];
        for (i = 5; i <= filter_length; i += 2) {
            val = filter_coeffs[i-1];
            out0 -= val * old_out3;
            out1 -= val * old_out0;
            out2 -= val * old_out1;
            out3 -= val * old_out2;
            old_out2 = out[-i-1];
            val = filter_coeffs[i];
            out0 -= val * old_out2;
            out1 -= val * old_out3;
            out2 -= val * old_out0;
            out3 -= val * old_out1;
            FFSWAP(float, old_out0, old_out2);
            old_out1 = old_out3;
            old_out3 = out[-i-2];
        }
        tmp0 = out0;
        tmp1 = out1;
        tmp2 = out2;
        out3 -= a * tmp2;
        out2 -= a * tmp1;
        out1 -= a * tmp0;
        out3 -= b * tmp1;
        out2 -= b * tmp0;
        out3 -= c * tmp0;
        out[0] = out0;
        out[1] = out1;
        out[2] = out2;
        out[3] = out3;
        old_out0 = out0;
        old_out1 = out1;
        old_out2 = out2;
        old_out3 = out3;
        out += 4;
        in  += 4;
    }
    out -= n;
    in -= n;
    for (; n < buffer_length; n++) {
        out[n] = in[n];
        for (i = 1; i <= filter_length; i++)
            out[n] -= filter_coeffs[i-1] * out[n-i];
    }
#endif
}
['static void postfilter(QCELPContext *q, float *samples, float *lpc)\n{\n    static const float pow_0_775[10] = {\n        0.775000, 0.600625, 0.465484, 0.360750, 0.279582,\n        0.216676, 0.167924, 0.130141, 0.100859, 0.078166\n    }, pow_0_625[10] = {\n        0.625000, 0.390625, 0.244141, 0.152588, 0.095367,\n        0.059605, 0.037253, 0.023283, 0.014552, 0.009095\n    };\n    float lpc_s[10], lpc_p[10], pole_out[170], zero_out[160];\n    int n;\n    for (n = 0; n < 10; n++) {\n        lpc_s[n] = lpc[n] * pow_0_625[n];\n        lpc_p[n] = lpc[n] * pow_0_775[n];\n    }\n    ff_celp_lp_zero_synthesis_filterf(zero_out, lpc_s,\n                                      q->formant_mem + 10, 160, 10);\n    memcpy(pole_out, q->postfilter_synth_mem, sizeof(float) * 10);\n    ff_celp_lp_synthesis_filterf(pole_out + 10, lpc_p, zero_out, 160, 10);\n    memcpy(q->postfilter_synth_mem, pole_out + 160, sizeof(float) * 10);\n    ff_tilt_compensation(&q->postfilter_tilt_mem, 0.3, pole_out + 10, 160);\n    ff_adaptive_gain_control(samples, pole_out + 10,\n                             ff_dot_productf(q->formant_mem + 10,\n                                             q->formant_mem + 10, 160),\n                             160, 0.9375, &q->postfilter_agc_mem);\n}', 'void ff_celp_lp_synthesis_filterf(float *out, const float *filter_coeffs,\n                                  const float* in, int buffer_length,\n                                  int filter_length)\n{\n    int i,n;\n#if 0\n    for (n = 0; n < buffer_length; n++) {\n        out[n] = in[n];\n        for (i = 1; i <= filter_length; i++)\n            out[n] -= filter_coeffs[i-1] * out[n-i];\n    }\n#else\n    float out0, out1, out2, out3;\n    float old_out0, old_out1, old_out2, old_out3;\n    float a,b,c;\n    a = filter_coeffs[0];\n    b = filter_coeffs[1];\n    c = filter_coeffs[2];\n    b -= filter_coeffs[0] * filter_coeffs[0];\n    c -= filter_coeffs[1] * filter_coeffs[0];\n    c -= filter_coeffs[0] * b;\n    old_out0 = out[-4];\n    old_out1 = out[-3];\n    old_out2 = out[-2];\n    old_out3 = out[-1];\n    for (n = 0; n <= buffer_length - 4; n+=4) {\n        float tmp0,tmp1,tmp2;\n        float val;\n        out0 = in[0];\n        out1 = in[1];\n        out2 = in[2];\n        out3 = in[3];\n        out0 -= filter_coeffs[2] * old_out1;\n        out1 -= filter_coeffs[2] * old_out2;\n        out2 -= filter_coeffs[2] * old_out3;\n        out0 -= filter_coeffs[1] * old_out2;\n        out1 -= filter_coeffs[1] * old_out3;\n        out0 -= filter_coeffs[0] * old_out3;\n        val = filter_coeffs[3];\n        out0 -= val * old_out0;\n        out1 -= val * old_out1;\n        out2 -= val * old_out2;\n        out3 -= val * old_out3;\n        old_out3 = out[-5];\n        for (i = 5; i <= filter_length; i += 2) {\n            val = filter_coeffs[i-1];\n            out0 -= val * old_out3;\n            out1 -= val * old_out0;\n            out2 -= val * old_out1;\n            out3 -= val * old_out2;\n            old_out2 = out[-i-1];\n            val = filter_coeffs[i];\n            out0 -= val * old_out2;\n            out1 -= val * old_out3;\n            out2 -= val * old_out0;\n            out3 -= val * old_out1;\n            FFSWAP(float, old_out0, old_out2);\n            old_out1 = old_out3;\n            old_out3 = out[-i-2];\n        }\n        tmp0 = out0;\n        tmp1 = out1;\n        tmp2 = out2;\n        out3 -= a * tmp2;\n        out2 -= a * tmp1;\n        out1 -= a * tmp0;\n        out3 -= b * tmp1;\n        out2 -= b * tmp0;\n        out3 -= c * tmp0;\n        out[0] = out0;\n        out[1] = out1;\n        out[2] = out2;\n        out[3] = out3;\n        old_out0 = out0;\n        old_out1 = out1;\n        old_out2 = out2;\n        old_out3 = out3;\n        out += 4;\n        in  += 4;\n    }\n    out -= n;\n    in -= n;\n    for (; n < buffer_length; n++) {\n        out[n] = in[n];\n        for (i = 1; i <= filter_length; i++)\n            out[n] -= filter_coeffs[i-1] * out[n-i];\n    }\n#endif\n}']