summaryrefslogtreecommitdiff
path: root/apps/plugins/lib
diff options
context:
space:
mode:
authorAndrew Mahone <andrew.mahone@gmail.com>2009-05-08 03:46:48 +0000
committerAndrew Mahone <andrew.mahone@gmail.com>2009-05-08 03:46:48 +0000
commita75c72c169f64ecb0799934f1da148bdf497b8a9 (patch)
treeb0ad37ce0f6519bb44536a0bf6fc72fc76628542 /apps/plugins/lib
parentc91e73e922fc2a229c39a9b686d77d5cba47c95a (diff)
downloadrockbox-a75c72c169f64ecb0799934f1da148bdf497b8a9.zip
rockbox-a75c72c169f64ecb0799934f1da148bdf497b8a9.tar.gz
rockbox-a75c72c169f64ecb0799934f1da148bdf497b8a9.tar.bz2
rockbox-a75c72c169f64ecb0799934f1da148bdf497b8a9.tar.xz
Plugin JPEG decoder for data in memory, along with test_mem_jpeg.c and bench_mem_jpeg.c plugins to test and benchmark it, and a line-length clean up in jpeg_load.c.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20871 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/lib')
-rw-r--r--apps/plugins/lib/SOURCES3
-rw-r--r--apps/plugins/lib/jpeg_mem.h41
-rw-r--r--apps/plugins/lib/pluginlib_jpeg_mem.c29
3 files changed, 71 insertions, 2 deletions
diff --git a/apps/plugins/lib/SOURCES b/apps/plugins/lib/SOURCES
index 889fb79..21a35d4 100644
--- a/apps/plugins/lib/SOURCES
+++ b/apps/plugins/lib/SOURCES
@@ -27,9 +27,8 @@ playergfx.c
profile_plugin.c
#endif
#ifdef HAVE_LCD_BITMAP
-#if !defined(HAVE_BMP_SCALING) || !defined(HAVE_JPEG)
+pluginlib_jpeg_mem.c
pluginlib_resize.c
-#endif
#ifndef HAVE_JPEG
pluginlib_jpeg_load.c
#endif
diff --git a/apps/plugins/lib/jpeg_mem.h b/apps/plugins/lib/jpeg_mem.h
new file mode 100644
index 0000000..8636f70
--- /dev/null
+++ b/apps/plugins/lib/jpeg_mem.h
@@ -0,0 +1,41 @@
+/***************************************************************************
+* __________ __ ___.
+* Open \______ \ ____ ____ | | _\_ |__ _______ ___
+* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+* \/ \/ \/ \/ \/
+* $Id$
+*
+* Copyright (C) 2009 by Andrew Mahone
+*
+* Header for the in-memory JPEG decoder.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+* KIND, either express or implied.
+*
+****************************************************************************/
+
+#include "plugin.h"
+#include "resize.h"
+#include "bmp.h"
+#include "jpeg_common.h"
+
+#ifndef _JPEG_MEM_H
+#define _JPEG_MEM_H
+
+int get_jpeg_dim_mem(unsigned char *data, unsigned long len,
+ struct dim *size);
+
+int decode_jpeg_mem(unsigned char *data, unsigned long len,
+ struct bitmap *bm,
+ int maxsize,
+ int format,
+ const struct custom_format *cformat);
+
+#endif /* _JPEG_MEM_H */
diff --git a/apps/plugins/lib/pluginlib_jpeg_mem.c b/apps/plugins/lib/pluginlib_jpeg_mem.c
new file mode 100644
index 0000000..4a6c1bb
--- /dev/null
+++ b/apps/plugins/lib/pluginlib_jpeg_mem.c
@@ -0,0 +1,29 @@
+/***************************************************************************
+* __________ __ ___.
+* Open \______ \ ____ ____ | | _\_ |__ _______ ___
+* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+* \/ \/ \/ \/ \/
+* $Id$
+*
+* Copyright (C) 2009 by Andrew Mahone
+*
+* This is a wrapper for the core jpeg_load.c, to provide the from-memory
+* version of the decoder.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+* KIND, either express or implied.
+*
+****************************************************************************/
+
+#include <plugin.h>
+#include "wrappers.h"
+#define JPEG_FROM_MEM
+
+#include "../../recorder/jpeg_load.c"