From 5a3ca098f75434a0ee88817e6acc92085fecacf4 Mon Sep 17 00:00:00 2001 From: LY3T <63326838+LY3T@users.noreply.github.com> Date: Wed, 2 Mar 2022 01:57:48 +0800 Subject: [PATCH] fix(jpg): swap high and low bytes when macro LV_COLOR_16_SWAP is 1 (#3138) --- src/extra/libs/sjpg/lv_sjpg.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/extra/libs/sjpg/lv_sjpg.c b/src/extra/libs/sjpg/lv_sjpg.c index a34df6a72..925bc4de1 100644 --- a/src/extra/libs/sjpg/lv_sjpg.c +++ b/src/extra/libs/sjpg/lv_sjpg.c @@ -766,7 +766,7 @@ static lv_res_t decoder_read_line(lv_img_decoder_t * decoder, lv_img_decoder_dsc uint16_t col_16bit = (*cache++ & 0xf8) << 8; col_16bit |= (*cache++ & 0xFC) << 3; col_16bit |= (*cache++ >> 3); -#if LV_BIG_ENDIAN_SYSTEM == 1 +#if LV_BIG_ENDIAN_SYSTEM == 1 || LV_COLOR_16_SWAP == 1 buf[offset++] = col_16bit >> 8; buf[offset++] = col_16bit & 0xff; #else @@ -830,7 +830,7 @@ static lv_res_t decoder_read_line(lv_img_decoder_t * decoder, lv_img_decoder_dsc uint16_t col_8bit = (*cache++ & 0xf8) << 8; col_8bit |= (*cache++ & 0xFC) << 3; col_8bit |= (*cache++ >> 3); -#if LV_BIG_ENDIAN_SYSTEM == 1 +#if LV_BIG_ENDIAN_SYSTEM == 1 || LV_COLOR_16_SWAP == 1 buf[offset++] = col_8bit >> 8; buf[offset++] = col_8bit & 0xff; #else