diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2008-12-22 15:54:27 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2008-12-22 15:54:27 +0000 |
commit | 60c6ba7aea209084d52cfc95462e1fc06ca09cf8 (patch) | |
tree | 56d47cf72bcaebc8177526b3ae76daa9cfbab6c5 /libavcodec/h264.c | |
parent | 127a20e3b8a38452b4ccedbd368281e1d3f3ce54 (diff) | |
download | ffmpeg-60c6ba7aea209084d52cfc95462e1fc06ca09cf8.tar.gz |
Simplify ifs(), 8 cpu cycles faster on pentium dual
Originally committed as revision 16273 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/h264.c')
-rw-r--r-- | libavcodec/h264.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 7605958a36..2b5f034e17 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -135,26 +135,18 @@ static void fill_caches(H264Context *h, int mb_type, int for_deblock){ 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) { |