# HG changeset patch # User michael # Date 1266075027 0 # Node ID 0f7dcfca7b2eb9bf629e4e4ccf27b8794b1a05cd # Parent 8bfe0dae50b2134597f2ddf46cee36250afa2986 Dont calculate any surrounding MVs for temporal MBs diff -r 8bfe0dae50b2 -r 0f7dcfca7b2e h264.h --- a/h264.h Sat Feb 13 13:28:04 2010 +0000 +++ b/h264.h Sat Feb 13 15:30:27 2010 +0000 @@ -947,7 +947,7 @@ } #if 1 - if(IS_INTER(mb_type) || IS_DIRECT(mb_type)){ + if(IS_INTER(mb_type) || (IS_DIRECT(mb_type) && h->direct_spatial_mv_pred)){ int list; for(list=0; listlist_count; list++){ if(!USES_LIST(mb_type, list) && !IS_DIRECT(mb_type)){ @@ -958,6 +958,8 @@ }*/ continue; } + assert(!(IS_DIRECT(mb_type) && !h->direct_spatial_mv_pred)); + h->mv_cache_clean[list]= 0; if(USES_LIST(top_type, list)){ @@ -990,9 +992,6 @@ } } - if((IS_DIRECT(mb_type) && !h->direct_spatial_mv_pred)) - continue; - if(USES_LIST(topleft_type, list)){ const int b_xy = h->mb2b_xy[topleft_xy] + 3 + h->b_stride + (topleft_partition & 2*h->b_stride); const int b8_xy= h->mb2b8_xy[topleft_xy] + 1 + (topleft_partition & h->b8_stride);