[FFmpeg-cvslog] r16273 - trunk/libavcodec/h264.c

michael subversion
Mon Dec 22 16:54:27 CET 2008


Author: michael
Date: Mon Dec 22 16:54:27 2008
New Revision: 16273

Log:
Simplify ifs(), 8 cpu cycles faster on pentium dual


Modified:
   trunk/libavcodec/h264.c

Modified: trunk/libavcodec/h264.c
==============================================================================
--- trunk/libavcodec/h264.c	(original)
+++ trunk/libavcodec/h264.c	Mon Dec 22 16:54:27 2008
@@ -135,26 +135,18 @@ static void fill_caches(H264Context *h, 
         const int curr_mb_frame_flag = !IS_INTERLACED(mb_type);
         const int bottom = (s->mb_y & 1);
         tprintf(s->avctx, "fill_caches: curr_mb_frame_flag:%d, left_mb_frame_flag:%d, topleft_mb_frame_flag:%d, top_mb_frame_flag:%d, topright_mb_frame_flag:%d\n", curr_mb_frame_flag, left_mb_frame_flag, topleft_mb_frame_flag, top_mb_frame_flag, topright_mb_frame_flag);
-        if (bottom
-                ? !curr_mb_frame_flag // bottom macroblock
-                : (!curr_mb_frame_flag && !top_mb_frame_flag) // top macroblock
-                ) {
+
+        if (!curr_mb_frame_flag && (bottom || !top_mb_frame_flag)){
             top_xy -= s->mb_stride;
         }
-        if (bottom
-                ? !curr_mb_frame_flag // bottom macroblock
-                : (!curr_mb_frame_flag && !topleft_mb_frame_flag) // top macroblock
-                ) {
+        if (!curr_mb_frame_flag && (bottom || !topleft_mb_frame_flag)){
             topleft_xy -= s->mb_stride;
         } else if(bottom && curr_mb_frame_flag && !left_mb_frame_flag) {
             topleft_xy += s->mb_stride;
             // take top left mv from the middle of the mb, as opposed to all other modes which use the bottom right partition
             topleft_partition = 0;
         }
-        if (bottom
-                ? !curr_mb_frame_flag // bottom macroblock
-                : (!curr_mb_frame_flag && !topright_mb_frame_flag) // top macroblock
-                ) {
+        if (!curr_mb_frame_flag && (bottom || !topright_mb_frame_flag)){
             topright_xy -= s->mb_stride;
         }
         if (left_mb_frame_flag != curr_mb_frame_flag) {




More information about the ffmpeg-cvslog mailing list