Andrew Mahone
c8b67c3ca0
Flag EOF and empty buffer conditions as UNLIKELY in JPEG decoder.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20907 a1c6a512-1295-4272-9138-f99709370657
2009-05-11 00:16:57 +00:00
Andrew Mahone
b5c356be85
Fix a bug reading JPEG when the output data is smaller than sizeof(struct jpeg), and add more optional debugging output in the decoder.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20906 a1c6a512-1295-4272-9138-f99709370657
2009-05-11 00:16:48 +00:00
Bertrik Sikken
09085a30f6
Remove unneeded #include "backdrop.h"
...
Remove unneeded #include "statusbar.h"
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20891 a1c6a512-1295-4272-9138-f99709370657
2009-05-09 18:09:14 +00:00
Andrew Mahone
74e4d17910
Don't build 16-point IDCT on greyscale targets, since it's only used for chroma components.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20887 a1c6a512-1295-4272-9138-f99709370657
2009-05-09 10:32:13 +00:00
Andrew Mahone
59e70b50d8
Inline output_row_8_native when building bmp.c in core without HAVE_JPEG or HAVE_BMP_SCALING.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20886 a1c6a512-1295-4272-9138-f99709370657
2009-05-09 10:32:07 +00:00
Andrew Mahone
e3b1d78dfc
Fix test for direct JPEG output, bump plugin API as r20884 changed struct custom_format.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20885 a1c6a512-1295-4272-9138-f99709370657
2009-05-09 10:10:26 +00:00
Andrew Mahone
91efc16256
Split 8-bit-to-native conversion in bmp.c into a function, add support for plugging unscaled output in BMP and JPEG loaders, use output_row_8_native in JPEG decoder when possible.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20884 a1c6a512-1295-4272-9138-f99709370657
2009-05-09 07:31:27 +00:00
Andrew Mahone
7b81cd0caf
Convert Huffman decode from inline function to macro, for small code size saving on ARM and on Coldfire color, only finish DC decode on greyscale targets if decoding luma channel.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20874 a1c6a512-1295-4272-9138-f99709370657
2009-05-08 07:21:35 +00:00
Andrew Mahone
0af7494b37
Small size improvement for JPEG on ARM/Coldfire.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20873 a1c6a512-1295-4272-9138-f99709370657
2009-05-08 04:19:10 +00:00
Andrew Mahone
cda907435b
Fix red.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20872 a1c6a512-1295-4272-9138-f99709370657
2009-05-08 03:59:51 +00:00
Andrew Mahone
a75c72c169
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
2009-05-08 03:46:48 +00:00
Andrew Mahone
d2c1298e19
Never use upscaling IDCT for luma (to reduce blockiness), plus some small size optimizations by not calculating or storing scale factors or k_need/zero_need for chroma on greyscale.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20866 a1c6a512-1295-4272-9138-f99709370657
2009-05-07 08:32:17 +00:00
Andrew Mahone
5621fd393a
Build pictureflow using overlay on lowmem targets, support JPEG AA in PF on all targets.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20864 a1c6a512-1295-4272-9138-f99709370657
2009-05-07 01:23:13 +00:00
Andrew Mahone
eef7945a97
Move YUV->RGB in JPEG load from before scaler to after scaler. Required change to struct custom_format, so sorted the plugin API as well.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20856 a1c6a512-1295-4272-9138-f99709370657
2009-05-06 04:53:56 +00:00
Andrew Mahone
20f76d61ae
Make JPEG and BMP scaler optional with HAVE_JPEG and HAVE_BMP_SCALING, both defined for all targets that have HAVE_ALBUMART. Disable JPEG in PictureFlow and pluginlib album art search with 32KiB plugin buffer until PictureFlow
...
gets overlay support.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20851 a1c6a512-1295-4272-9138-f99709370657
2009-05-04 15:46:41 +00:00
Bertrik Sikken
ad031e903c
Make local function static in jpeg_load.c, add missing header file in read_image.c
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20848 a1c6a512-1295-4272-9138-f99709370657
2009-05-03 07:02:09 +00:00
Andrew Mahone
b40878043c
Fix AA search for file with same basename to test all extensions.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20838 a1c6a512-1295-4272-9138-f99709370657
2009-05-01 23:46:51 +00:00
Andrew Mahone
54e6eb3bda
Search for, and load, JPEG album art files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20837 a1c6a512-1295-4272-9138-f99709370657
2009-05-01 23:31:43 +00:00
Andrew Mahone
60d4209383
Add core JPEG reader, adapted from the JPEG plugin's decoder, with some changes to prevent include conflicts between the two decoders.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20836 a1c6a512-1295-4272-9138-f99709370657
2009-05-01 23:24:23 +00:00
Andrew Mahone
1541c313a0
Improve scaler reciprocal precision by 1 bit, and remove unused SC_NUM, SC_FIX, and SC_SHIFT.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20654 a1c6a512-1295-4272-9138-f99709370657
2009-04-08 06:25:06 +00:00
Thomas Martitz
842d2bc1c3
Some Sansa Fuze keymap work, enable line editing for the keyboard, copy from the e200 keymap mostly, but use the home key for some jobs (stopping playback, exiting some screens,i.e. what REC+POWER do on the e200 is only home on the fuze)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20578 a1c6a512-1295-4272-9138-f99709370657
2009-03-30 15:45:15 +00:00
Nicolas Pennequin
396aeafa6c
Correct Björn's name in various file headers.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20491 a1c6a512-1295-4272-9138-f99709370657
2009-03-23 17:08:46 +00:00
Rob Purchase
1a6bcfa2c1
D2: Enable FM radio (based on FS#10035 by Michael Burtin with some changes by myself). Also updates the LV24020 driver to add optional logf debugging.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20420 a1c6a512-1295-4272-9138-f99709370657
2009-03-21 00:13:20 +00:00
Jonas Häggqvist
cd34de693c
Invert albumart when LCD Mode is set to inverse.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20357 a1c6a512-1295-4272-9138-f99709370657
2009-03-19 17:43:53 +00:00
Andrew Mahone
f8877bf42d
small speedup for scaler on sh-1, via use of hardware multiply instruction where possible
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20322 a1c6a512-1295-4272-9138-f99709370657
2009-03-14 01:41:02 +00:00
Bertrik Sikken
4a70a076ed
Fix red.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20250 a1c6a512-1295-4272-9138-f99709370657
2009-03-08 20:57:37 +00:00
Jens Arnold
d8ff94121f
Get rid of a useless copy instruction in the SH1 32*32->64bit multiply routines (signed and unsigned).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20013 a1c6a512-1295-4272-9138-f99709370657
2009-02-15 23:13:26 +00:00
Jens Arnold
789b0a2eb9
Add an unsigned 32*32->top32 bit multiply for resizing on SH1, and switch to 32 bit precision using that.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20012 a1c6a512-1295-4272-9138-f99709370657
2009-02-15 17:07:18 +00:00
Jens Arnold
11ad7b4bc8
Move screendump from apps to firmware, solving two nasty firmware-to-apps calls. This required to move the filename creation functions as well. * Fix bug in the BMP header of Clip screendumps. * Add remote screendump for targets with an LCD remote. * Simplify some ifdefs and rename a macro in the sim.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19967 a1c6a512-1295-4272-9138-f99709370657
2009-02-10 23:43:37 +00:00
Michael Sevakis
94537f954e
Gigabeat S: Implement an SDMA API and use it in the PCM driver. Some other miscellaneous adjustments to recording and PCM buffer to accomodate use of physical addresses and cache coherency.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19949 a1c6a512-1295-4272-9138-f99709370657
2009-02-08 22:32:41 +00:00
Jonathan Gordon
701a593c5d
continuation of last nights statusbar cleanup.
...
accept FS#9858 and FS#9859
make the rec and fm screens force the statusbar the correct way now which doesnt need extra status variables
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19904 a1c6a512-1295-4272-9138-f99709370657
2009-02-02 03:14:51 +00:00
Jonathan Gordon
036fb05dfd
Accept a quick patch from Alexander Levin to neaten up the #defines and comments from my earlier commit
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19897 a1c6a512-1295-4272-9138-f99709370657
2009-02-01 13:43:08 +00:00
Jonathan Gordon
80cb3551eb
Statusbar handling fixes.
...
Fixes FS#9845 - %we/%wd wasnt working
WPS no longer resets the viewportmanger more than needed (was doing it twice/draw before)
screens can now enable/disable the statusbar easily ignoring the setting instead of needing special handling (fix for the radio screen coming soon)
minor glitch introduced in this commit... the statusbar in the WPS might disappear for a fraction of a second when it is entered, I need to track this down...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19894 a1c6a512-1295-4272-9138-f99709370657
2009-02-01 11:34:16 +00:00
Bertrik Sikken
8e2ff63a7e
Various files: make function implementations consistent with their declaration in the header file or static if
...
they're local.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19892 a1c6a512-1295-4272-9138-f99709370657
2009-01-31 23:51:11 +00:00
Maurus Cuelenaere
36c71a60ca
Get checkwps working again
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19880 a1c6a512-1295-4272-9138-f99709370657
2009-01-29 20:49:43 +00:00
Jens Arnold
21a0504d16
Hopefully fix wrong colours on coldfire targets for certain scaling factors. EMAC needs to be in unsigned integer mode.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19853 a1c6a512-1295-4272-9138-f99709370657
2009-01-25 15:59:43 +00:00
Andrew Mahone
6fc558b2db
plugins/lib/feature_wrappers.h to provide easy access to some feature that may be in either API or pluginlib depending on target
...
pictureflow modified to use feature wrappers, and built on all targets that have tagcache and are swcodec
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19837 a1c6a512-1295-4272-9138-f99709370657
2009-01-24 09:29:22 +00:00
Andrew Mahone
7215a67e64
albumart search in pluginlib when building without HAVE_ALBUMART (for later use by pictureflow)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19835 a1c6a512-1295-4272-9138-f99709370657
2009-01-24 04:09:29 +00:00
Andrew Mahone
9f08068ecf
fix test for SH in resize.h
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19804 a1c6a512-1295-4272-9138-f99709370657
2009-01-20 18:23:50 +00:00
Andrew Mahone
1b13299769
scaler optimizations:
...
on sh, use 8.24 fixed-point C math for final division in scaler
on coldfire, use 8.32 fixed-point via emac
on other architectures, use 8.32 fixed-point C math
use shift-and-add to divide when adjusting scale factors in pictureflow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19802 a1c6a512-1295-4272-9138-f99709370657
2009-01-20 17:24:49 +00:00
Andrew Mahone
738a5643ad
support pixel aspect ratio compensation in recalc_dimension, with PAR defined as 1:1 by default, and set to 4:5 for archos bitmap targets
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19759 a1c6a512-1295-4272-9138-f99709370657
2009-01-13 14:41:29 +00:00
Andrew Mahone
2fbf09752d
remove align_buffer from firmare/general.c, replacing with ALIGN_BUFFER macro, and replace all uses of it (only resize.c in core, and pictureflow and mpegplayer plugins), remove it from plugin_api,
...
and remove wrapper for it from plugin.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19758 a1c6a512-1295-4272-9138-f99709370657
2009-01-13 13:48:26 +00:00
Andrew Mahone
07e982df8a
cleanup for core-file-in-pluginlib compilation:
...
wrapper C files in pluginlib renamed to the same name as the core files they
wrap
pluginlib-only init functions for resize and bmp moved into the wrapper files,
and declared in the associated header files
API() macro removed entirely, in favor of a core-only header file that
redefines core function names to use a plugin_api pointer
some unnecessary uses of PLUGIN in apps/recorder/bmp.c removed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19712 a1c6a512-1295-4272-9138-f99709370657
2009-01-08 02:49:23 +00:00
Jonathan Gordon
45aa9a22f9
temporarilty disable the statusbar in the keyboard because it doesnt use viewports and this is the easier fix than reworking the screen
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19683 a1c6a512-1295-4272-9138-f99709370657
2009-01-05 10:25:41 +00:00
Andrew Mahone
4eedc93357
build a scaling-enabled bitmap loader in pluginlib for mono bitmap targets, and use it in the test greylib scaler plugin
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19671 a1c6a512-1295-4272-9138-f99709370657
2009-01-04 21:22:05 +00:00
Bertrik Sikken
32c2f455d1
static/const/#include/tab police on various files
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19643 a1c6a512-1295-4272-9138-f99709370657
2009-01-02 21:43:52 +00:00
Jonathan Gordon
e385ee18ce
Decouple the statusbar drawing from the rest of the screen drawing. it is not drawn roughly 4x per second automatically.
...
viewport_Set_defaults() will setup the given viewport with the correct "full screen" dimensions (so start at 0,0 if statusbars are disabled or 0,8 if they are enabled.)
All screens should keep the statusbar enabled, but if you really want to ignore the user setting you can disbaled it with viewportmanager_set_statusbar(false).
This commit also includes some menu/list viewport cleanups from kugel in FS#9603
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19622 a1c6a512-1295-4272-9138-f99709370657
2008-12-31 05:59:26 +00:00
Michael Sevakis
2e99b3d931
Gigabeat S: Allow recording from FM. Give FM the same volume range as playback. NOTE: This bumps the si4700 output volume to -0dB so other players with that may need a minor adjustment.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19619 a1c6a512-1295-4272-9138-f99709370657
2008-12-31 01:38:44 +00:00
Andrew Mahone
9058620849
Make scaler output truly pluggable, add an 8-bit greyscale output to
...
pluginlib for use with greylib, and add source for a test scaled bmp
viewer using greylib.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19593 a1c6a512-1295-4272-9138-f99709370657
2008-12-26 07:05:13 +00:00
Andrew Mahone
f7fa7e5ad5
Latest work on the bmp on-load scaler:
...
Macros for calculating size needed for bitmap load and scaling, so that
these can be compile-time constant when their inputs are.
Reduce size of bayer dither by chopping all but first row of dither
matrix, and replacing 2D lookup with 1D lookup and small calculation.
Move some functions not related to actual bmp file loading out of bmp.c.
A smaller brightness() for mono targets, and a higher-quality one for
greyscale targets, both replacing the division by 10 with a shift.
Port of the linear and area scalers to greyscale targets, this costs
some binsize but produces better output even when dithered to 2bpp.
Move duplicated row output code from inside vertical scalers to a
separate row output function.
Move some multiplies out of the line scaler, for a small speedup and
code size reduction, as well as a small improvement in accuracy for the
upscaling case.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19592 a1c6a512-1295-4272-9138-f99709370657
2008-12-26 07:03:22 +00:00