summaryrefslogtreecommitdiff
path: root/libavcodec/lcldec.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/lcldec.c')
-rw-r--r--libavcodec/lcldec.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libavcodec/lcldec.c b/libavcodec/lcldec.c
index 702e572558..9589b93b8d 100644
--- a/libavcodec/lcldec.c
+++ b/libavcodec/lcldec.c
@@ -88,10 +88,10 @@ static unsigned int mszh_decomp(const unsigned char * srcptr, int srclen, unsign
while (srcptr < srcptr_end && destptr < destptr_end) {
if (maskbit == 0) {
mask = *srcptr++;
- maskbit = 8;
+ maskbit = 0x80;
continue;
}
- if ((mask & (1 << (--maskbit))) == 0) {
+ if (!(mask & maskbit)) {
memcpy(destptr, srcptr, 4);
destptr += 4;
srcptr += 4;
@@ -104,6 +104,7 @@ static unsigned int mszh_decomp(const unsigned char * srcptr, int srclen, unsign
av_memcpy_backptr(destptr, ofs, cnt);
destptr += cnt;
}
+ maskbit >>= 1;
}
return destptr - destptr_bak;