libavcodec/mpc.c:53: error: Buffer Overrun L2
  Offset: [224+min(0, `c->synth_buf_offset[*]`), 225+max(511, `c->synth_buf_offset[*]`)] (⇐ [32+min(0, `c->synth_buf_offset[*]`), 33+max(511, `c->synth_buf_offset[*]`)] + 192) Size: 2 by call to `ff_mpa_synth_filter`.

libavcodec/mpc.c:44:1: Parameter `c->synth_buf[*]`
42.  * Process decoded Musepack data and produce PCM
43.  */
44. static void mpc_synth(MPCContext *c, int16_t *out)
    ^
45. {
46.     int dither_state = 0;

libavcodec/mpc.c:53:13: Call
51.         samples_ptr = samples + ch;
52.         for(i = 0; i < SAMPLES_PER_BAND; i++) {
53.             ff_mpa_synth_filter(c->synth_buf[ch], &(c->synth_buf_offset[ch]),
                ^
54.                                 ff_mpa_synth_window, &dither_state,
55.                                 samples_ptr, 2,

libavcodec/mpegaudiodec.c:846:1: <Length trace>
844.    32 samples. */
845. /* XXX: optimize by avoiding ring buffer usage */
846. void ff_mpa_synth_filter(MPA_INT *synth_buf_ptr, int *synth_buf_offset,
     ^
847.                          MPA_INT *window, int *dither_state,
848.                          OUT_INT *samples, int incr,

libavcodec/mpegaudiodec.c:846:1: Parameter `*synth_buf_ptr`
  844.    32 samples. */
  845. /* XXX: optimize by avoiding ring buffer usage */
  846. void ff_mpa_synth_filter(MPA_INT *synth_buf_ptr, int *synth_buf_offset,
       ^
  847.                          MPA_INT *window, int *dither_state,
  848.                          OUT_INT *samples, int incr,

libavcodec/mpegaudiodec.c:863:5: Assignment
  861. 
  862.     offset = *synth_buf_offset;
  863.     synth_buf = synth_buf_ptr + offset;
           ^
  864. 
  865. #if FRAC_BITS <= 15

libavcodec/mpegaudiodec.c:910:5: Assignment
  908.     }
  909. 
  910.     p = synth_buf + 32;
           ^
  911.     SUM8(MLSS, sum, w + 32, p);
  912.     *samples = round_sample(&sum);

libavcodec/mpegaudiodec.c:911:5: Array access: Offset: [224+min(0, c->synth_buf_offset[*]), 225+max(511, c->synth_buf_offset[*])] (⇐ [32+min(0, c->synth_buf_offset[*]), 33+max(511, c->synth_buf_offset[*])] + 192) Size: 2 by call to `ff_mpa_synth_filter` 
  909. 
  910.     p = synth_buf + 32;
  911.     SUM8(MLSS, sum, w + 32, p);
           ^
  912.     *samples = round_sample(&sum);
  913.     *dither_state= sum;

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])
{
    register MPA_INT *synth_buf;
    register const MPA_INT *w, *w2, *p;
    int j, offset;
    OUT_INT *samples2;
#if FRAC_BITS <= 15
    int32_t tmp[32];
    int sum, sum2;
#else
    int64_t sum, sum2;
#endif
    offset = *synth_buf_offset;
    synth_buf = synth_buf_ptr + offset;
#if FRAC_BITS <= 15
    dct32(tmp, sb_samples);
    for(j=0;j<32;j++) {
        synth_buf[j] = av_clip_int16(tmp[j]);
    }
#else
    dct32(synth_buf, sb_samples);
#endif
    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(MACS, sum, w, p);
    p = synth_buf + 48;
    SUM8(MLSS, 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, MACS, sum2, MLSS, w, w2, p);
        p = synth_buf + 48 - j;
        SUM8P2(sum, MLSS, sum2, MLSS, 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(MLSS, 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                                ff_mpa_synth_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    register MPA_INT *synth_buf;\n    register const MPA_INT *w, *w2, *p;\n    int j, offset;\n    OUT_INT *samples2;\n#if FRAC_BITS <= 15\n    int32_t tmp[32];\n    int sum, sum2;\n#else\n    int64_t sum, sum2;\n#endif\n    offset = *synth_buf_offset;\n    synth_buf = synth_buf_ptr + offset;\n#if FRAC_BITS <= 15\n    dct32(tmp, sb_samples);\n    for(j=0;j<32;j++) {\n        synth_buf[j] = av_clip_int16(tmp[j]);\n    }\n#else\n    dct32(synth_buf, sb_samples);\n#endif\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(MACS, sum, w, p);\n    p = synth_buf + 48;\n    SUM8(MLSS, 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, MACS, sum2, MLSS, w, w2, p);\n        p = synth_buf + 48 - j;\n        SUM8P2(sum, MLSS, sum2, MLSS, 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(MLSS, sum, w + 32, p);\n    *samples = round_sample(&sum);\n    *dither_state= sum;\n    offset = (offset - 32) & 511;\n    *synth_buf_offset = offset;\n}']