diff options
| author | Marcin Bukat <marcin.bukat@gmail.com> | 2012-11-02 13:03:58 +0100 |
|---|---|---|
| committer | Marcin Bukat <marcin.bukat@gmail.com> | 2012-11-13 18:13:10 +0100 |
| commit | 0ceaff2b65c50b75ad8cc5b2d12e7b3f864092e5 (patch) | |
| tree | 49d8d297cbba93902bc612a9aa4ded1b6e2d46e5 /apps/plugins/imageviewer/image_decoder.c | |
| parent | b35f82c91ff050b4405b19a3e56e9d031bf940e2 (diff) | |
| download | rockbox-0ceaff2b65c50b75ad8cc5b2d12e7b3f864092e5.zip rockbox-0ceaff2b65c50b75ad8cc5b2d12e7b3f864092e5.tar.gz rockbox-0ceaff2b65c50b75ad8cc5b2d12e7b3f864092e5.tar.bz2 rockbox-0ceaff2b65c50b75ad8cc5b2d12e7b3f864092e5.tar.xz | |
imageviewer: gif viewer based on giflib-5.0.2
This adds ability to view gif images in rockbox.
Works both on color and gray/monochrome targets (greylib).
Aspect correction is supported as well.
Limitations:
- animated gifs are restricted to 32 frames
- animated gifs loop always (loopcount is ignored)
- plain text extension is not supported
- animated gifs with interframe delay = 0 are treated as still
images (web browsers usually treat delay 0 as 100ms to prevent
exhaustive CPU load by such images)
Change-Id: I61501f801ddcd403410e38d83e6bddc9883e7ede
Diffstat (limited to 'apps/plugins/imageviewer/image_decoder.c')
| -rw-r--r-- | apps/plugins/imageviewer/image_decoder.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/apps/plugins/imageviewer/image_decoder.c b/apps/plugins/imageviewer/image_decoder.c index 416bda9..eab1c01 100644 --- a/apps/plugins/imageviewer/image_decoder.c +++ b/apps/plugins/imageviewer/image_decoder.c @@ -28,8 +28,9 @@ static const char *decoder_names[MAX_IMAGE_TYPES] = { "jpeg", "png", #ifdef HAVE_LCD_COLOR - "ppm" + "ppm", #endif + "gif" }; /* Check file type by magic number or file extension @@ -53,6 +54,7 @@ enum image_type get_image_type(const char *name, bool quiet) #ifdef HAVE_LCD_COLOR { ".ppm", IMAGE_PPM }, #endif + { ".gif", IMAGE_GIF }, }; static const struct { char *magic; /* magic number */ @@ -66,6 +68,8 @@ enum image_type get_image_type(const char *name, bool quiet) { "P3", 2, IMAGE_PPM }, { "P6", 2, IMAGE_PPM }, #endif + { "GIF87a", 6, IMAGE_GIF }, + { "GIF89a", 6, IMAGE_GIF }, }; enum image_type type = IMAGE_UNKNOWN; |