From: Carl Eugen Hoyos <[email protected]>

---
 Changelog           | 1 +
 libavcodec/sgidec.c | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/Changelog b/Changelog
index 0f52fd0..4ff92cb 100644
--- a/Changelog
+++ b/Changelog
@@ -5,6 +5,7 @@ version <next>:
 - compand audio filter
 - shuffleplanes filter
 - OpenEXR image decoder
+- support decoding 4 channel SGI images
 
 
 version 10:
diff --git a/libavcodec/sgidec.c b/libavcodec/sgidec.c
index 6aba04f..be1e1f3 100644
--- a/libavcodec/sgidec.c
+++ b/libavcodec/sgidec.c
@@ -205,8 +205,8 @@ static int decode_frame(AVCodecContext *avctx,
         avctx->pix_fmt = s->bytes_per_channel == 2 ? AV_PIX_FMT_GRAY16BE : 
AV_PIX_FMT_GRAY8;
     } else if (s->depth == SGI_RGB) {
         avctx->pix_fmt = s->bytes_per_channel == 2 ? AV_PIX_FMT_RGB48BE : 
AV_PIX_FMT_RGB24;
-    } else if (s->depth == SGI_RGBA && s->bytes_per_channel == 1) {
-        avctx->pix_fmt = AV_PIX_FMT_RGBA;
+    } else if (s->depth == SGI_RGBA) {
+        avctx->pix_fmt = s->bytes_per_channel == 2 ? AV_PIX_FMT_RGBA64BE : 
AV_PIX_FMT_RGBA;
     } else {
         av_log(avctx, AV_LOG_ERROR, "wrong picture format\n");
         return -1;
-- 
1.8.3.4 (Apple Git-47)

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to