libavcodec/motion_est.c:1712: error: Buffer Overrun L1
  Offset: 10 (⇐ 2 + 8) Size: 4 by call to `ff_estimate_motion_b`.

libavcodec/motion_est.c:1712:17: Call
1710.             if(type == CANDIDATE_MB_TYPE_BACKWARD || type == CANDIDATE_MB_TYPE_BIDIR){
1711.                 c->skip=0;
1712.                 ff_estimate_motion_b(s, mb_x, mb_y, s->b_back_mv_table, 2, s->b_code);
                      ^
1713.             }
1714.             if(type == CANDIDATE_MB_TYPE_FORWARD_I || type == CANDIDATE_MB_TYPE_BIDIR_I){

libavcodec/motion_est.c:1264:1: Parameter `ref_index`
  1262. }
  1263. 
  1264. static int ff_estimate_motion_b(MpegEncContext * s,
        ^
  1265.                        int mb_x, int mb_y, int16_t (*mv_table)[2], int ref_index, int f_code)
  1266. {

libavcodec/motion_est.c:1322:16: Call
  1320.         }
  1321. 
  1322.         dmin = ff_epzs_motion_search(s, &mx, &my, P, 0, ref_index, s->p_mv_table, mv_scale, 0, 16);
                       ^
  1323. 
  1324.         break;

libavcodec/motion_est_template.c:975:1: Parameter `ref_index`
    973. 
    974. //this function is dedicated to the braindamaged gcc
    975. inline int ff_epzs_motion_search(MpegEncContext * s, int *mx_ptr, int *my_ptr,
         ^
    976.                              int P[10][2], int src_index, int ref_index, int16_t (*last_mv)[2],
    977.                              int ref_mv_scale, int size, int h)

libavcodec/motion_est_template.c:982:16: Call
    980. //FIXME convert other functions in the same way if faster
    981.     if(c->flags==0 && h==16 && size==0){
    982.         return epzs_motion_search_internal(s, mx_ptr, my_ptr, P, src_index, ref_index, last_mv, ref_mv_scale, 0, 0, 16);
                        ^
    983. //    case FLAG_QPEL:
    984. //        return epzs_motion_search_internal(s, mx_ptr, my_ptr, P, src_index, ref_index, last_mv, ref_mv_scale, FLAG_QPEL);

libavcodec/motion_est_template.c:858:1: Parameter `ref_index`
      856.    optimal mv.
      857.  */
      858. static av_always_inline int epzs_motion_search_internal(MpegEncContext * s, int *mx_ptr, int *my_ptr,
           ^
      859.                              int P[10][2], int src_index, int ref_index, int16_t (*last_mv)[2],
      860.                              int ref_mv_scale, int flags, int size, int h)

libavcodec/motion_est_template.c:964:11: Call
      962. 
      963. //check(best[0],best[1],0, b0)
      964.     dmin= diamond_search(s, best, dmin, src_index, ref_index, penalty_factor, size, h, flags);
                     ^
      965. 
      966. //check(best[0],best[1],0, b1)

libavcodec/motion_est_template.c:830:1: Parameter `ref_index`
        828. }
        829. 
        830. static av_always_inline int diamond_search(MpegEncContext * s, int *best, int dmin,
             ^
        831.                                        int src_index, int ref_index, int const penalty_factor,
        832.                                        int size, int h, int flags){

libavcodec/motion_est_template.c:847:22: Call
        845.         return           hex_search(s, best, dmin, src_index, ref_index, penalty_factor, size, h, flags, c->dia_size&0xFF);
        846.     else if(c->dia_size>256)
        847.         return       l2s_dia_search(s, best, dmin, src_index, ref_index, penalty_factor, size, h, flags);
                                  ^
        848.     else
        849.         return   var_diamond_search(s, best, dmin, src_index, ref_index, penalty_factor, size, h, flags);

libavcodec/motion_est_template.c:532:1: Parameter `ref_index`
          530. }
          531. 
          532. static int l2s_dia_search(MpegEncContext * s, int *best, int dmin,
               ^
          533.                                        int src_index, int ref_index, int const penalty_factor,
          534.                                        int size, int h, int flags)

libavcodec/motion_est_template.c:555:17: Call
          553.             y= best[1];
          554.             for(i=0; i<8; i++){
          555.                 CHECK_CLIPPED_MV(x+hex[i][0]*dia_size, y+hex[i][1]*dia_size);
                               ^
          556.             }
          557.         }while(best[0] != x || best[1] != y);

libavcodec/motion_est.c:254:1: Parameter `ref_index`
            252.     against a proposed motion-compensated prediction of that block
            253.  */
            254. static av_always_inline int cmp(MpegEncContext *s, const int x, const int y, const int subx, const int suby,
                 ^
            255.                       const int size, const int h, int ref_index, int src_index,
            256.                       me_cmp_func cmp_func, me_cmp_func chroma_cmp_func, const int flags){

libavcodec/motion_est.c:263:16: Call
            261.     }else if(av_builtin_constant_p(subx) && av_builtin_constant_p(suby)
            262.        && subx==0 && suby==0){
            263.         return cmp_fpel_internal(s,x,y,size,h,ref_index,src_index, cmp_func, chroma_cmp_func,flags);
                                ^
            264.     }else{
            265.         return cmp_internal(s,x,y,subx,suby,size,h,ref_index,src_index, cmp_func, chroma_cmp_func, flags);

libavcodec/motion_est.c:231:1: Parameter `ref_index`
              229. }
              230. 
              231. static int cmp_fpel_internal(MpegEncContext *s, const int x, const int y,
                   ^
              232.                       const int size, const int h, int ref_index, int src_index,
              233.                       me_cmp_func cmp_func, me_cmp_func chroma_cmp_func, const int flags){

libavcodec/motion_est.c:235:16: Call
              233.                       me_cmp_func cmp_func, me_cmp_func chroma_cmp_func, const int flags){
              234.     if(flags&FLAG_DIRECT){
              235.         return cmp_direct_inline(s,x,y,0,0,size,h,ref_index,src_index, cmp_func, chroma_cmp_func, flags&FLAG_QPEL);
                                  ^
              236.     }else{
              237.         return cmp_inline(s,x,y,0,0,size,h,ref_index,src_index, cmp_func, chroma_cmp_func, 0, flags&FLAG_CHROMA);

libavcodec/motion_est.c:107:1: <Length trace>
105. }
106. 
107. static av_always_inline int cmp_direct_inline(MpegEncContext *s, const int x, const int y, const int subx, const int suby,
     ^
108.                       const int size, const int h, int ref_index, int src_index,
109.                       me_cmp_func cmp_func, me_cmp_func chroma_cmp_func, int qpel){

libavcodec/motion_est.c:107:1: Parameter `ref_index`
                105. }
                106. 
                107. static av_always_inline int cmp_direct_inline(MpegEncContext *s, const int x, const int y, const int subx, const int suby,
                     ^
                108.                       const int size, const int h, int ref_index, int src_index,
                109.                       me_cmp_func cmp_func, me_cmp_func chroma_cmp_func, int qpel){

libavcodec/motion_est.c:114:5: Assignment
                112.     const int hx= subx + (x<<(1+qpel));
                113.     const int hy= suby + (y<<(1+qpel));
                114.     uint8_t * const * const ref= c->ref[ref_index];
                         ^
                115.     uint8_t * const * const src= c->src[src_index];
                116.     int d;

libavcodec/motion_est.c:136:50: Array access: Offset: 10 (⇐ 2 + 8) Size: 4 by call to `ff_estimate_motion_b` 
                134.                     if(qpel){
                135.                         c->qpel_put[1][fxy](dst, ref[0] + (fx>>2) + (fy>>2)*stride, stride);
                136.                         c->qpel_avg[1][bxy](dst, ref[8] + (bx>>2) + (by>>2)*stride, stride);
                                                                      ^
                137.                     }else{
                138.                         c->hpel_put[1][fxy](dst, ref[0] + (fx>>1) + (fy>>1)*stride, stride, 8);
