libavcodec/ffv1.c:880: error: Buffer Overrun L1
  Offset: [3, `w` + 3] (⇐ [3, 4] + [0, `w` - 1]) Size: 2.

libavcodec/ffv1.c:856:1: <Offset trace>
854. }
855. 
856. static void decode_plane(FFV1Context *s, uint8_t *src, int w, int h, int stride, int plane_index){
     ^
857.     int x, y;
858.     int_fast16_t sample_buffer[2][w+6];

libavcodec/ffv1.c:856:1: Parameter `w`
854. }
855. 
856. static void decode_plane(FFV1Context *s, uint8_t *src, int w, int h, int stride, int plane_index){
     ^
857.     int x, y;
858.     int_fast16_t sample_buffer[2][w+6];

libavcodec/ffv1.c:858:32: <Length trace>
856. static void decode_plane(FFV1Context *s, uint8_t *src, int w, int h, int stride, int plane_index){
857.     int x, y;
858.     int_fast16_t sample_buffer[2][w+6];
                                    ^
859.     int_fast16_t *sample[2];
860.     sample[0]=sample_buffer[0]+3;

libavcodec/ffv1.c:858:32: Array declaration
856. static void decode_plane(FFV1Context *s, uint8_t *src, int w, int h, int stride, int plane_index){
857.     int x, y;
858.     int_fast16_t sample_buffer[2][w+6];
                                    ^
859.     int_fast16_t *sample[2];
860.     sample[0]=sample_buffer[0]+3;

libavcodec/ffv1.c:860:5: Assignment
858.     int_fast16_t sample_buffer[2][w+6];
859.     int_fast16_t *sample[2];
860.     sample[0]=sample_buffer[0]+3;
         ^
861.     sample[1]=sample_buffer[1]+3;
862. 

libavcodec/ffv1.c:880:36: Array access: Offset: [3, w + 3] (⇐ [3, 4] + [0, w - 1]) Size: 2
878.             decode_line(s, w, sample, plane_index, 8);
879.             for(x=0; x<w; x++){
880.                 src[x + stride*y]= sample[1][x];
                                        ^
881.             }
882.         }else{

static void decode_plane(FFV1Context *s, uint8_t *src, int w, int h, int stride, int plane_index){
    int x, y;
    int_fast16_t sample_buffer[2][w+6];
    int_fast16_t *sample[2];
    sample[0]=sample_buffer[0]+3;
    sample[1]=sample_buffer[1]+3;
    s->run_index=0;
    memset(sample_buffer, 0, sizeof(sample_buffer));
    for(y=0; y<h; y++){
        int_fast16_t *temp= sample[0];
        sample[0]= sample[1];
        sample[1]= temp;
        sample[1][-1]= sample[0][0  ];
        sample[0][ w]= sample[0][w-1];
        if(s->avctx->bits_per_raw_sample <= 8){
            decode_line(s, w, sample, plane_index, 8);
            for(x=0; x<w; x++){
                src[x + stride*y]= sample[1][x];
            }
        }else{
            decode_line(s, w, sample, plane_index, s->avctx->bits_per_raw_sample);
            for(x=0; x<w; x++){
                ((uint16_t*)(src + stride*y))[x]= sample[1][x] << (16 - s->avctx->bits_per_raw_sample);
            }
        }
    }
}
['static void decode_plane(FFV1Context *s, uint8_t *src, int w, int h, int stride, int plane_index){\n    int x, y;\n    int_fast16_t sample_buffer[2][w+6];\n    int_fast16_t *sample[2];\n    sample[0]=sample_buffer[0]+3;\n    sample[1]=sample_buffer[1]+3;\n    s->run_index=0;\n    memset(sample_buffer, 0, sizeof(sample_buffer));\n    for(y=0; y<h; y++){\n        int_fast16_t *temp= sample[0];\n        sample[0]= sample[1];\n        sample[1]= temp;\n        sample[1][-1]= sample[0][0  ];\n        sample[0][ w]= sample[0][w-1];\n        if(s->avctx->bits_per_raw_sample <= 8){\n            decode_line(s, w, sample, plane_index, 8);\n            for(x=0; x<w; x++){\n                src[x + stride*y]= sample[1][x];\n            }\n        }else{\n            decode_line(s, w, sample, plane_index, s->avctx->bits_per_raw_sample);\n            for(x=0; x<w; x++){\n                ((uint16_t*)(src + stride*y))[x]= sample[1][x] << (16 - s->avctx->bits_per_raw_sample);\n            }\n        }\n    }\n}']