Revision 16b802fe libavcodec/h264.h

View differences:

libavcodec/h264.h
995 995
                AV_WN32A(&h->ref_cache[list][scan8[0] + 0 - 1*8], ((top_type ? LIST_NOT_USED : PART_NOT_AVAILABLE)&0xFF)*0x01010101);
996 996
            }
997 997

  
998
            if(mb_type & (MB_TYPE_16x8|MB_TYPE_8x8)){
998 999
            for(i=0; i<2; i++){
999 1000
                int cache_idx = scan8[0] - 1 + i*2*8;
1000 1001
                if(USES_LIST(left_type[i], list)){
......
1011 1012
                    h->ref_cache[list][cache_idx+8]= (left_type[i]) ? LIST_NOT_USED : PART_NOT_AVAILABLE;
1012 1013
                }
1013 1014
            }
1015
            }else{
1016
                if(USES_LIST(left_type[0], list)){
1017
                    const int b_xy= h->mb2b_xy[left_xy[0]] + 3;
1018
                    const int b8_xy= 4*left_xy[0] + 1;
1019
                    AV_COPY32(h->mv_cache[list][scan8[0] - 1], s->current_picture.motion_val[list][b_xy + h->b_stride*left_block[0]]);
1020
                    h->ref_cache[list][scan8[0] - 1]= s->current_picture.ref_index[list][b8_xy + (left_block[0]&~1)];
1021
                }else{
1022
                    AV_ZERO32(h->mv_cache [list][scan8[0] - 1]);
1023
                    h->ref_cache[list][scan8[0] - 1]= left_type[0] ? LIST_NOT_USED : PART_NOT_AVAILABLE;
1024
                }
1025
            }
1014 1026

  
1015 1027
            if(USES_LIST(topright_type, list)){
1016 1028
                const int b_xy= h->mb2b_xy[topright_xy] + 3*h->b_stride;

Also available in: Unified diff