diff options
author | Wolfgang Denk <wd@denx.de> | 2008-07-31 17:50:37 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-07-31 17:50:37 +0200 |
commit | 2bb6a1044f49614f4c68dba7ca2352c44d3f1f82 (patch) | |
tree | e53bba1c03fa01387b335f193be75f2f62f2b3fb /common/lcd.c | |
parent | c37207d7f51e19c17f859966f314e27cc1231801 (diff) | |
parent | a48311557db6e7e9473a6163b44bb1e6c6ed64c4 (diff) |
Merge branch 'master' of ssh://10.10.0.7/home/wd/git/u-boot/master
Diffstat (limited to 'common/lcd.c')
-rw-r--r-- | common/lcd.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/common/lcd.c b/common/lcd.c index eec1f53b0a7..3bbc7bafaf1 100644 --- a/common/lcd.c +++ b/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); } |