From 374291fae7edd403c4f827e03348f69af3b737f1 Mon Sep 17 00:00:00 2001
From: Martin Vignali <martin.vignali@gmail.com>
Date: Wed, 16 Nov 2016 23:15:27 +0100
Subject: [PATCH] libavcodec/exr : fix channel size calculation for uint32
channel
uint32 need 4 bytes not 1.
Fix decoding when there is half/float and uint32 channel.
---
libavcodec/exr.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
@@ -1448,7 +1448,11 @@ static int decode_header(EXRContext *s)
channel->xsub = xsub;
channel->ysub = ysub;
- s->current_channel_offset += 1 << current_pixel_type;
+ if (current_pixel_type == EXR_HALF) {
+ s->current_channel_offset += 2;
+ } else {/* Float or UINT32 */
+ s->current_channel_offset += 4;
+ }
}
/* Check if all channels are set with an offset or if the channels
--
1.9.3 (Apple Git-50)