libavcodec/mpc.c:60: error: Buffer Overrun L2
  Offset: [176+min(0, `c->synth_buf_offset[*]`), 177+max(511, `c->synth_buf_offset[*]`)] (⇐ [48+min(0, `c->synth_buf_offset[*]`), 49+max(511, `c->synth_buf_offset[*]`)] + 128) Size: 2 by call to `ff_mpa_synth_filter`.

libavcodec/mpc.c:51:1: Parameter `c->synth_buf[*]`
49.  * Process decoded Musepack data and produce PCM
50.  */
51. static void mpc_synth(MPCContext *c, int16_t *out)
    ^
52. {
53.     int dither_state = 0;

libavcodec/mpc.c:60:13: Call
58.         samples_ptr = samples + ch;
59.         for(i = 0; i < SAMPLES_PER_BAND; i++) {
60.             ff_mpa_synth_filter(c->synth_buf[ch], &(c->synth_buf_offset[ch]),
                ^
61.                                 mpa_window, &dither_state,
62.                                 samples_ptr, 2,

libavcodec/mpegaudiodec.c:858:1: <Length trace>
856.    32 samples. */
857. /* XXX: optimize by avoiding ring buffer usage */
858. void ff_mpa_synth_filter(MPA_INT *synth_buf_ptr, int *synth_buf_offset,
     ^
859.                          MPA_INT *window, int *dither_state,
860.                          OUT_INT *samples, int incr,

libavcodec/mpegaudiodec.c:858:1: Parameter `*synth_buf_ptr`
  856.    32 samples. */
  857. /* XXX: optimize by avoiding ring buffer usage */
  858. void ff_mpa_synth_filter(MPA_INT *synth_buf_ptr, int *synth_buf_offset,
       ^
  859.                          MPA_INT *window, int *dither_state,
  860.                          OUT_INT *samples, int incr,

libavcodec/mpegaudiodec.c:877:5: Assignment
  875. 
  876.     offset = *synth_buf_offset;
  877.     synth_buf = synth_buf_ptr + offset;
           ^
  878. 
  879.     for(j=0;j<32;j++) {

libavcodec/mpegaudiodec.c:898:5: Assignment
  896.     p = synth_buf + 16;
  897.     SUM8(sum, +=, w, p);
  898.     p = synth_buf + 48;
           ^
  899.     SUM8(sum, -=, w + 32, p);
  900.     *samples = round_sample(&sum);

libavcodec/mpegaudiodec.c:899:5: Array access: Offset: [176+min(0, c->synth_buf_offset[*]), 177+max(511, c->synth_buf_offset[*])] (⇐ [48+min(0, c->synth_buf_offset[*]), 49+max(511, c->synth_buf_offset[*])] + 128) Size: 2 by call to `ff_mpa_synth_filter` 
  897.     SUM8(sum, +=, w, p);
  898.     p = synth_buf + 48;
  899.     SUM8(sum, -=, w + 32, p);
           ^
  900.     *samples = round_sample(&sum);
  901.     samples += incr;

void ff_mpa_synth_filter(MPA_INT *synth_buf_ptr, int *synth_buf_offset,
                         MPA_INT *window, int *dither_state,
                         OUT_INT *samples, int incr,
                         int32_t sb_samples[SBLIMIT])
{
    int32_t tmp[32];
    register MPA_INT *synth_buf;
    register const MPA_INT *w, *w2, *p;
    int j, offset, v;
    OUT_INT *samples2;
#if FRAC_BITS <= 15
    int sum, sum2;
#else
    int64_t sum, sum2;
#endif
    dct32(tmp, sb_samples);
    offset = *synth_buf_offset;
    synth_buf = synth_buf_ptr + offset;
    for(j=0;j<32;j++) {
        v = tmp[j];
#if FRAC_BITS <= 15
        v = av_clip_int16(v);
#endif
        synth_buf[j] = v;
    }
    memcpy(synth_buf + 512, synth_buf, 32 * sizeof(MPA_INT));
    samples2 = samples + 31 * incr;
    w = window;
    w2 = window + 31;
    sum = *dither_state;
    p = synth_buf + 16;
    SUM8(sum, +=, w, p);
    p = synth_buf + 48;
    SUM8(sum, -=, w + 32, p);
    *samples = round_sample(&sum);
    samples += incr;
    w++;
    for(j=1;j<16;j++) {
        sum2 = 0;
        p = synth_buf + 16 + j;
        SUM8P2(sum, +=, sum2, -=, w, w2, p);
        p = synth_buf + 48 - j;
        SUM8P2(sum, -=, sum2, -=, w + 32, w2 + 32, p);
        *samples = round_sample(&sum);
        samples += incr;
        sum += sum2;
        *samples2 = round_sample(&sum);
        samples2 -= incr;
        w++;
        w2--;
    }
    p = synth_buf + 32;
    SUM8(sum, -=, w + 32, p);
    *samples = round_sample(&sum);
    *dither_state= sum;
    offset = (offset - 32) & 511;
    *synth_buf_offset = offset;
}
['static void mpc_synth(MPCContext *c, int16_t *out)\n{\n    int dither_state = 0;\n    int i, ch;\n    OUT_INT samples[MPA_MAX_CHANNELS * MPA_FRAME_SIZE], *samples_ptr;\n    for(ch = 0;  ch < 2; ch++){\n        samples_ptr = samples + ch;\n        for(i = 0; i < SAMPLES_PER_BAND; i++) {\n            ff_mpa_synth_filter(c->synth_buf[ch], &(c->synth_buf_offset[ch]),\n                                mpa_window, &dither_state,\n                                samples_ptr, 2,\n                                c->sb_samples[ch][i]);\n            samples_ptr += 64;\n        }\n    }\n    for(i = 0; i < MPC_FRAME_SIZE*2; i++)\n        *out++=samples[i];\n}', 'void ff_mpa_synth_filter(MPA_INT *synth_buf_ptr, int *synth_buf_offset,\n                         MPA_INT *window, int *dither_state,\n                         OUT_INT *samples, int incr,\n                         int32_t sb_samples[SBLIMIT])\n{\n    int32_t tmp[32];\n    register MPA_INT *synth_buf;\n    register const MPA_INT *w, *w2, *p;\n    int j, offset, v;\n    OUT_INT *samples2;\n#if FRAC_BITS <= 15\n    int sum, sum2;\n#else\n    int64_t sum, sum2;\n#endif\n    dct32(tmp, sb_samples);\n    offset = *synth_buf_offset;\n    synth_buf = synth_buf_ptr + offset;\n    for(j=0;j<32;j++) {\n        v = tmp[j];\n#if FRAC_BITS <= 15\n        v = av_clip_int16(v);\n#endif\n        synth_buf[j] = v;\n    }\n    memcpy(synth_buf + 512, synth_buf, 32 * sizeof(MPA_INT));\n    samples2 = samples + 31 * incr;\n    w = window;\n    w2 = window + 31;\n    sum = *dither_state;\n    p = synth_buf + 16;\n    SUM8(sum, +=, w, p);\n    p = synth_buf + 48;\n    SUM8(sum, -=, w + 32, p);\n    *samples = round_sample(&sum);\n    samples += incr;\n    w++;\n    for(j=1;j<16;j++) {\n        sum2 = 0;\n        p = synth_buf + 16 + j;\n        SUM8P2(sum, +=, sum2, -=, w, w2, p);\n        p = synth_buf + 48 - j;\n        SUM8P2(sum, -=, sum2, -=, w + 32, w2 + 32, p);\n        *samples = round_sample(&sum);\n        samples += incr;\n        sum += sum2;\n        *samples2 = round_sample(&sum);\n        samples2 -= incr;\n        w++;\n        w2--;\n    }\n    p = synth_buf + 32;\n    SUM8(sum, -=, w + 32, p);\n    *samples = round_sample(&sum);\n    *dither_state= sum;\n    offset = (offset - 32) & 511;\n    *synth_buf_offset = offset;\n}']