From 783e37f7ef3b3cdcfe7aa927a25b4184ae46cd53 Mon Sep 17 00:00:00 2001 From: Xi Wang Date: Thu, 17 Jan 2013 01:24:15 -0500 Subject: rv30: fix masking in rv30_loop_filter() The mask `x && (1 << y)' is incorrect and always yields true. The correct form should be `x & (1 << y)'. CC: libav-stable@libav.org Signed-off-by: Xi Wang Signed-off-by: Luca Barbato --- libavcodec/rv30.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libavcodec/rv30.c') diff --git a/libavcodec/rv30.c b/libavcodec/rv30.c index e4f3251047..3c3579b565 100644 --- a/libavcodec/rv30.c +++ b/libavcodec/rv30.c @@ -182,7 +182,7 @@ static void rv30_loop_filter(RV34DecContext *r, int row) for(i = !mb_x; i < 2; i++, C += 4){ int ij = i + (j >> 1); loc_lim = 0; - if(cur_cbp && (1 << ij)) + if (cur_cbp & (1 << ij)) loc_lim = cur_lim; else if(!i && left_cbp & (1 << (ij + 1))) loc_lim = left_lim; @@ -224,7 +224,7 @@ static void rv30_loop_filter(RV34DecContext *r, int row) for(i = 0; i < 2; i++, C += 4){ int ij = i + (j >> 1); loc_lim = 0; - if(r->cbp_chroma[mb_pos] && (1 << ij)) + if (r->cbp_chroma[mb_pos] & (1 << ij)) loc_lim = cur_lim; else if(!j && top_cbp & (1 << (ij + 2))) loc_lim = top_lim; -- cgit v1.2.3