comparison h264.h @ 11155:dad947e53c52 libavcodec

Move more code under if(!IS_DIRECT(mb_type)).
author michael
date Sat, 13 Feb 2010 19:00:51 +0000
parents 9673c7b54598
children 81ef4df2c774
comparison
equal deleted inserted replaced
11154:c11bcf7e3e6b 11155:dad947e53c52
1013 } 1013 }
1014 1014
1015 if((IS_SKIP(mb_type) || IS_DIRECT(mb_type)) && !FRAME_MBAFF) 1015 if((IS_SKIP(mb_type) || IS_DIRECT(mb_type)) && !FRAME_MBAFF)
1016 continue; 1016 continue;
1017 1017
1018 if(!IS_DIRECT(mb_type)) {
1018 h->ref_cache[list][scan8[5 ]+1] = 1019 h->ref_cache[list][scan8[5 ]+1] =
1019 h->ref_cache[list][scan8[7 ]+1] = 1020 h->ref_cache[list][scan8[7 ]+1] =
1020 h->ref_cache[list][scan8[13]+1] = //FIXME remove past 3 (init somewhere else) 1021 h->ref_cache[list][scan8[13]+1] = //FIXME remove past 3 (init somewhere else)
1021 h->ref_cache[list][scan8[4 ]] = 1022 h->ref_cache[list][scan8[4 ]] =
1022 h->ref_cache[list][scan8[12]] = PART_NOT_AVAILABLE; 1023 h->ref_cache[list][scan8[12]] = PART_NOT_AVAILABLE;
1024 *(uint32_t*)h->mv_cache [list][scan8[7 ]+1]= 1025 *(uint32_t*)h->mv_cache [list][scan8[7 ]+1]=
1025 *(uint32_t*)h->mv_cache [list][scan8[13]+1]= //FIXME remove past 3 (init somewhere else) 1026 *(uint32_t*)h->mv_cache [list][scan8[13]+1]= //FIXME remove past 3 (init somewhere else)
1026 *(uint32_t*)h->mv_cache [list][scan8[4 ]]= 1027 *(uint32_t*)h->mv_cache [list][scan8[4 ]]=
1027 *(uint32_t*)h->mv_cache [list][scan8[12]]= 0; 1028 *(uint32_t*)h->mv_cache [list][scan8[12]]= 0;
1028 1029
1029 if( CABAC && !IS_DIRECT(mb_type)) { 1030 if( CABAC ) {
1030 /* XXX beurk, Load mvd */ 1031 /* XXX beurk, Load mvd */
1031 if(USES_LIST(top_type, list)){ 1032 if(USES_LIST(top_type, list)){
1032 const int b_xy= h->mb2b_xy[top_xy] + 3*h->b_stride; 1033 const int b_xy= h->mb2b_xy[top_xy] + 3*h->b_stride;
1033 AV_COPY128(h->mvd_cache[list][scan8[0] + 0 - 1*8], h->mvd_table[list][b_xy + 0]); 1034 AV_COPY128(h->mvd_cache[list][scan8[0] + 0 - 1*8], h->mvd_table[list][b_xy + 0]);
1034 }else{ 1035 }else{
1082 h->direct_cache[scan8[0] - 1 + 2*8]= h->direct_table[h->mb2b8_xy[left_xy[1]] + 1 + h->b8_stride*(left_block[2]>>1)]; 1083 h->direct_cache[scan8[0] - 1 + 2*8]= h->direct_table[h->mb2b8_xy[left_xy[1]] + 1 + h->b8_stride*(left_block[2]>>1)];
1083 else 1084 else
1084 h->direct_cache[scan8[0] - 1 + 2*8]= 0; 1085 h->direct_cache[scan8[0] - 1 + 2*8]= 0;
1085 } 1086 }
1086 } 1087 }
1087 1088 }
1088 if(FRAME_MBAFF){ 1089 if(FRAME_MBAFF){
1089 #define MAP_MVS\ 1090 #define MAP_MVS\
1090 MAP_F2F(scan8[0] - 1 - 1*8, topleft_type)\ 1091 MAP_F2F(scan8[0] - 1 - 1*8, topleft_type)\
1091 MAP_F2F(scan8[0] + 0 - 1*8, top_type)\ 1092 MAP_F2F(scan8[0] + 0 - 1*8, top_type)\
1092 MAP_F2F(scan8[0] + 1 - 1*8, top_type)\ 1093 MAP_F2F(scan8[0] + 1 - 1*8, top_type)\