libavcodec/qcelpdec.c:775: error: Buffer Overrun L2
  Offset: [5, 10] Size: 10 by call to `ff_celp_lp_synthesis_filterf`.

libavcodec/qcelpdec.c:686:1: Array declaration
684. }
685. 
686. static int qcelp_decode_frame(AVCodecContext *avctx, void *data,
     ^
687.                               int *got_frame_ptr, AVPacket *avpkt)
688. {

libavcodec/qcelpdec.c:775:9: Call
773.     for (i = 0; i < 4; i++) {
774.         interpolate_lpc(q, quantized_lspf, lpc, i);
775.         ff_celp_lp_synthesis_filterf(formant_mem, lpc, outbuffer + i * 40, 40, 10);
             ^
776.         formant_mem += 40;
777.     }

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 `*filter_coeffs`
  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:148:19: Array access: Offset: [5, 10] Size: 10 by call to `ff_celp_lp_synthesis_filterf` 
  146.             old_out2 = out[-i-1];
  147. 
  148.             val = filter_coeffs[i];
                         ^
  149. 
  150.             out0 -= val * old_out2;

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 int qcelp_decode_frame(AVCodecContext *avctx, void *data,\n                              int *got_frame_ptr, AVPacket *avpkt)\n{\n    const uint8_t *buf = avpkt->data;\n    int buf_size       = avpkt->size;\n    QCELPContext *q    = avctx->priv_data;\n    float *outbuffer;\n    int   i, ret;\n    float quantized_lspf[10], lpc[10];\n    float gain[16];\n    float *formant_mem;\n    q->avframe.nb_samples = 160;\n    if ((ret = avctx->get_buffer(avctx, &q->avframe)) < 0) {\n        av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\\n");\n        return ret;\n    }\n    outbuffer = (float *)q->avframe.data[0];\n    if ((q->bitrate = determine_bitrate(avctx, buf_size, &buf)) == I_F_Q) {\n        warn_insufficient_frame_quality(avctx, "bitrate cannot be determined.");\n        goto erasure;\n    }\n    if (q->bitrate == RATE_OCTAVE &&\n        (q->first16bits = AV_RB16(buf)) == 0xFFFF) {\n        warn_insufficient_frame_quality(avctx, "Bitrate is 1/8 and first 16 bits are on.");\n        goto erasure;\n    }\n    if (q->bitrate > SILENCE) {\n        const QCELPBitmap *bitmaps     = qcelp_unpacking_bitmaps_per_rate[q->bitrate];\n        const QCELPBitmap *bitmaps_end = qcelp_unpacking_bitmaps_per_rate[q->bitrate] +\n                                         qcelp_unpacking_bitmaps_lengths[q->bitrate];\n        uint8_t *unpacked_data         = (uint8_t *)&q->frame;\n        init_get_bits(&q->gb, buf, 8 * buf_size);\n        memset(&q->frame, 0, sizeof(QCELPFrame));\n        for (; bitmaps < bitmaps_end; bitmaps++)\n            unpacked_data[bitmaps->index] |= get_bits(&q->gb, bitmaps->bitlen) << bitmaps->bitpos;\n        if (q->frame.reserved) {\n            warn_insufficient_frame_quality(avctx, "Wrong data in reserved frame area.");\n            goto erasure;\n        }\n        if (q->bitrate == RATE_QUARTER &&\n            codebook_sanity_check_for_rate_quarter(q->frame.cbgain)) {\n            warn_insufficient_frame_quality(avctx, "Codebook gain sanity check failed.");\n            goto erasure;\n        }\n        if (q->bitrate >= RATE_HALF) {\n            for (i = 0; i < 4; i++) {\n                if (q->frame.pfrac[i] && q->frame.plag[i] >= 124) {\n                    warn_insufficient_frame_quality(avctx, "Cannot initialize pitch filter.");\n                    goto erasure;\n                }\n            }\n        }\n    }\n    decode_gain_and_index(q, gain);\n    compute_svector(q, gain, outbuffer);\n    if (decode_lspf(q, quantized_lspf) < 0) {\n        warn_insufficient_frame_quality(avctx, "Badly received packets in frame.");\n        goto erasure;\n    }\n    apply_pitch_filters(q, outbuffer);\n    if (q->bitrate == I_F_Q) {\nerasure:\n        q->bitrate = I_F_Q;\n        q->erasure_count++;\n        decode_gain_and_index(q, gain);\n        compute_svector(q, gain, outbuffer);\n        decode_lspf(q, quantized_lspf);\n        apply_pitch_filters(q, outbuffer);\n    } else\n        q->erasure_count = 0;\n    formant_mem = q->formant_mem + 10;\n    for (i = 0; i < 4; i++) {\n        interpolate_lpc(q, quantized_lspf, lpc, i);\n        ff_celp_lp_synthesis_filterf(formant_mem, lpc, outbuffer + i * 40, 40, 10);\n        formant_mem += 40;\n    }\n    postfilter(q, outbuffer, lpc);\n    memcpy(q->formant_mem, q->formant_mem + 160, 10 * sizeof(float));\n    memcpy(q->prev_lspf, quantized_lspf, sizeof(q->prev_lspf));\n    q->prev_bitrate  = q->bitrate;\n    *got_frame_ptr   = 1;\n    *(AVFrame *)data = q->avframe;\n    return buf_size;\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}']