summaryrefslogtreecommitdiff
path: root/apps/recorder/resize.c
AgeCommit message (Collapse)Author
2010-01-03Coldfire targets: Restore EMAC status after using the EMAC for bitmap ↵Jens Arnold
resizing. Fixes FS #10412. The tone and EQ filter calculation relies on the proper EMAC mode. EQ filters were not affected because they're set from a different thread, hence FS #10412 only affected the iAudios (coldfire + albumart + software tone controls). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24164 a1c6a512-1295-4272-9138-f99709370657
2009-10-09Vertical Stride: Add support for yuv to native output.Karl Kurbjun
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23024 a1c6a512-1295-4272-9138-f99709370657
2009-09-01Add support for vertical stride to resizer.Karl Kurbjun
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22587 a1c6a512-1295-4272-9138-f99709370657
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-08Fix red.Andrew Mahone
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20872 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-03-14small speedup for scaler on sh-1, via use of hardware multiply instruction ↵Andrew Mahone
where possible git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20322 a1c6a512-1295-4272-9138-f99709370657
2009-01-31Various files: make function implementations consistent with their ↵Bertrik Sikken
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-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-13support pixel aspect ratio compensation in recalc_dimension, with PAR ↵Andrew Mahone
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-13remove align_buffer from firmare/general.c, replacing with ALIGN_BUFFER ↵Andrew Mahone
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-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
2009-01-02static/const/#include/tab police on various filesBertrik Sikken
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19643 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-14fix yellowAndrew Mahone
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19440 a1c6a512-1295-4272-9138-f99709370657
2008-12-14remove unneeded testAndrew Mahone
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19439 a1c6a512-1295-4272-9138-f99709370657
2008-12-12fix yellowAndrew Mahone
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19394 a1c6a512-1295-4272-9138-f99709370657
2008-12-12fix broken greyscale upscalingAndrew Mahone
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19393 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-10code cleanup, more descriptive variable names, and algorithm docs for color ↵Andrew Mahone
scalers git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19381 a1c6a512-1295-4272-9138-f99709370657
2008-12-10small binsize improvement for color scalersAndrew Mahone
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19380 a1c6a512-1295-4272-9138-f99709370657
2008-12-09fix yellow - bogus unitialized use warningsAndrew Mahone
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19376 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