summaryrefslogtreecommitdiff
path: root/apps/recorder/resize.h
AgeCommit message (Collapse)Author
2009-05-26Fix yellow when building with HAVE_ALBUMART, without HAVE_JPEG/HAVE_BMP_SCALING.Andrew Mahone
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21092 a1c6a512-1295-4272-9138-f99709370657
2009-05-26Use pre-multiplication in scaler to save one multiply per color component on ↵Andrew Mahone
ARM and Coldfire, at the cost of an extra add/shift in the horizontal scaler to reduce values to a workable range. SH-1 retains the same basic math, as the use of 16x16->32 hardware multiplication in the earlier scaler stages saves more than removing the 32x32->40 multiply to descale output. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21091 a1c6a512-1295-4272-9138-f99709370657
2009-05-09Split 8-bit-to-native conversion in bmp.c into a function, add support for ↵Andrew Mahone
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-06Move YUV->RGB in JPEG load from before scaler to after scaler. Required ↵Andrew Mahone
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-04Make JPEG and BMP scaler optional with HAVE_JPEG and HAVE_BMP_SCALING, both ↵Andrew Mahone
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-04-08Improve scaler reciprocal precision by 1 bit, and remove unused SC_NUM, ↵Andrew Mahone
SC_FIX, and SC_SHIFT. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20654 a1c6a512-1295-4272-9138-f99709370657
2009-02-15Get rid of a useless copy instruction in the SH1 32*32->64bit multiply ↵Jens Arnold
routines (signed and unsigned). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20013 a1c6a512-1295-4272-9138-f99709370657
2009-02-15Add an unsigned 32*32->top32 bit multiply for resizing on SH1, and switch to ↵Jens Arnold
32 bit precision using that. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20012 a1c6a512-1295-4272-9138-f99709370657
2009-01-25Hopefully fix wrong colours on coldfire targets for certain scaling factors. ↵Jens Arnold
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-20fix test for SH in resize.hAndrew Mahone
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19804 a1c6a512-1295-4272-9138-f99709370657
2009-01-20scaler optimizations:Andrew Mahone
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-08cleanup for core-file-in-pluginlib compilation:Andrew Mahone
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-04build a scaling-enabled bitmap loader in pluginlib for mono bitmap targets, ↵Andrew Mahone
and use it in the test greylib scaler plugin git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19671 a1c6a512-1295-4272-9138-f99709370657
2008-12-26Make scaler output truly pluggable, add an 8-bit greyscale output toAndrew Mahone
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-26Latest work on the bmp on-load scaler:Andrew Mahone
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-10Fix a wrong comment in thread.c and mention an alternative approach to ↵Michael Sevakis
inits. Fix a couple headers' Id fields while at it. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19386 a1c6a512-1295-4272-9138-f99709370657
2008-12-09resize-on-load for bitmap files on 2bpp and color targetsAndrew Mahone
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19374 a1c6a512-1295-4272-9138-f99709370657