Jens Arnold
5c1432c9cf
Coldfire targets: Restore EMAC status after using the EMAC for bitmap 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
2010-01-03 13:34:29 +00:00
Karl Kurbjun
d9c1bba0c6
Vertical Stride: Add support for yuv to native output.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23024 a1c6a512-1295-4272-9138-f99709370657
2009-10-09 03:49:53 +00:00
Karl Kurbjun
fa49b1ef50
Add support for vertical stride to resizer.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22587 a1c6a512-1295-4272-9138-f99709370657
2009-09-01 04:39:48 +00:00
Andrew Mahone
00d6cfd389
Fix yellow when building with HAVE_ALBUMART, without HAVE_JPEG/HAVE_BMP_SCALING.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21092 a1c6a512-1295-4272-9138-f99709370657
2009-05-26 20:26:05 +00:00
Andrew Mahone
92785b8f2f
Use pre-multiplication in scaler to save one multiply per color component on 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-26 20:00:47 +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
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
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
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
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
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
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
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
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
Andrew Mahone
676fd32c96
fix yellow
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19440 a1c6a512-1295-4272-9138-f99709370657
2008-12-14 18:42:05 +00:00
Andrew Mahone
524c5409c3
remove unneeded test
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19439 a1c6a512-1295-4272-9138-f99709370657
2008-12-14 17:58:04 +00:00
Andrew Mahone
ea5d0bd7ec
fix yellow
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19394 a1c6a512-1295-4272-9138-f99709370657
2008-12-12 03:16:06 +00:00
Andrew Mahone
66b0d8198e
fix broken greyscale upscaling
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19393 a1c6a512-1295-4272-9138-f99709370657
2008-12-12 02:44:13 +00:00
Michael Sevakis
441fca176a
Fix a wrong comment in thread.c and mention an alternative approach to 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-10 21:10:34 +00:00
Andrew Mahone
995c89cb6f
code cleanup, more descriptive variable names, and algorithm docs for color scalers
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19381 a1c6a512-1295-4272-9138-f99709370657
2008-12-10 12:09:03 +00:00
Andrew Mahone
eb04315b19
small binsize improvement for color scalers
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19380 a1c6a512-1295-4272-9138-f99709370657
2008-12-10 09:45:49 +00:00
Andrew Mahone
40ff47c7ee
fix yellow - bogus unitialized use warnings
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19376 a1c6a512-1295-4272-9138-f99709370657
2008-12-09 23:48:34 +00:00
Andrew Mahone
781421afa2
resize-on-load for bitmap files on 2bpp and color targets
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19374 a1c6a512-1295-4272-9138-f99709370657
2008-12-09 23:07:59 +00:00