#ifdef CONFIG_LCD_LOGO
#include <bmp_logo.h>
#include <bmp_logo_data.h>
-#if (CONSOLE_COLOR_WHITE >= BMP_LOGO_OFFSET) && (LCD_BPP != LCD_COLOR16)
+#if (CONSOLE_COLOR_WHITE >= BMP_LOGO_OFFSET) && (LCD_BPP < LCD_COLOR16)
#error Default Color Map overlaps with Logo Color Map
#endif
#endif
hdr_size = get_unaligned_le16(&bmp->header.size);
debug("hdr_size=%d, bmp_bpix=%d\n", hdr_size, bmp_bpix);
- colors = 1 << bmp_bpix;
+ colors = 1ULL << bmp_bpix;
bpix = NBITS(panel_info.vl_bpix);
return 1;
}
- debug("Display-bmp: %lu x %lu with %llu colors, display %d\n",
- width, height, colors, NBITS(bmp_bpix));
+ debug("Display-bmp: %lu x %lu with %llu colors, display %llu\n",
+ width, height, colors, 1ULL << bpix);
if (bmp_bpix == 8)
lcd_set_cmap(bmp, colors);
*(uint16_t *)fb = val;
bmap++;
fb += sizeof(uint16_t) / sizeof(*fb);
- } else {
- FB_PUT_BYTE(fb, bmap);
}
}
if (bpix > 8) {
}
break;
#endif /* CONFIG_BMP_16BPP */
-#if defined(CONFIG_BMP_24BMP)
+#if defined(CONFIG_BMP_24BPP)
case 24:
for (i = 0; i < height; ++i) {
for (j = 0; j < width; j++) {