diff options
author | Xi Wang <xi.wang@gmail.com> | 2013-01-17 01:24:15 -0500 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2013-01-17 21:55:27 +0100 |
commit | 783e37f7ef3b3cdcfe7aa927a25b4184ae46cd53 (patch) | |
tree | 66e590568c4df8f831540cc3f02686a51d2ac109 /libavcodec/rv30.c | |
parent | 80ac87c13dc8c6c063e26a464c5c542357c0583f (diff) | |
download | ffmpeg-783e37f7ef3b3cdcfe7aa927a25b4184ae46cd53.tar.gz |
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 <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diffstat (limited to 'libavcodec/rv30.c')
-rw-r--r-- | libavcodec/rv30.c | 4 |
1 files changed, 2 insertions, 2 deletions
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; |