From fabd704b37b7a61ed2673bb34b0955774140ce1b Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 28 Jan 2010 10:38:43 +0000 Subject: [PATCH] Restructure if() in check_mv() quite a bit faster Originally committed as revision 21504 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/h264_loopfilter.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavcodec/h264_loopfilter.c b/libavcodec/h264_loopfilter.c index b99372b191..20f846dee4 100644 --- a/libavcodec/h264_loopfilter.c +++ b/libavcodec/h264_loopfilter.c @@ -430,12 +430,14 @@ static int check_mv(H264Context *h, long b_idx, long bn_idx, int mvy_limit){ v = h->ref_cache[0][b_idx] != h->ref_cache[0][bn_idx] | h->mv_cache[0][b_idx][0] - h->mv_cache[0][bn_idx][0] + 3 >= 7U | FFABS( h->mv_cache[0][b_idx][1] - h->mv_cache[0][bn_idx][1] ) >= mvy_limit; - if(h->list_count==2 && !v) + + if(h->list_count==2){ + if(!v) v = h->ref_cache[1][b_idx] != h->ref_cache[1][bn_idx] | h->mv_cache[1][b_idx][0] - h->mv_cache[1][bn_idx][0] + 3 >= 7U | FFABS( h->mv_cache[1][b_idx][1] - h->mv_cache[1][bn_idx][1] ) >= mvy_limit; - if(h->list_count==2 && v){ + if(v){ if(h->ref_cache[0][b_idx] != h->ref_cache[1][bn_idx] | h->mv_cache[0][b_idx][0] - h->mv_cache[1][bn_idx][0] + 3 >= 7U | FFABS( h->mv_cache[0][b_idx][1] - h->mv_cache[1][bn_idx][1] ) >= mvy_limit) @@ -446,6 +448,7 @@ static int check_mv(H264Context *h, long b_idx, long bn_idx, int mvy_limit){ return 1; return 0; } + } return v; }