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; }