summaryrefslogtreecommitdiff
path: root/apps/recorder/resize.c (follow)
Commit message (Collapse)AuthorAge
* lcd-24bit: Introduce a 24-bit mid-level LCD driverThomas Martitz2014-06-21
| | | | | | | | | | | | | | | | | With LCD driver all calculation will be performed on RGB888 and the hardware/OS can display from our 24bit framebuffer. It is not yet as performance optimized as the existing drivers but should be good enough.The vast number of small changes is due to the fact that fb_data can be a struct type now, while most of the code expected a scalar type. lcd-as-memframe ASM code does not work with 24bit currently so the with 24bit it enforces the generic C code. All plugins are ported over. Except for rockpaint. It uses so much memory that it wouldnt fit into the 512k plugin buffer anymore (patches welcome). Change-Id: Ibb1964545028ce0d8ff9833ccc3ab66be3ee0754
* Do not include kernel.h in system.h.Thomas Martitz2014-01-05
| | | | | | | system.h doesn't need it on its own and this change makes it less dependant on Rockbox internals. Change-Id: I4e1e4108a52a7b599627a829204eb82b392fc6d6
* Fix bitmap scaling for Coldfire. Closes FS#12411.Andree Buschmann2011-12-19
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31366 a1c6a512-1295-4272-9138-f99709370657
* Document the internal alpha channel format better, and fixes for 32bit alpha ↵Thomas Martitz2011-11-11
| | | | | | | | | bitmaps. For images, rows need to be even (this is not true for anti-aliased font files). Fix stride and size calculation. This makes images that have odd pixel rows display properly and fixes buffer overflows. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30966 a1c6a512-1295-4272-9138-f99709370657
* Adapt the resize-on-load image scalers to support the alpha channel.Thomas Martitz2011-11-08
| | | | | | | Now 32bit BMPs with alpha channel can be up- and downscaled without losing transparency information. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30938 a1c6a512-1295-4272-9138-f99709370657
* remove set but unused variableRafaël Carré2011-03-28
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29659 a1c6a512-1295-4272-9138-f99709370657
* Coldfire targets: Restore EMAC status after using the EMAC for bitmap ↵Jens Arnold2010-01-03
| | | | | | 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
* Vertical Stride: Add support for yuv to native output.Karl Kurbjun2009-10-09
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23024 a1c6a512-1295-4272-9138-f99709370657
* Add support for vertical stride to resizer.Karl Kurbjun2009-09-01
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22587 a1c6a512-1295-4272-9138-f99709370657
* Fix yellow when building with HAVE_ALBUMART, without HAVE_JPEG/HAVE_BMP_SCALING.Andrew Mahone2009-05-26
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21092 a1c6a512-1295-4272-9138-f99709370657
* Use pre-multiplication in scaler to save one multiply per color component on ↵Andrew Mahone2009-05-26
| | | | | | | | 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
* Split 8-bit-to-native conversion in bmp.c into a function, add support for ↵Andrew Mahone2009-05-09
| | | | | | 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
* Fix red.Andrew Mahone2009-05-08
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20872 a1c6a512-1295-4272-9138-f99709370657
* Move YUV->RGB in JPEG load from before scaler to after scaler. Required ↵Andrew Mahone2009-05-06
| | | | | | 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
* Make JPEG and BMP scaler optional with HAVE_JPEG and HAVE_BMP_SCALING, both ↵Andrew Mahone2009-05-04
| | | | | | | | 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
* Improve scaler reciprocal precision by 1 bit, and remove unused SC_NUM, ↵Andrew Mahone2009-04-08
| | | | | | SC_FIX, and SC_SHIFT. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20654 a1c6a512-1295-4272-9138-f99709370657
* small speedup for scaler on sh-1, via use of hardware multiply instruction ↵Andrew Mahone2009-03-14
| | | | | | where possible git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20322 a1c6a512-1295-4272-9138-f99709370657
* Various files: make function implementations consistent with their ↵Bertrik Sikken2009-01-31
| | | | | | | | | 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
* scaler optimizations:Andrew Mahone2009-01-20
| | | | | | | | | | | | 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
* support pixel aspect ratio compensation in recalc_dimension, with PAR ↵Andrew Mahone2009-01-13
| | | | | | 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
* remove align_buffer from firmare/general.c, replacing with ALIGN_BUFFER ↵Andrew Mahone2009-01-13
| | | | | | | | | 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
* cleanup for core-file-in-pluginlib compilation:Andrew Mahone2009-01-08
| | | | | | | | | | | | | | | | 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
* build a scaling-enabled bitmap loader in pluginlib for mono bitmap targets, ↵Andrew Mahone2009-01-04
| | | | | | and use it in the test greylib scaler plugin git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19671 a1c6a512-1295-4272-9138-f99709370657
* static/const/#include/tab police on various filesBertrik Sikken2009-01-02
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19643 a1c6a512-1295-4272-9138-f99709370657
* Make scaler output truly pluggable, add an 8-bit greyscale output toAndrew Mahone2008-12-26
| | | | | | | 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
* Latest work on the bmp on-load scaler:Andrew Mahone2008-12-26
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* fix yellowAndrew Mahone2008-12-14
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19440 a1c6a512-1295-4272-9138-f99709370657
* remove unneeded testAndrew Mahone2008-12-14
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19439 a1c6a512-1295-4272-9138-f99709370657
* fix yellowAndrew Mahone2008-12-12
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19394 a1c6a512-1295-4272-9138-f99709370657
* fix broken greyscale upscalingAndrew Mahone2008-12-12
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19393 a1c6a512-1295-4272-9138-f99709370657
* Fix a wrong comment in thread.c and mention an alternative approach to ↵Michael Sevakis2008-12-10
| | | | | | 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
* code cleanup, more descriptive variable names, and algorithm docs for color ↵Andrew Mahone2008-12-10
| | | | | | scalers git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19381 a1c6a512-1295-4272-9138-f99709370657
* small binsize improvement for color scalersAndrew Mahone2008-12-10
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19380 a1c6a512-1295-4272-9138-f99709370657
* fix yellow - bogus unitialized use warningsAndrew Mahone2008-12-09
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19376 a1c6a512-1295-4272-9138-f99709370657
* resize-on-load for bitmap files on 2bpp and color targetsAndrew Mahone2008-12-09
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19374 a1c6a512-1295-4272-9138-f99709370657