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

libavcodec/amrnbdec.c:908:1: Array declaration
906.  * @param buf_out       output of the filter
907.  */
908. static void postfilter(AMRContext *p, float *lpc, float *buf_out)
     ^
909. {
910.     int i;

libavcodec/amrnbdec.c:934:5: Call
932. 
933.     memcpy(pole_out, p->postfilter_mem, sizeof(float) * LP_FILTER_ORDER);
934.     ff_celp_lp_synthesis_filterf(pole_out + LP_FILTER_ORDER, lpc_d, samples,
         ^
935.                                  AMR_SUBFRAME_SIZE, LP_FILTER_ORDER);
936.     memcpy(p->postfilter_mem, pole_out + AMR_SUBFRAME_SIZE,

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:139:24: Array access: Offset: [-1, +oo] (⇐ [10, +oo] + [-11, -6]) Size: 50 by call to `ff_celp_lp_synthesis_filterf` 
  137.             out3 -= val * old_out2;
  138. 
  139.             old_out2 = out[-i-1];
                              ^
  140. 
  141.             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;
    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,tmp3;
        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;
        tmp3 = out3;
        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];
    }
}
['static void postfilter(AMRContext *p, float *lpc, float *buf_out)\n{\n    int i;\n    float *samples          = p->samples_in + LP_FILTER_ORDER;\n    float speech_gain       = ff_dot_productf(samples, samples,\n                                              AMR_SUBFRAME_SIZE);\n    float pole_out[AMR_SUBFRAME_SIZE + LP_FILTER_ORDER];\n    const float *gamma_n, *gamma_d;\n    float lpc_n[LP_FILTER_ORDER], lpc_d[LP_FILTER_ORDER];\n    if (p->cur_frame_mode == MODE_12k2 || p->cur_frame_mode == MODE_10k2) {\n        gamma_n = ff_pow_0_7;\n        gamma_d = ff_pow_0_75;\n    } else {\n        gamma_n = ff_pow_0_55;\n        gamma_d = ff_pow_0_7;\n    }\n    for (i = 0; i < LP_FILTER_ORDER; i++) {\n         lpc_n[i] = lpc[i] * gamma_n[i];\n         lpc_d[i] = lpc[i] * gamma_d[i];\n    }\n    memcpy(pole_out, p->postfilter_mem, sizeof(float) * LP_FILTER_ORDER);\n    ff_celp_lp_synthesis_filterf(pole_out + LP_FILTER_ORDER, lpc_d, samples,\n                                 AMR_SUBFRAME_SIZE, LP_FILTER_ORDER);\n    memcpy(p->postfilter_mem, pole_out + AMR_SUBFRAME_SIZE,\n           sizeof(float) * LP_FILTER_ORDER);\n    ff_celp_lp_zero_synthesis_filterf(buf_out, lpc_n,\n                                      pole_out + LP_FILTER_ORDER,\n                                      AMR_SUBFRAME_SIZE, LP_FILTER_ORDER);\n    ff_tilt_compensation(&p->tilt_mem, tilt_factor(lpc_n, lpc_d), buf_out,\n                         AMR_SUBFRAME_SIZE);\n    ff_adaptative_gain_control(buf_out, speech_gain, AMR_SUBFRAME_SIZE,\n                               AMR_AGC_ALPHA, &p->postfilter_agc);\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    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,tmp3;\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        tmp3 = out3;\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}']