ReadWebP: fix for big-endian

Change-Id: I36b3c12ccf02eb5dad350c460387c0528fff8df3
This commit is contained in:
Pascal Massimino 2018-02-14 23:23:51 -08:00 committed by James Zern
parent 499c395a35
commit 3005237a5d

View File

@ -9,6 +9,10 @@
// //
// WebP decode. // WebP decode.
#ifdef HAVE_CONFIG_H
#include "webp/config.h"
#endif
#include "./webpdec.h" #include "./webpdec.h"
#include <stdio.h> #include <stdio.h>
@ -150,7 +154,11 @@ int ReadWebP(const uint8_t* const data, size_t data_size,
break; break;
} }
if (pic->use_argb) { if (pic->use_argb) {
#ifdef WORDS_BIGENDIAN
output_buffer->colorspace = MODE_ARGB;
#else
output_buffer->colorspace = MODE_BGRA; output_buffer->colorspace = MODE_BGRA;
#endif
output_buffer->u.RGBA.rgba = (uint8_t*)pic->argb; output_buffer->u.RGBA.rgba = (uint8_t*)pic->argb;
output_buffer->u.RGBA.stride = pic->argb_stride * sizeof(uint32_t); output_buffer->u.RGBA.stride = pic->argb_stride * sizeof(uint32_t);
output_buffer->u.RGBA.size = output_buffer->u.RGBA.stride * pic->height; output_buffer->u.RGBA.size = output_buffer->u.RGBA.stride * pic->height;