summaryrefslogtreecommitdiff
path: root/libavcodec/interplayvideo.c
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2009-03-31 13:30:42 +0000
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2009-03-31 13:30:42 +0000
commit0312b77ccdef432780f67dbf186150abdac287bf (patch)
treeec65f303618010412da54f067eece618ac6500a3 /libavcodec/interplayvideo.c
parent51e350284d800911ccefd1cc061d6211d0960766 (diff)
downloadffmpeg-0312b77ccdef432780f67dbf186150abdac287bf.tar.gz
Slightly simplify part of ipvideo_decode_block_opcode_0x8
Originally committed as revision 18264 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/interplayvideo.c')
-rw-r--r--libavcodec/interplayvideo.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/libavcodec/interplayvideo.c b/libavcodec/interplayvideo.c
index fd0e706e5e..1dc5242a22 100644
--- a/libavcodec/interplayvideo.c
+++ b/libavcodec/interplayvideo.c
@@ -306,14 +306,15 @@ static int ipvideo_decode_block_opcode_0x8(IpvideoContext *s)
/* need 10 more bytes */
CHECK_STREAM_PTR(10);
- B[0] = *s->stream_ptr++; B[1] = *s->stream_ptr++;
- B[2] = *s->stream_ptr++; B[3] = *s->stream_ptr++;
- P[2] = *s->stream_ptr++; P[3] = *s->stream_ptr++;
- B[4] = *s->stream_ptr++; B[5] = *s->stream_ptr++;
- B[6] = *s->stream_ptr++; B[7] = *s->stream_ptr++;
if (P[2] <= P[3]) {
+ B[0] = *s->stream_ptr++; B[1] = *s->stream_ptr++;
+ B[2] = *s->stream_ptr++; B[3] = *s->stream_ptr++;
+ P[2] = *s->stream_ptr++; P[3] = *s->stream_ptr++;
+ B[4] = *s->stream_ptr++; B[5] = *s->stream_ptr++;
+ B[6] = *s->stream_ptr++; B[7] = *s->stream_ptr++;
+
/* vertical split; left & right halves are 2-color encoded */
for (y = 0; y < 8; y++) {
@@ -355,18 +356,15 @@ static int ipvideo_decode_block_opcode_0x8(IpvideoContext *s)
for (y = 0; y < 8; y++) {
int bitmask;
- flags = B[y];
- if (y == 0) {
- P0 = P[0];
- P1 = P[1];
- } else if (y == 4) {
- P0 = P[2];
- P1 = P[3];
+ if (y == 4) {
+ P[0] = *s->stream_ptr++;
+ P[1] = *s->stream_ptr++;
}
+ flags = *s->stream_ptr++;
for (bitmask = 0x01; bitmask <= 0x80; bitmask <<= 1) {
- *s->pixel_ptr++ = flags & bitmask ? P1 : P0;
+ *s->pixel_ptr++ = P[!!(flags & bitmask)];
}
s->pixel_ptr += s->line_inc;
}