Optimize pred_pskip_motion()
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 24 Dec 2008 03:23:38 +0000 (03:23 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 24 Dec 2008 03:23:38 +0000 (03:23 +0000)
7 cpu cycles faster on pentium dual.

Originally committed as revision 16304 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/h264.c

index ccae2bb..fc68998 100644 (file)
@@ -873,8 +873,8 @@ static inline void pred_pskip_motion(H264Context * const h, int * const mx, int
     tprintf(h->s.avctx, "pred_pskip: (%d) (%d) at %2d %2d\n", top_ref, left_ref, h->s.mb_x, h->s.mb_y);
 
     if(top_ref == PART_NOT_AVAILABLE || left_ref == PART_NOT_AVAILABLE
-       || (top_ref == 0  && *(uint32_t*)h->mv_cache[0][ scan8[0] - 8 ] == 0)
-       || (left_ref == 0 && *(uint32_t*)h->mv_cache[0][ scan8[0] - 1 ] == 0)){
+       || !( top_ref | *(uint32_t*)h->mv_cache[0][ scan8[0] - 8 ])
+       || !(left_ref | *(uint32_t*)h->mv_cache[0][ scan8[0] - 1 ])){
 
         *mx = *my = 0;
         return;