libavcodec/dvdec.c:353: error: Buffer Overrun L3
  Offset: [-54, +oo] Size: 64 by call to `ff_dv_init_dynamic_tables`.

libavcodec/dvdec.c:346:11: Call
344.     const AVDVProfile *sys;
345. 
346.     sys = av_dv_frame_profile(s->sys, buf, buf_size);
               ^
347.     if (!sys || buf_size < sys->frame_size) {
348.         av_log(avctx, AV_LOG_ERROR, "could not find dv frame profile\n");

libavcodec/dv_profile.c:267:1: Parameter `buf_size`
  265. #endif /* CONFIG_DVPROFILE */
  266. 
  267. const AVDVProfile *av_dv_frame_profile(const AVDVProfile *sys,
       ^
  268.                                        const uint8_t* frame, unsigned buf_size)
  269. {

libavcodec/dvdec.c:353:15: Call
351. 
352.     if (sys != s->sys) {
353.         ret = ff_dv_init_dynamic_tables(s, sys);
                   ^
354.         if (ret < 0) {
355.             av_log(avctx, AV_LOG_ERROR, "Error initializing the work tables.\n");

libavcodec/dv.c:178:1: Parameter `d->n_difchan`
  176. static const uint8_t dv_quant_areas[4]  = { 6, 21, 43, 64 };
  177. 
  178. int ff_dv_init_dynamic_tables(DVVideoContext *ctx, const AVDVProfile *d)
       ^
  179. {
  180.     int j,i,c,s,p;

libavcodec/dv.c:192:23: Call
  190.                 if (!(DV_PROFILE_IS_1080i50(d) && c != 0 && s == 11) &&
  191.                     !(DV_PROFILE_IS_720p50(d) && s > 9)) {
  192.                       dv_calc_mb_coordinates(d, c, s, j, &ctx->work_chunks[i].mb_coordinates[0]);
                             ^
  193.                       ctx->work_chunks[i++].buf_offset = p;
  194.                 }

libavcodec/dv.c:54:1: <Offset trace>
52. RL_VLC_ELEM ff_dv_rl_vlc[1184];
53. 
54. static inline void dv_calc_mb_coordinates(const AVDVProfile *d, int chan, int seq, int slot,
    ^
55.                                           uint16_t *tbl)
56. {

libavcodec/dv.c:54:1: Parameter `chan`
    52. RL_VLC_ELEM ff_dv_rl_vlc[1184];
    53. 
    54. static inline void dv_calc_mb_coordinates(const AVDVProfile *d, int chan, int seq, int slot,
        ^
    55.                                           uint16_t *tbl)
    56. {

libavcodec/dv.c:120:15: Assignment
    118. 
    119.               x = shuf1[m]+(chan&1)*9 + k%9;
    120.               y = (i*3+k/9)*2 + (chan>>1) + 4;
                       ^
    121. 
    122.               if (x >= 80) {

libavcodec/dv.c:74:5: <Length trace>
72.                                        0, 1, 2, 3, 4, 5};
73. 
74.     static const uint8_t remap[][2] = {{ 0, 0}, { 0, 0}, { 0, 0}, { 0, 0}, /* dummy */
        ^
75.                                        { 0, 0}, { 0, 1}, { 0, 2}, { 0, 3}, {10, 0},
76.                                        {10, 1}, {10, 2}, {10, 3}, {20, 0}, {20, 1},

libavcodec/dv.c:74:5: Array declaration
    72.                                        0, 1, 2, 3, 4, 5};
    73. 
    74.     static const uint8_t remap[][2] = {{ 0, 0}, { 0, 0}, { 0, 0}, { 0, 0}, /* dummy */
            ^
    75.                                        { 0, 0}, { 0, 1}, { 0, 2}, { 0, 3}, {10, 0},
    76.                                        {10, 1}, {10, 2}, {10, 3}, {20, 0}, {20, 1},

libavcodec/dv.c:123:23: Array access: Offset: [-54, +oo] Size: 64 by call to `ff_dv_init_dynamic_tables` 
    121. 
    122.               if (x >= 80) {
    123.                   x = remap[y][0]+((x-80)<<(y>59));
                               ^
    124.                   y = remap[y][1];
    125.               }
