]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
Avoid the last two uses of bitmasks in interplayvideo
authorreimar <reimar@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Tue, 31 Mar 2009 14:48:14 +0000 (14:48 +0000)
committerreimar <reimar@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Tue, 31 Mar 2009 14:48:14 +0000 (14:48 +0000)
git-svn-id: file:///var/local/repositories/ffmpeg/trunk@18272 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavcodec/interplayvideo.c

index 07f73bb4d29bb66aef597b84698251d889252235..3062339d00c77e46b6d1a8acbf33a73247670c64 100644 (file)
@@ -212,9 +212,9 @@ static int ipvideo_decode_block_opcode_0x7(IpvideoContext *s)
         CHECK_STREAM_PTR(8);
 
         for (y = 0; y < 8; y++) {
-            flags = *s->stream_ptr++;
-            for (x = 0x01; x <= 0x80; x <<= 1) {
-                *s->pixel_ptr++ = P[!!(flags & x)];
+            flags = *s->stream_ptr++ | 0x100;
+            for (; flags != 1; flags >>= 1) {
+                *s->pixel_ptr++ = P[flags & 1];
             }
             s->pixel_ptr += s->line_inc;
         }
@@ -354,17 +354,15 @@ static int ipvideo_decode_block_opcode_0x8(IpvideoContext *s)
             /* horizontal split; top & bottom halves are 2-color encoded */
 
             for (y = 0; y < 8; y++) {
-                int bitmask;
-
                 if (y == 4) {
                     P[0] = *s->stream_ptr++;
                     P[1] = *s->stream_ptr++;
                 }
-                flags = *s->stream_ptr++;
+                flags = *s->stream_ptr++ | 0x100;
 
-                for (bitmask = 0x01; bitmask <= 0x80; bitmask <<= 1) {
+                for (; flags != 1; flags >>= 1) {
 
-                    *s->pixel_ptr++ = P[!!(flags & bitmask)];
+                    *s->pixel_ptr++ = P[flags & 1];
                 }
                 s->pixel_ptr += s->line_inc;
             }