summaryrefslogtreecommitdiff
path: root/apps/plugins/lib
diff options
context:
space:
mode:
authorAndrew Mahone <andrew.mahone@gmail.com>2009-06-19 02:56:00 +0000
committerAndrew Mahone <andrew.mahone@gmail.com>2009-06-19 02:56:00 +0000
commit6a0d931f383259b4b82fcfd1cc87700f53bbcb02 (patch)
tree04960b8122f35101bb31603af084536f307e0ae1 /apps/plugins/lib
parent4c58ad26ba462309f95790c32421130a73909f05 (diff)
downloadrockbox-6a0d931f383259b4b82fcfd1cc87700f53bbcb02.tar.gz
rockbox-6a0d931f383259b4b82fcfd1cc87700f53bbcb02.zip
Core JPEG decoder improvements:
For >8-point vertical IDCT, transpose the coefficients while decoding them, so that the vertical IDCT can read in rows rather than columns. This improves speed a bit for this size even using the C IDCT. Remove inline ARM asm, replacing it with an external file containing pure asm IDCT functions. Add jpeg_ prefix to JPEG IDCT functions since some of them will now be visible globally. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21345 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/lib')
-rw-r--r--apps/plugins/lib/SOURCES3
-rw-r--r--apps/plugins/lib/pluginlib_jpeg_idct_arm.S24
2 files changed, 27 insertions, 0 deletions
diff --git a/apps/plugins/lib/SOURCES b/apps/plugins/lib/SOURCES
index 7211109271..2ed38c4f8b 100644
--- a/apps/plugins/lib/SOURCES
+++ b/apps/plugins/lib/SOURCES
@@ -27,6 +27,9 @@ playergfx.c
27profile_plugin.c 27profile_plugin.c
28#endif 28#endif
29#ifdef HAVE_LCD_BITMAP 29#ifdef HAVE_LCD_BITMAP
30#ifdef CPU_ARM
31pluginlib_jpeg_idct_arm.S
32#endif
30pluginlib_jpeg_mem.c 33pluginlib_jpeg_mem.c
31pluginlib_resize.c 34pluginlib_resize.c
32#ifndef HAVE_JPEG 35#ifndef HAVE_JPEG
diff --git a/apps/plugins/lib/pluginlib_jpeg_idct_arm.S b/apps/plugins/lib/pluginlib_jpeg_idct_arm.S
new file mode 100644
index 0000000000..5e6149d59f
--- /dev/null
+++ b/apps/plugins/lib/pluginlib_jpeg_idct_arm.S
@@ -0,0 +1,24 @@
1/***************************************************************************
2* __________ __ ___.
3* Open \______ \ ____ ____ | | _\_ |__ _______ ___
4* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7* \/ \/ \/ \/ \/
8* $Id$
9*
10* Copyright (C) 2009 by Andrew Mahone
11*
12* This is a wrapper for the core jpeg_idct_arm.S
13*
14* This program is free software; you can redistribute it and/or
15* modify it under the terms of the GNU General Public License
16* as published by the Free Software Foundation; either version 2
17* of the License, or (at your option) any later version.
18*
19* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
20* KIND, either express or implied.
21*
22****************************************************************************/
23
24#include "recorder/jpeg_idct_arm.S"