mjpegdec: fix undefined shift
authorVittorio Giovara <vittorio.giovara@gmail.com>
Wed, 5 Nov 2014 15:29:55 +0000 (10:29 -0500)
committerVittorio Giovara <vittorio.giovara@gmail.com>
Thu, 6 Nov 2014 15:44:46 +0000 (10:44 -0500)
Add a comment to explain the code.

CC: libav-stable@libav.org
Bug-Id: CID 1194388

libavcodec/mjpegdec.c

index d9a73d8..01e11be 100644 (file)
@@ -964,7 +964,9 @@ static int mjpeg_decode_scan_progressive_ac(MJpegDecodeContext *s, int ss,
         init_get_bits(&mb_bitmask_gb, mb_bitmask, s->mb_width * s->mb_height);
 
     if (!Al) {
-        s->coefs_finished[c] |= (1LL << (se + 1)) - (1LL << ss);
+        // s->coefs_finished is a bitmask for coefficients coded
+        // ss and se are parameters telling start and end coefficients
+        s->coefs_finished[c] |= (~0ULL >> (63 - (se - ss))) << ss;
         last_scan = !~s->coefs_finished[c];
     }