exr: simplify filling channel_buffer[]
authorPaul B Mahol <onemda@gmail.com>
Sun, 24 Feb 2013 12:28:22 +0000 (12:28 +0000)
committerPaul B Mahol <onemda@gmail.com>
Sun, 24 Feb 2013 14:27:39 +0000 (14:27 +0000)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavcodec/exr.c

index 83d1cc9..59144a2 100644 (file)
@@ -295,23 +295,18 @@ static int decode_block(AVCodecContext *avctx, void *tdata,
         }
     }
 
-    if (s->compr != EXR_RAW && data_size < uncompressed_size) {
+    if (data_size < uncompressed_size) {
         predictor(td->tmp, uncompressed_size);
         reorder_pixels(td->tmp, td->uncompressed_data, uncompressed_size);
-
-        channel_buffer[0] = td->uncompressed_data + xdelta * s->channel_offsets[0];
-        channel_buffer[1] = td->uncompressed_data + xdelta * s->channel_offsets[1];
-        channel_buffer[2] = td->uncompressed_data + xdelta * s->channel_offsets[2];
-        if (s->channel_offsets[3] >= 0)
-            channel_buffer[3] = td->uncompressed_data + xdelta * s->channel_offsets[3];
-    } else {
-        channel_buffer[0] = src + xdelta * s->channel_offsets[0];
-        channel_buffer[1] = src + xdelta * s->channel_offsets[1];
-        channel_buffer[2] = src + xdelta * s->channel_offsets[2];
-        if (s->channel_offsets[3] >= 0)
-            channel_buffer[3] = src + xdelta * s->channel_offsets[3];
+        src = td->uncompressed_data;
     }
 
+    channel_buffer[0] = src + xdelta * s->channel_offsets[0];
+    channel_buffer[1] = src + xdelta * s->channel_offsets[1];
+    channel_buffer[2] = src + xdelta * s->channel_offsets[2];
+    if (s->channel_offsets[3] >= 0)
+        channel_buffer[3] = src + xdelta * s->channel_offsets[3];
+
     ptr = p->data[0] + line * p->linesize[0];
     for (i = 0; i < s->scan_lines_per_block && line + i <= s->ymax; i++, ptr += p->linesize[0]) {
         const uint8_t *r, *g, *b, *a;