Mercurial > libavcodec.hg
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)\ |