libavcodec/h264.h:1300: error: Buffer Overrun L1
  Offset: [2, `h->list_count` + 19] (⇐ [2, 20] + [0, `h->list_count` - 1]) Size: 2.

libavcodec/h264.h:1130:1: <Offset trace>
1128.  * @returns non zero if the loop filter can be skiped
1129.  */
1130. static int fill_filter_caches(H264Context *h, int mb_type){
      ^
1131.     MpegEncContext * const s = &h->s;
1132.     const int mb_xy= h->mb_xy;

libavcodec/h264.h:1130:1: Parameter `h->list_count`
1128.  * @returns non zero if the loop filter can be skiped
1129.  */
1130. static int fill_filter_caches(H264Context *h, int mb_type){
      ^
1131.     MpegEncContext * const s = &h->s;
1132.     const int mb_xy= h->mb_xy;

libavcodec/h264.h:1130:1: <Length trace>
1128.  * @returns non zero if the loop filter can be skiped
1129.  */
1130. static int fill_filter_caches(H264Context *h, int mb_type){
      ^
1131.     MpegEncContext * const s = &h->s;
1132.     const int mb_xy= h->mb_xy;

libavcodec/h264.h:1130:1: Parameter `h->ref2frm[*][*]`
1128.  * @returns non zero if the loop filter can be skiped
1129.  */
1130. static int fill_filter_caches(H264Context *h, int mb_type){
      ^
1131.     MpegEncContext * const s = &h->s;
1132.     const int mb_xy= h->mb_xy;

libavcodec/h264.h:1297:17: Assignment
1295.                 const int b_xy= h->mb2b_xy[top_xy] + 3*h->b_stride;
1296.                 const int b8_xy= h->mb2b8_xy[top_xy] + h->b8_stride;
1297.                 int (*ref2frm)[64] = h->ref2frm[ h->slice_table[top_xy]&(MAX_SLICES-1) ][0] + (MB_MBAFF ? 20 : 2);
                      ^
1298.                 AV_COPY128(h->mv_cache[list][scan8[0] + 0 - 1*8], s->current_picture.motion_val[list][b_xy + 0]);
1299.                 h->ref_cache[list][scan8[0] + 0 - 1*8]=

libavcodec/h264.h:1300:57: Array access: Offset: [2, h->list_count + 19] (⇐ [2, 20] + [0, h->list_count - 1]) Size: 2
1298.                 AV_COPY128(h->mv_cache[list][scan8[0] + 0 - 1*8], s->current_picture.motion_val[list][b_xy + 0]);
1299.                 h->ref_cache[list][scan8[0] + 0 - 1*8]=
1300.                 h->ref_cache[list][scan8[0] + 1 - 1*8]= ref2frm[list][s->current_picture.ref_index[list][b8_xy + 0]];
                                                              ^
1301.                 h->ref_cache[list][scan8[0] + 2 - 1*8]=
1302.                 h->ref_cache[list][scan8[0] + 3 - 1*8]= ref2frm[list][s->current_picture.ref_index[list][b8_xy + 1]];

static int fill_filter_caches(H264Context *h, int mb_type){
    MpegEncContext * const s = &h->s;
    const int mb_xy= h->mb_xy;
    int top_xy, left_xy[2];
    int top_type, left_type[2];
    int i;
    top_xy     = mb_xy  - (s->mb_stride << MB_FIELD);
    left_xy[1] = left_xy[0] = mb_xy-1;
    if(FRAME_MBAFF){
        const int left_mb_field_flag     = IS_INTERLACED(s->current_picture.mb_type[mb_xy-1]);
        const int curr_mb_field_flag     = IS_INTERLACED(mb_type);
        if(s->mb_y&1){
            if (left_mb_field_flag != curr_mb_field_flag) {
                left_xy[0] -= s->mb_stride;
            }
        }else{
            if(curr_mb_field_flag){
                top_xy      += s->mb_stride & (((s->current_picture.mb_type[top_xy    ]>>7)&1)-1);
            }
            if (left_mb_field_flag != curr_mb_field_flag) {
                left_xy[1] += s->mb_stride;
            }
        }
    }
    h->top_mb_xy = top_xy;
    h->left_mb_xy[0] = left_xy[0];
    h->left_mb_xy[1] = left_xy[1];
    {
        int qp_thresh = h->qp_thresh;
        int qp = s->current_picture.qscale_table[mb_xy];
        if(qp <= qp_thresh
           && (left_xy[0]<0 || ((qp + s->current_picture.qscale_table[left_xy[0]] + 1)>>1) <= qp_thresh)
           && (top_xy   < 0 || ((qp + s->current_picture.qscale_table[top_xy    ] + 1)>>1) <= qp_thresh)){
            if(!FRAME_MBAFF)
                return 1;
            if(   (left_xy[0]< 0            || ((qp + s->current_picture.qscale_table[left_xy[1]             ] + 1)>>1) <= qp_thresh)
               && (top_xy    < s->mb_stride || ((qp + s->current_picture.qscale_table[top_xy    -s->mb_stride] + 1)>>1) <= qp_thresh))
                return 1;
        }
    }
    if(h->deblocking_filter == 2){
        h->top_type    = top_type     = h->slice_table[top_xy     ] == h->slice_num ? s->current_picture.mb_type[top_xy]     : 0;
        h->left_type[0]= left_type[0] = h->slice_table[left_xy[0] ] == h->slice_num ? s->current_picture.mb_type[left_xy[0]] : 0;
        h->left_type[1]= left_type[1] = h->slice_table[left_xy[1] ] == h->slice_num ? s->current_picture.mb_type[left_xy[1]] : 0;
    }else{
        h->top_type    = top_type     = h->slice_table[top_xy     ] < 0xFFFF ? s->current_picture.mb_type[top_xy]     : 0;
        h->left_type[0]= left_type[0] = h->slice_table[left_xy[0] ] < 0xFFFF ? s->current_picture.mb_type[left_xy[0]] : 0;
        h->left_type[1]= left_type[1] = h->slice_table[left_xy[1] ] < 0xFFFF ? s->current_picture.mb_type[left_xy[1]] : 0;
    }
    if(IS_INTRA(mb_type))
        return 0;
    AV_COPY64(&h->non_zero_count_cache[0+8*1], &h->non_zero_count[mb_xy][ 0]);
    AV_COPY64(&h->non_zero_count_cache[0+8*2], &h->non_zero_count[mb_xy][ 8]);
    *((uint32_t*)&h->non_zero_count_cache[0+8*5])= *((uint32_t*)&h->non_zero_count[mb_xy][16]);
    *((uint32_t*)&h->non_zero_count_cache[4+8*3])= *((uint32_t*)&h->non_zero_count[mb_xy][20]);
    AV_COPY64(&h->non_zero_count_cache[0+8*4], &h->non_zero_count[mb_xy][24]);
    h->cbp= h->cbp_table[mb_xy];
    {
        int list;
        for(list=0; list<h->list_count; list++){
            int8_t *ref;
            int y, b_stride;
            int16_t (*mv_dst)[2];
            int16_t (*mv_src)[2];
            if(!USES_LIST(mb_type, list)){
                fill_rectangle(  h->mv_cache[list][scan8[0]], 4, 4, 8, pack16to32(0,0), 4);
                *(uint32_t*)&h->ref_cache[list][scan8[ 0]] =
                *(uint32_t*)&h->ref_cache[list][scan8[ 2]] =
                *(uint32_t*)&h->ref_cache[list][scan8[ 8]] =
                *(uint32_t*)&h->ref_cache[list][scan8[10]] = ((LIST_NOT_USED)&0xFF)*0x01010101;
                continue;
            }
            ref = &s->current_picture.ref_index[list][h->mb2b8_xy[mb_xy]];
            {
                int (*ref2frm)[64] = h->ref2frm[ h->slice_num&(MAX_SLICES-1) ][0] + (MB_MBAFF ? 20 : 2);
                *(uint32_t*)&h->ref_cache[list][scan8[ 0]] =
                *(uint32_t*)&h->ref_cache[list][scan8[ 2]] = (pack16to32(ref2frm[list][ref[0]],ref2frm[list][ref[1]])&0x00FF00FF)*0x0101;
                ref += h->b8_stride;
                *(uint32_t*)&h->ref_cache[list][scan8[ 8]] =
                *(uint32_t*)&h->ref_cache[list][scan8[10]] = (pack16to32(ref2frm[list][ref[0]],ref2frm[list][ref[1]])&0x00FF00FF)*0x0101;
            }
            b_stride = h->b_stride;
            mv_dst   = &h->mv_cache[list][scan8[0]];
            mv_src   = &s->current_picture.motion_val[list][4*s->mb_x + 4*s->mb_y*b_stride];
            for(y=0; y<4; y++){
                AV_COPY128(mv_dst + 8*y, mv_src + y*b_stride);
            }
        }
    }
    if(top_type){
        *(uint32_t*)&h->non_zero_count_cache[4+8*0]= *(uint32_t*)&h->non_zero_count[top_xy][4+3*8];
    }
    if(left_type[0]){
        h->non_zero_count_cache[3+8*1]= h->non_zero_count[left_xy[0]][7+0*8];
        h->non_zero_count_cache[3+8*2]= h->non_zero_count[left_xy[0]][7+1*8];
        h->non_zero_count_cache[3+8*3]= h->non_zero_count[left_xy[0]][7+2*8];
        h->non_zero_count_cache[3+8*4]= h->non_zero_count[left_xy[0]][7+3*8];
    }
    if(!CABAC && h->pps.transform_8x8_mode){
        if(IS_8x8DCT(top_type)){
            h->non_zero_count_cache[4+8*0]=
            h->non_zero_count_cache[5+8*0]= h->cbp_table[top_xy] & 4;
            h->non_zero_count_cache[6+8*0]=
            h->non_zero_count_cache[7+8*0]= h->cbp_table[top_xy] & 8;
        }
        if(IS_8x8DCT(left_type[0])){
            h->non_zero_count_cache[3+8*1]=
            h->non_zero_count_cache[3+8*2]= h->cbp_table[left_xy[0]]&2;
        }
        if(IS_8x8DCT(left_type[1])){
            h->non_zero_count_cache[3+8*3]=
            h->non_zero_count_cache[3+8*4]= h->cbp_table[left_xy[1]]&8;
        }
        if(IS_8x8DCT(mb_type)){
            h->non_zero_count_cache[scan8[0   ]]= h->non_zero_count_cache[scan8[1   ]]=
            h->non_zero_count_cache[scan8[2   ]]= h->non_zero_count_cache[scan8[3   ]]= h->cbp & 1;
            h->non_zero_count_cache[scan8[0+ 4]]= h->non_zero_count_cache[scan8[1+ 4]]=
            h->non_zero_count_cache[scan8[2+ 4]]= h->non_zero_count_cache[scan8[3+ 4]]= h->cbp & 2;
            h->non_zero_count_cache[scan8[0+ 8]]= h->non_zero_count_cache[scan8[1+ 8]]=
            h->non_zero_count_cache[scan8[2+ 8]]= h->non_zero_count_cache[scan8[3+ 8]]= h->cbp & 4;
            h->non_zero_count_cache[scan8[0+12]]= h->non_zero_count_cache[scan8[1+12]]=
            h->non_zero_count_cache[scan8[2+12]]= h->non_zero_count_cache[scan8[3+12]]= h->cbp & 8;
        }
    }
    if(IS_INTER(mb_type) || IS_DIRECT(mb_type)){
        int list;
        for(list=0; list<h->list_count; list++){
            if(USES_LIST(top_type, list)){
                const int b_xy= h->mb2b_xy[top_xy] + 3*h->b_stride;
                const int b8_xy= h->mb2b8_xy[top_xy] + h->b8_stride;
                int (*ref2frm)[64] = h->ref2frm[ h->slice_table[top_xy]&(MAX_SLICES-1) ][0] + (MB_MBAFF ? 20 : 2);
                AV_COPY128(h->mv_cache[list][scan8[0] + 0 - 1*8], s->current_picture.motion_val[list][b_xy + 0]);
                h->ref_cache[list][scan8[0] + 0 - 1*8]=
                h->ref_cache[list][scan8[0] + 1 - 1*8]= ref2frm[list][s->current_picture.ref_index[list][b8_xy + 0]];
                h->ref_cache[list][scan8[0] + 2 - 1*8]=
                h->ref_cache[list][scan8[0] + 3 - 1*8]= ref2frm[list][s->current_picture.ref_index[list][b8_xy + 1]];
            }else{
                AV_ZERO128(h->mv_cache[list][scan8[0] + 0 - 1*8]);
                *(uint32_t*)&h->ref_cache[list][scan8[0] + 0 - 1*8]= ((LIST_NOT_USED)&0xFF)*0x01010101;
            }
            if(!IS_INTERLACED(mb_type^left_type[0])){
                if(USES_LIST(left_type[0], list)){
                    const int b_xy= h->mb2b_xy[left_xy[0]] + 3;
                    const int b8_xy= h->mb2b8_xy[left_xy[0]] + 1;
                    int (*ref2frm)[64] = h->ref2frm[ h->slice_table[left_xy[0]]&(MAX_SLICES-1) ][0] + (MB_MBAFF ? 20 : 2);
                    *(uint32_t*)h->mv_cache[list][scan8[0] - 1 + 0 ]= *(uint32_t*)s->current_picture.motion_val[list][b_xy + h->b_stride*0];
                    *(uint32_t*)h->mv_cache[list][scan8[0] - 1 + 8 ]= *(uint32_t*)s->current_picture.motion_val[list][b_xy + h->b_stride*1];
                    *(uint32_t*)h->mv_cache[list][scan8[0] - 1 +16 ]= *(uint32_t*)s->current_picture.motion_val[list][b_xy + h->b_stride*2];
                    *(uint32_t*)h->mv_cache[list][scan8[0] - 1 +24 ]= *(uint32_t*)s->current_picture.motion_val[list][b_xy + h->b_stride*3];
                    h->ref_cache[list][scan8[0] - 1 + 0 ]=
                    h->ref_cache[list][scan8[0] - 1 + 8 ]= ref2frm[list][s->current_picture.ref_index[list][b8_xy + h->b8_stride*0]];
                    h->ref_cache[list][scan8[0] - 1 +16 ]=
                    h->ref_cache[list][scan8[0] - 1 +24 ]= ref2frm[list][s->current_picture.ref_index[list][b8_xy + h->b8_stride*1]];
                }else{
                    *(uint32_t*)h->mv_cache [list][scan8[0] - 1 + 0 ]=
                    *(uint32_t*)h->mv_cache [list][scan8[0] - 1 + 8 ]=
                    *(uint32_t*)h->mv_cache [list][scan8[0] - 1 +16 ]=
                    *(uint32_t*)h->mv_cache [list][scan8[0] - 1 +24 ]= 0;
                    h->ref_cache[list][scan8[0] - 1 + 0  ]=
                    h->ref_cache[list][scan8[0] - 1 + 8  ]=
                    h->ref_cache[list][scan8[0] - 1 + 16 ]=
                    h->ref_cache[list][scan8[0] - 1 + 24 ]= LIST_NOT_USED;
                }
            }
        }
    }
    return 0;
}
['static int fill_filter_caches(H264Context *h, int mb_type){\n    MpegEncContext * const s = &h->s;\n    const int mb_xy= h->mb_xy;\n    int top_xy, left_xy[2];\n    int top_type, left_type[2];\n    int i;\n    top_xy     = mb_xy  - (s->mb_stride << MB_FIELD);\n    left_xy[1] = left_xy[0] = mb_xy-1;\n    if(FRAME_MBAFF){\n        const int left_mb_field_flag     = IS_INTERLACED(s->current_picture.mb_type[mb_xy-1]);\n        const int curr_mb_field_flag     = IS_INTERLACED(mb_type);\n        if(s->mb_y&1){\n            if (left_mb_field_flag != curr_mb_field_flag) {\n                left_xy[0] -= s->mb_stride;\n            }\n        }else{\n            if(curr_mb_field_flag){\n                top_xy      += s->mb_stride & (((s->current_picture.mb_type[top_xy    ]>>7)&1)-1);\n            }\n            if (left_mb_field_flag != curr_mb_field_flag) {\n                left_xy[1] += s->mb_stride;\n            }\n        }\n    }\n    h->top_mb_xy = top_xy;\n    h->left_mb_xy[0] = left_xy[0];\n    h->left_mb_xy[1] = left_xy[1];\n    {\n        int qp_thresh = h->qp_thresh;\n        int qp = s->current_picture.qscale_table[mb_xy];\n        if(qp <= qp_thresh\n           && (left_xy[0]<0 || ((qp + s->current_picture.qscale_table[left_xy[0]] + 1)>>1) <= qp_thresh)\n           && (top_xy   < 0 || ((qp + s->current_picture.qscale_table[top_xy    ] + 1)>>1) <= qp_thresh)){\n            if(!FRAME_MBAFF)\n                return 1;\n            if(   (left_xy[0]< 0            || ((qp + s->current_picture.qscale_table[left_xy[1]             ] + 1)>>1) <= qp_thresh)\n               && (top_xy    < s->mb_stride || ((qp + s->current_picture.qscale_table[top_xy    -s->mb_stride] + 1)>>1) <= qp_thresh))\n                return 1;\n        }\n    }\n    if(h->deblocking_filter == 2){\n        h->top_type    = top_type     = h->slice_table[top_xy     ] == h->slice_num ? s->current_picture.mb_type[top_xy]     : 0;\n        h->left_type[0]= left_type[0] = h->slice_table[left_xy[0] ] == h->slice_num ? s->current_picture.mb_type[left_xy[0]] : 0;\n        h->left_type[1]= left_type[1] = h->slice_table[left_xy[1] ] == h->slice_num ? s->current_picture.mb_type[left_xy[1]] : 0;\n    }else{\n        h->top_type    = top_type     = h->slice_table[top_xy     ] < 0xFFFF ? s->current_picture.mb_type[top_xy]     : 0;\n        h->left_type[0]= left_type[0] = h->slice_table[left_xy[0] ] < 0xFFFF ? s->current_picture.mb_type[left_xy[0]] : 0;\n        h->left_type[1]= left_type[1] = h->slice_table[left_xy[1] ] < 0xFFFF ? s->current_picture.mb_type[left_xy[1]] : 0;\n    }\n    if(IS_INTRA(mb_type))\n        return 0;\n    AV_COPY64(&h->non_zero_count_cache[0+8*1], &h->non_zero_count[mb_xy][ 0]);\n    AV_COPY64(&h->non_zero_count_cache[0+8*2], &h->non_zero_count[mb_xy][ 8]);\n    *((uint32_t*)&h->non_zero_count_cache[0+8*5])= *((uint32_t*)&h->non_zero_count[mb_xy][16]);\n    *((uint32_t*)&h->non_zero_count_cache[4+8*3])= *((uint32_t*)&h->non_zero_count[mb_xy][20]);\n    AV_COPY64(&h->non_zero_count_cache[0+8*4], &h->non_zero_count[mb_xy][24]);\n    h->cbp= h->cbp_table[mb_xy];\n    {\n        int list;\n        for(list=0; list<h->list_count; list++){\n            int8_t *ref;\n            int y, b_stride;\n            int16_t (*mv_dst)[2];\n            int16_t (*mv_src)[2];\n            if(!USES_LIST(mb_type, list)){\n                fill_rectangle(  h->mv_cache[list][scan8[0]], 4, 4, 8, pack16to32(0,0), 4);\n                *(uint32_t*)&h->ref_cache[list][scan8[ 0]] =\n                *(uint32_t*)&h->ref_cache[list][scan8[ 2]] =\n                *(uint32_t*)&h->ref_cache[list][scan8[ 8]] =\n                *(uint32_t*)&h->ref_cache[list][scan8[10]] = ((LIST_NOT_USED)&0xFF)*0x01010101;\n                continue;\n            }\n            ref = &s->current_picture.ref_index[list][h->mb2b8_xy[mb_xy]];\n            {\n                int (*ref2frm)[64] = h->ref2frm[ h->slice_num&(MAX_SLICES-1) ][0] + (MB_MBAFF ? 20 : 2);\n                *(uint32_t*)&h->ref_cache[list][scan8[ 0]] =\n                *(uint32_t*)&h->ref_cache[list][scan8[ 2]] = (pack16to32(ref2frm[list][ref[0]],ref2frm[list][ref[1]])&0x00FF00FF)*0x0101;\n                ref += h->b8_stride;\n                *(uint32_t*)&h->ref_cache[list][scan8[ 8]] =\n                *(uint32_t*)&h->ref_cache[list][scan8[10]] = (pack16to32(ref2frm[list][ref[0]],ref2frm[list][ref[1]])&0x00FF00FF)*0x0101;\n            }\n            b_stride = h->b_stride;\n            mv_dst   = &h->mv_cache[list][scan8[0]];\n            mv_src   = &s->current_picture.motion_val[list][4*s->mb_x + 4*s->mb_y*b_stride];\n            for(y=0; y<4; y++){\n                AV_COPY128(mv_dst + 8*y, mv_src + y*b_stride);\n            }\n        }\n    }\n    if(top_type){\n        *(uint32_t*)&h->non_zero_count_cache[4+8*0]= *(uint32_t*)&h->non_zero_count[top_xy][4+3*8];\n    }\n    if(left_type[0]){\n        h->non_zero_count_cache[3+8*1]= h->non_zero_count[left_xy[0]][7+0*8];\n        h->non_zero_count_cache[3+8*2]= h->non_zero_count[left_xy[0]][7+1*8];\n        h->non_zero_count_cache[3+8*3]= h->non_zero_count[left_xy[0]][7+2*8];\n        h->non_zero_count_cache[3+8*4]= h->non_zero_count[left_xy[0]][7+3*8];\n    }\n    if(!CABAC && h->pps.transform_8x8_mode){\n        if(IS_8x8DCT(top_type)){\n            h->non_zero_count_cache[4+8*0]=\n            h->non_zero_count_cache[5+8*0]= h->cbp_table[top_xy] & 4;\n            h->non_zero_count_cache[6+8*0]=\n            h->non_zero_count_cache[7+8*0]= h->cbp_table[top_xy] & 8;\n        }\n        if(IS_8x8DCT(left_type[0])){\n            h->non_zero_count_cache[3+8*1]=\n            h->non_zero_count_cache[3+8*2]= h->cbp_table[left_xy[0]]&2;\n        }\n        if(IS_8x8DCT(left_type[1])){\n            h->non_zero_count_cache[3+8*3]=\n            h->non_zero_count_cache[3+8*4]= h->cbp_table[left_xy[1]]&8;\n        }\n        if(IS_8x8DCT(mb_type)){\n            h->non_zero_count_cache[scan8[0   ]]= h->non_zero_count_cache[scan8[1   ]]=\n            h->non_zero_count_cache[scan8[2   ]]= h->non_zero_count_cache[scan8[3   ]]= h->cbp & 1;\n            h->non_zero_count_cache[scan8[0+ 4]]= h->non_zero_count_cache[scan8[1+ 4]]=\n            h->non_zero_count_cache[scan8[2+ 4]]= h->non_zero_count_cache[scan8[3+ 4]]= h->cbp & 2;\n            h->non_zero_count_cache[scan8[0+ 8]]= h->non_zero_count_cache[scan8[1+ 8]]=\n            h->non_zero_count_cache[scan8[2+ 8]]= h->non_zero_count_cache[scan8[3+ 8]]= h->cbp & 4;\n            h->non_zero_count_cache[scan8[0+12]]= h->non_zero_count_cache[scan8[1+12]]=\n            h->non_zero_count_cache[scan8[2+12]]= h->non_zero_count_cache[scan8[3+12]]= h->cbp & 8;\n        }\n    }\n    if(IS_INTER(mb_type) || IS_DIRECT(mb_type)){\n        int list;\n        for(list=0; list<h->list_count; list++){\n            if(USES_LIST(top_type, list)){\n                const int b_xy= h->mb2b_xy[top_xy] + 3*h->b_stride;\n                const int b8_xy= h->mb2b8_xy[top_xy] + h->b8_stride;\n                int (*ref2frm)[64] = h->ref2frm[ h->slice_table[top_xy]&(MAX_SLICES-1) ][0] + (MB_MBAFF ? 20 : 2);\n                AV_COPY128(h->mv_cache[list][scan8[0] + 0 - 1*8], s->current_picture.motion_val[list][b_xy + 0]);\n                h->ref_cache[list][scan8[0] + 0 - 1*8]=\n                h->ref_cache[list][scan8[0] + 1 - 1*8]= ref2frm[list][s->current_picture.ref_index[list][b8_xy + 0]];\n                h->ref_cache[list][scan8[0] + 2 - 1*8]=\n                h->ref_cache[list][scan8[0] + 3 - 1*8]= ref2frm[list][s->current_picture.ref_index[list][b8_xy + 1]];\n            }else{\n                AV_ZERO128(h->mv_cache[list][scan8[0] + 0 - 1*8]);\n                *(uint32_t*)&h->ref_cache[list][scan8[0] + 0 - 1*8]= ((LIST_NOT_USED)&0xFF)*0x01010101;\n            }\n            if(!IS_INTERLACED(mb_type^left_type[0])){\n                if(USES_LIST(left_type[0], list)){\n                    const int b_xy= h->mb2b_xy[left_xy[0]] + 3;\n                    const int b8_xy= h->mb2b8_xy[left_xy[0]] + 1;\n                    int (*ref2frm)[64] = h->ref2frm[ h->slice_table[left_xy[0]]&(MAX_SLICES-1) ][0] + (MB_MBAFF ? 20 : 2);\n                    *(uint32_t*)h->mv_cache[list][scan8[0] - 1 + 0 ]= *(uint32_t*)s->current_picture.motion_val[list][b_xy + h->b_stride*0];\n                    *(uint32_t*)h->mv_cache[list][scan8[0] - 1 + 8 ]= *(uint32_t*)s->current_picture.motion_val[list][b_xy + h->b_stride*1];\n                    *(uint32_t*)h->mv_cache[list][scan8[0] - 1 +16 ]= *(uint32_t*)s->current_picture.motion_val[list][b_xy + h->b_stride*2];\n                    *(uint32_t*)h->mv_cache[list][scan8[0] - 1 +24 ]= *(uint32_t*)s->current_picture.motion_val[list][b_xy + h->b_stride*3];\n                    h->ref_cache[list][scan8[0] - 1 + 0 ]=\n                    h->ref_cache[list][scan8[0] - 1 + 8 ]= ref2frm[list][s->current_picture.ref_index[list][b8_xy + h->b8_stride*0]];\n                    h->ref_cache[list][scan8[0] - 1 +16 ]=\n                    h->ref_cache[list][scan8[0] - 1 +24 ]= ref2frm[list][s->current_picture.ref_index[list][b8_xy + h->b8_stride*1]];\n                }else{\n                    *(uint32_t*)h->mv_cache [list][scan8[0] - 1 + 0 ]=\n                    *(uint32_t*)h->mv_cache [list][scan8[0] - 1 + 8 ]=\n                    *(uint32_t*)h->mv_cache [list][scan8[0] - 1 +16 ]=\n                    *(uint32_t*)h->mv_cache [list][scan8[0] - 1 +24 ]= 0;\n                    h->ref_cache[list][scan8[0] - 1 + 0  ]=\n                    h->ref_cache[list][scan8[0] - 1 + 8  ]=\n                    h->ref_cache[list][scan8[0] - 1 + 16 ]=\n                    h->ref_cache[list][scan8[0] - 1 + 24 ]= LIST_NOT_USED;\n                }\n            }\n        }\n    }\n    return 0;\n}']