Browse Source

Restructure if() in check_mv()

quite a bit faster

Originally committed as revision 21504 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.6
Michael Niedermayer 15 years ago
parent
commit
fabd704b37
1 changed files with 5 additions and 2 deletions
  1. +5
    -2
      libavcodec/h264_loopfilter.c

+ 5
- 2
libavcodec/h264_loopfilter.c View File

@@ -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] | 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 | 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; 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] | 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 | 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; 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] | 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 | 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) 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 1;
return 0; return 0;
} }
}


return v; return v;
} }


Loading…
Cancel
Save