Commit f02bd7e4 authored by Reimar Döffinger's avatar Reimar Döffinger

Avoid the last two uses of bitmasks in interplayvideo

Originally committed as revision 18272 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 3f300d7e
...@@ -212,9 +212,9 @@ static int ipvideo_decode_block_opcode_0x7(IpvideoContext *s) ...@@ -212,9 +212,9 @@ static int ipvideo_decode_block_opcode_0x7(IpvideoContext *s)
CHECK_STREAM_PTR(8); CHECK_STREAM_PTR(8);
for (y = 0; y < 8; y++) { for (y = 0; y < 8; y++) {
flags = *s->stream_ptr++; flags = *s->stream_ptr++ | 0x100;
for (x = 0x01; x <= 0x80; x <<= 1) { for (; flags != 1; flags >>= 1) {
*s->pixel_ptr++ = P[!!(flags & x)]; *s->pixel_ptr++ = P[flags & 1];
} }
s->pixel_ptr += s->line_inc; s->pixel_ptr += s->line_inc;
} }
...@@ -354,17 +354,15 @@ static int ipvideo_decode_block_opcode_0x8(IpvideoContext *s) ...@@ -354,17 +354,15 @@ static int ipvideo_decode_block_opcode_0x8(IpvideoContext *s)
/* horizontal split; top & bottom halves are 2-color encoded */ /* horizontal split; top & bottom halves are 2-color encoded */
for (y = 0; y < 8; y++) { for (y = 0; y < 8; y++) {
int bitmask;
if (y == 4) { if (y == 4) {
P[0] = *s->stream_ptr++; P[0] = *s->stream_ptr++;
P[1] = *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; s->pixel_ptr += s->line_inc;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment