Add gzipped logo support
The README file states that CONFIG_VIDEO_BMP_GZIP behaves as follows: If this option is set, additionally to standard BMP images, gzipped BMP images can be displayed via the splashscreen support or the bmp command. However, the splashscreen function *only* supports standard BMP images. This patch adds the documented gzip support. Signed-off-by: Mark Jackson <mpfj@mimc.co.uk>
This commit is contained in:
parent
a5bcb01fbd
commit
a48311557d
13
common/lcd.c
13
common/lcd.c
@ -740,6 +740,9 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_VIDEO_BMP_GZIP
|
||||
extern bmp_image_t *gunzip_bmp(unsigned long addr, unsigned long *lenp);
|
||||
#endif
|
||||
|
||||
static void *lcd_logo (void)
|
||||
{
|
||||
@ -761,6 +764,16 @@ static void *lcd_logo (void)
|
||||
addr = simple_strtoul(s, NULL, 16);
|
||||
do_splash = 0;
|
||||
|
||||
#ifdef CONFIG_VIDEO_BMP_GZIP
|
||||
bmp_image_t *bmp = (bmp_image_t *)addr;
|
||||
unsigned long len;
|
||||
|
||||
if (!((bmp->header.signature[0]=='B') &&
|
||||
(bmp->header.signature[1]=='M'))) {
|
||||
addr = (ulong)gunzip_bmp(addr, &len);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (lcd_display_bitmap (addr, 0, 0) == 0) {
|
||||
return ((void *)lcd_base);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user