libavcodec/vp8.c:2163: error: Buffer Overrun L1
  Offset: 33686018 Size: 10 by call to `decode_mb_mode`.

libavcodec/vp8.c:2161:17: Assignment
2159.         for (mb_x = 0; mb_x < s->mb_width; mb_x++, mb_xy++, mb++) {
2160.             if (mb_y == 0)
2161.                 AV_WN32A((mb - s->mb_width - 1)->intra4x4_pred_mode_top,
                      ^
2162.                          DC_PRED * 0x01010101);
2163.             decode_mb_mode(s, mb, mb_x, mb_y, curframe->seg_map->data + mb_xy,

libavcodec/vp8.c:2163:13: Call
2161.                 AV_WN32A((mb - s->mb_width - 1)->intra4x4_pred_mode_top,
2162.                          DC_PRED * 0x01010101);
2163.             decode_mb_mode(s, mb, mb_x, mb_y, curframe->seg_map->data + mb_xy,
                  ^
2164.                            prev_frame && prev_frame->seg_map ?
2165.                            prev_frame->seg_map->data + mb_xy : NULL, 1, is_vp7);

libavcodec/vp8.c:1113:1: Parameter `*s->intra4x4_pred_mode_top`
  1111. }
  1112. 
  1113. static av_always_inline
        ^
  1114. void decode_mb_mode(VP8Context *s, VP8Macroblock *mb, int mb_x, int mb_y,
  1115.                     uint8_t *segment, uint8_t *ref, int layout, int is_vp7)

libavcodec/vp8.c:1149:13: Call
  1147. 
  1148.         if (mb->mode == MODE_I4x4) {
  1149.             decode_intra4x4_modes(s, c, mb, mb_x, 1, layout);
                    ^
  1150.         } else {
  1151.             const uint32_t modes = (is_vp7 ? vp7_pred4x4_mode

libavcodec/vp8.c:1078:1: <Offset trace>
1076. }
1077. 
1078. static av_always_inline
      ^
1079. void decode_intra4x4_modes(VP8Context *s, VP56RangeCoder *c, VP8Macroblock *mb,
1080.                            int mb_x, int keyframe, int layout)

libavcodec/vp8.c:1078:1: Parameter `mb->intra4x4_pred_mode_top[*]`
    1076. }
    1077. 
    1078. static av_always_inline
          ^
    1079. void decode_intra4x4_modes(VP8Context *s, VP56RangeCoder *c, VP8Macroblock *mb,
    1080.                            int mb_x, int keyframe, int layout)

libavcodec/vp8data.h:196:1: <Length trace>
194. };
195. 
196. static const uint8_t vp8_pred4x4_prob_intra[10][10][9] = {
     ^
197.     {
198.         {  39,  53, 200,  87,  26,  21,  43, 232, 171 },

libavcodec/vp8data.h:196:1: Array declaration
    194. };
    195. 
    196. static const uint8_t vp8_pred4x4_prob_intra[10][10][9] = {
         ^
    197.     {
    198.         {  39,  53, 200,  87,  26,  21,  43, 232, 171 },

libavcodec/vp8.c:1099:17: Array access: Offset: 33686018 Size: 10 by call to `decode_mb_mode` 
    1097.             for (x = 0; x < 4; x++) {
    1098.                 const uint8_t *ctx;
    1099.                 ctx       = vp8_pred4x4_prob_intra[top[x]][left[y]];
                          ^
    1100.                 *intra4x4 = vp8_rac_get_tree(c, vp8_pred4x4_tree, ctx);
    1101.                 left[y]   = top[x] = *intra4x4;

static av_always_inline
void decode_intra4x4_modes(VP8Context *s, VP56RangeCoder *c, VP8Macroblock *mb,
                           int mb_x, int keyframe, int layout)
{
    uint8_t *intra4x4 = mb->intra4x4_pred_mode_mb;
    if (layout == 1) {
        VP8Macroblock *mb_top = mb - s->mb_width - 1;
        memcpy(mb->intra4x4_pred_mode_top, mb_top->intra4x4_pred_mode_top, 4);
    }
    if (keyframe) {
        int x, y;
        uint8_t *top;
        uint8_t *const left = s->intra4x4_pred_mode_left;
        if (layout == 1)
            top = mb->intra4x4_pred_mode_top;
        else
            top = s->intra4x4_pred_mode_top + 4 * mb_x;
        for (y = 0; y < 4; y++) {
            for (x = 0; x < 4; x++) {
                const uint8_t *ctx;
                ctx       = vp8_pred4x4_prob_intra[top[x]][left[y]];
                *intra4x4 = vp8_rac_get_tree(c, vp8_pred4x4_tree, ctx);
                left[y]   = top[x] = *intra4x4;
                intra4x4++;
            }
        }
    } else {
        int i;
        for (i = 0; i < 16; i++)
            intra4x4[i] = vp8_rac_get_tree(c, vp8_pred4x4_tree,
                                           vp8_pred4x4_prob_inter);
    }
}
['static av_always_inline\nvoid vp78_decode_mv_mb_modes(AVCodecContext *avctx, VP8Frame *curframe,\n                                    VP8Frame *prev_frame, int is_vp7)\n{\n    VP8Context *s = avctx->priv_data;\n    int mb_x, mb_y;\n    s->mv_min.y = -MARGIN;\n    s->mv_max.y = ((s->mb_height - 1) << 6) + MARGIN;\n    for (mb_y = 0; mb_y < s->mb_height; mb_y++) {\n        VP8Macroblock *mb = s->macroblocks_base +\n                            ((s->mb_width + 1) * (mb_y + 1) + 1);\n        int mb_xy = mb_y * s->mb_width;\n        AV_WN32A(s->intra4x4_pred_mode_left, DC_PRED * 0x01010101);\n        s->mv_min.x = -MARGIN;\n        s->mv_max.x = ((s->mb_width - 1) << 6) + MARGIN;\n        for (mb_x = 0; mb_x < s->mb_width; mb_x++, mb_xy++, mb++) {\n            if (mb_y == 0)\n                AV_WN32A((mb - s->mb_width - 1)->intra4x4_pred_mode_top,\n                         DC_PRED * 0x01010101);\n            decode_mb_mode(s, mb, mb_x, mb_y, curframe->seg_map->data + mb_xy,\n                           prev_frame && prev_frame->seg_map ?\n                           prev_frame->seg_map->data + mb_xy : NULL, 1, is_vp7);\n            s->mv_min.x -= 64;\n            s->mv_max.x -= 64;\n        }\n        s->mv_min.y -= 64;\n        s->mv_max.y -= 64;\n    }\n}', 'static av_always_inline\nvoid decode_mb_mode(VP8Context *s, VP8Macroblock *mb, int mb_x, int mb_y,\n                    uint8_t *segment, uint8_t *ref, int layout, int is_vp7)\n{\n    VP56RangeCoder *c = &s->c;\n    const char *vp7_feature_name[] = { "q-index",\n                                       "lf-delta",\n                                       "partial-golden-update",\n                                       "blit-pitch" };\n    if (is_vp7) {\n        int i;\n        *segment = 0;\n        for (i = 0; i < 4; i++) {\n            if (s->feature_enabled[i]) {\n                if (vp56_rac_get_prob(c, s->feature_present_prob[i])) {\n                      int index = vp8_rac_get_tree(c, vp7_feature_index_tree,\n                                                   s->feature_index_prob[i]);\n                      av_log(s->avctx, AV_LOG_WARNING,\n                             "Feature %s present in macroblock (value 0x%x)\\n",\n                             vp7_feature_name[i], s->feature_value[i][index]);\n                }\n           }\n        }\n    } else if (s->segmentation.update_map)\n        *segment = vp8_rac_get_tree(c, vp8_segmentid_tree, s->prob->segmentid);\n    else if (s->segmentation.enabled)\n        *segment = ref ? *ref : *segment;\n    mb->segment = *segment;\n    mb->skip = s->mbskip_enabled ? vp56_rac_get_prob(c, s->prob->mbskip) : 0;\n    if (s->keyframe) {\n        mb->mode = vp8_rac_get_tree(c, vp8_pred16x16_tree_intra,\n                                    vp8_pred16x16_prob_intra);\n        if (mb->mode == MODE_I4x4) {\n            decode_intra4x4_modes(s, c, mb, mb_x, 1, layout);\n        } else {\n            const uint32_t modes = (is_vp7 ? vp7_pred4x4_mode\n                                           : vp8_pred4x4_mode)[mb->mode] * 0x01010101u;\n            if (s->mb_layout == 1)\n                AV_WN32A(mb->intra4x4_pred_mode_top, modes);\n            else\n                AV_WN32A(s->intra4x4_pred_mode_top + 4 * mb_x, modes);\n            AV_WN32A(s->intra4x4_pred_mode_left, modes);\n        }\n        mb->chroma_pred_mode = vp8_rac_get_tree(c, vp8_pred8x8c_tree,\n                                                vp8_pred8x8c_prob_intra);\n        mb->ref_frame        = VP56_FRAME_CURRENT;\n    } else if (vp56_rac_get_prob_branchy(c, s->prob->intra)) {\n        if (vp56_rac_get_prob_branchy(c, s->prob->last))\n            mb->ref_frame =\n                (!is_vp7 && vp56_rac_get_prob(c, s->prob->golden)) ? VP56_FRAME_GOLDEN2\n                                                                   : VP56_FRAME_GOLDEN;\n        else\n            mb->ref_frame = VP56_FRAME_PREVIOUS;\n        s->ref_count[mb->ref_frame - 1]++;\n        if (is_vp7)\n            vp7_decode_mvs(s, mb, mb_x, mb_y, layout);\n        else\n            vp8_decode_mvs(s, mb, mb_x, mb_y, layout);\n    } else {\n        mb->mode = vp8_rac_get_tree(c, vp8_pred16x16_tree_inter, s->prob->pred16x16);\n        if (mb->mode == MODE_I4x4)\n            decode_intra4x4_modes(s, c, mb, mb_x, 0, layout);\n        mb->chroma_pred_mode = vp8_rac_get_tree(c, vp8_pred8x8c_tree,\n                                                s->prob->pred8x8c);\n        mb->ref_frame        = VP56_FRAME_CURRENT;\n        mb->partitioning     = VP8_SPLITMVMODE_NONE;\n        AV_ZERO32(&mb->bmv[0]);\n    }\n}', 'static av_always_inline\nvoid decode_intra4x4_modes(VP8Context *s, VP56RangeCoder *c, VP8Macroblock *mb,\n                           int mb_x, int keyframe, int layout)\n{\n    uint8_t *intra4x4 = mb->intra4x4_pred_mode_mb;\n    if (layout == 1) {\n        VP8Macroblock *mb_top = mb - s->mb_width - 1;\n        memcpy(mb->intra4x4_pred_mode_top, mb_top->intra4x4_pred_mode_top, 4);\n    }\n    if (keyframe) {\n        int x, y;\n        uint8_t *top;\n        uint8_t *const left = s->intra4x4_pred_mode_left;\n        if (layout == 1)\n            top = mb->intra4x4_pred_mode_top;\n        else\n            top = s->intra4x4_pred_mode_top + 4 * mb_x;\n        for (y = 0; y < 4; y++) {\n            for (x = 0; x < 4; x++) {\n                const uint8_t *ctx;\n                ctx       = vp8_pred4x4_prob_intra[top[x]][left[y]];\n                *intra4x4 = vp8_rac_get_tree(c, vp8_pred4x4_tree, ctx);\n                left[y]   = top[x] = *intra4x4;\n                intra4x4++;\n            }\n        }\n    } else {\n        int i;\n        for (i = 0; i < 16; i++)\n            intra4x4[i] = vp8_rac_get_tree(c, vp8_pred4x4_tree,\n                                           vp8_pred4x4_prob_inter);\n    }\n}']