History

Avoid the last two uses of bitmasks in interplayvideo

Originally committed as revision 18272 to svn://svn.ffmpeg.org/ffmpeg/trunk

Reimar Döffinger committed 17 years ago

Commit f02bd7e1 parent 3f300d71 file · +6 −8Browse files

Unified · Split

libavcodec/interplayvideo.c+6−8
@@ -212,9 +212,9 @@ static int ipvideo_decode_block_opcode_0x7(IpvideoContext *s) · 211 unmodified lines
212 CHECK_STREAM_PTR(8);212 CHECK_STREAM_PTR(8);
213 213
214 for (y = 0; y < 8; y++) {214 for (y = 0; y < 8; y++) {
215 flags = *s->stream_ptr++;215 flags = *s->stream_ptr++ | 0x100;
216 for (x = 0x01; x <= 0x80; x <<= 1) {216 for (; flags != 1; flags >>= 1) {
217 *s->pixel_ptr++ = P[!!(flags & x)];217 *s->pixel_ptr++ = P[flags & 1];
218 }218 }
219 s->pixel_ptr += s->line_inc;219 s->pixel_ptr += s->line_inc;
220 }220 }
@@ -354,17 +354,15 @@ static int ipvideo_decode_block_opcode_0x8(IpvideoContext *s) · 133 unmodified lines
354 /* horizontal split; top & bottom halves are 2-color encoded */354 /* horizontal split; top & bottom halves are 2-color encoded */
355 355
356 for (y = 0; y < 8; y++) {356 for (y = 0; y < 8; y++) {
357 int bitmask;
358
359 if (y == 4) {357 if (y == 4) {
360 P[0] = *s->stream_ptr++;358 P[0] = *s->stream_ptr++;
361 P[1] = *s->stream_ptr++;359 P[1] = *s->stream_ptr++;
362 }360 }
363 flags = *s->stream_ptr++;361 flags = *s->stream_ptr++ | 0x100;
364 362
365 for (bitmask = 0x01; bitmask <= 0x80; bitmask <<= 1) {363 for (; flags != 1; flags >>= 1) {
366 364
367 *s->pixel_ptr++ = P[!!(flags & bitmask)];365 *s->pixel_ptr++ = P[flags & 1];
368 }366 }
369 s->pixel_ptr += s->line_inc;367 s->pixel_ptr += s->line_inc;
370 }368 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t