Andrew Mahone
3651a903f3
Add missing PictureFlow overlay source, fix properties on new files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20865 a1c6a512-1295-4272-9138-f99709370657
2009-05-07 01:40:25 +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
Andrew Mahone
a8912a0c41
PictureFlow JPEG AA support for all non-mono targets (mono targets will need overlay for this).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20841 a1c6a512-1295-4272-9138-f99709370657
2009-05-02 04:06:49 +00:00
Andrew Mahone
3e2cf9a380
Undo revert of r20653
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20657 a1c6a512-1295-4272-9138-f99709370657
2009-04-08 10:38:55 +00:00
Andrew Mahone
54a0aeff5b
fix accidental reverts in r20651
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20656 a1c6a512-1295-4272-9138-f99709370657
2009-04-08 10:27:38 +00:00
Andrew Mahone
05875e4ce1
Fix yellow
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20653 a1c6a512-1295-4272-9138-f99709370657
2009-04-08 04:06:26 +00:00
Andrew Mahone
c79fb9ce06
FS#9992: remove PLA use from PictureFlow, replacing it with maps designed for each target, and inheriting the targets' standard actions
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20651 a1c6a512-1295-4272-9138-f99709370657
2009-04-08 03:50:44 +00:00
Jens Arnold
1d8679e7ec
Pictureflow optimisations: (1) No need to restore the drawmode, the core takes care of that. (2) Making the angle positive before masking is redundant. (3) Slide rendering: * Precalculate a faded reflection table for alpha < 256, saving a multiply in the inner loop. * Group the inner loops so that less variables are precalculated, helping to keep stuff in registers. * Combine loop conditions so that a single check is sufficient.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20456 a1c6a512-1295-4272-9138-f99709370657
2009-03-22 14:45:14 +00:00
Jens Arnold
de910d862c
Greyscale targets: Make the gradient a bit brighter and simplify the calculation.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20253 a1c6a512-1295-4272-9138-f99709370657
2009-03-09 01:14:21 +00:00
Jens Arnold
87a22b2930
Revert the static'ing, as it causes crashes/freezes. Needs investigation.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20229 a1c6a512-1295-4272-9138-f99709370657
2009-03-07 13:22:28 +00:00
Jens Arnold
c99446dd89
Made all local functions static, saving ~500 bytes of binsize on coldfire and SH1, and ~150 bytes on ARM. * Removed an unused static inline function.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20228 a1c6a512-1295-4272-9138-f99709370657
2009-03-07 13:00:09 +00:00
Jens Arnold
9a6d91940c
Mono targets: Make sure the splash screen uses white on black and the logo doesn't look inverted.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20224 a1c6a512-1295-4272-9138-f99709370657
2009-03-07 01:22:49 +00:00
Jens Arnold
5e313256b2
Performance tweaks for SH1. No changes for coldfire and ARM, apart from changing a bunch of signed shifts to unsigned shifts.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20223 a1c6a512-1295-4272-9138-f99709370657
2009-03-07 00:16:27 +00:00
Andrew Mahone
6f030a01c9
add the needed plugin API exports for pictureflow to hwcodec, use the audio buffer if plugin buffer is too small, build on any target with bitmap + tagcache
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20213 a1c6a512-1295-4272-9138-f99709370657
2009-03-06 01:08:02 +00:00
Andrew Mahone
cc5689c153
pictureflow: use correct priority to free slides when extending cache on right, catch and handle failure to find a slide to free
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20212 a1c6a512-1295-4272-9138-f99709370657
2009-03-06 00:38:50 +00:00
Andrew Mahone
d8b6a950c6
FS#9919 pictureflow cache rework, footprint reduction, buflib use
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20203 a1c6a512-1295-4272-9138-f99709370657
2009-03-04 21:23:49 +00:00
Frank Gevaerts
281227321e
Spelling fixes (UK English) by Alex Parker
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20009 a1c6a512-1295-4272-9138-f99709370657
2009-02-15 12:56:25 +00:00
Andrew Mahone
0222d0a5eb
align frontmost edge of slides with plane of display
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19948 a1c6a512-1295-4272-9138-f99709370657
2009-02-08 22:17:21 +00:00
Andrew Mahone
c02e469bbb
simplify zo calculation a bit, "zoom" the center margin value and add term for zo to offset calculation, so that margins are still correct when zooming
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19947 a1c6a512-1295-4272-9138-f99709370657
2009-02-08 22:17:15 +00:00
Andrew Mahone
eda5ed0624
rewrite of pictureflow renderer with 3D projection, this will allow many possible tweaks in the future, such as moving only the center slide "closer", changing the angle of side slides, etc, while
...
keeping the same meaning for the center margin and spacing settings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19942 a1c6a512-1295-4272-9138-f99709370657
2009-02-07 22:18:26 +00:00
Andrew Mahone
79c25649b7
use a table-free clz on coldfire, where it benchmarks a bit faster
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19933 a1c6a512-1295-4272-9138-f99709370657
2009-02-06 05:43:00 +00:00
Andrew Mahone
ba4be51571
per Jens Arnold's suggestion:
...
use platform clz instruction only on ARMv5+, where we know it returns 32 for a 0 input, and remove the special case for 0
use binary search only to find most significant four bits, then use lookup table to add number of leading zeroes within those bits
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19888 a1c6a512-1295-4272-9138-f99709370657
2009-01-30 10:52:30 +00:00
Andrew Mahone
b081a38131
correct clz in pictureflow.c
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19887 a1c6a512-1295-4272-9138-f99709370657
2009-01-30 07:22:59 +00:00
Andrew Mahone
78409ff50c
remove 64-bit math from fdiv in pictureflow.c, replacing it with limited pre-shifting of input values
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19886 a1c6a512-1295-4272-9138-f99709370657
2009-01-30 03:40:16 +00:00
Andrew Mahone
8f1d8be7a7
pictureflow tweaks:
...
allow wider covers on landscape, bringing square covers closer to suggested size from pre-scaling pictureflow
tweak defaults for center margin and cover spacing a little bit
change default title display to bottom if LCD_HEIGHT <= 100
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19877 a1c6a512-1295-4272-9138-f99709370657
2009-01-29 03:30:41 +00:00
Andrew Mahone
83350f2fed
fix divide-by-zero error in pictureflow when selecting album
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19876 a1c6a512-1295-4272-9138-f99709370657
2009-01-29 03:30:33 +00:00
Andrew Mahone
499426caf9
remove MEM_FUNCTION_WRAPPERS, and private mem* implementations from plugins, and replace with pluginlib implementations in plugins/lib/gcc-support.c
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19847 a1c6a512-1295-4272-9138-f99709370657
2009-01-24 22:57:57 +00:00
Andrew Mahone
d08d015766
fix red on mono hardware - add mem function wrappers to pictureflow
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19839 a1c6a512-1295-4272-9138-f99709370657
2009-01-24 09:53:12 +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
3f7d137725
fix for targets using greylib in pictureflow, they need to set drawmode for both normal and greylib drawing, so using MYLCD for that was inappropriate
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19836 a1c6a512-1295-4272-9138-f99709370657
2009-01-24 08:15:37 +00:00
Andrew Mahone
5d3fd5d5ce
replace DIV255 with an inline function, the macro version caused unneeded recalculations
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19809 a1c6a512-1295-4272-9138-f99709370657
2009-01-21 05:10:16 +00:00
Andrew Mahone
8e9e6635a1
fix red on grayscale in pictureflow
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19803 a1c6a512-1295-4272-9138-f99709370657
2009-01-20 17:56:59 +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
5ad02f701b
use multiply-shift to scale reciprocals for rgb16 output, instead of
...
multiply-divide
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19788 a1c6a512-1295-4272-9138-f99709370657
2009-01-18 02:45:22 +00:00
Andrew Mahone
0b41f0599f
unify pointers to value for configfile, and add TYPE_BOOL type, used by
...
pictureflow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19786 a1c6a512-1295-4272-9138-f99709370657
2009-01-17 22:53:12 +00:00
Andrew Mahone
2fecb713ea
fix pictureflow, previous fix caused cache to never be marked as good
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19785 a1c6a512-1295-4272-9138-f99709370657
2009-01-17 20:53:35 +00:00
Andrew Mahone
44ab8a63ea
fix yellow, but in the long run, configfile needs a TYPE_BOOL as a clean fix to this
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19783 a1c6a512-1295-4272-9138-f99709370657
2009-01-17 10:58:21 +00:00
Andrew Mahone
6b32a2d9cd
return to transposed images in cache, via new output plugins, to save
...
multiplies in render_slide
fix empty slide regen on cache version change
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19782 a1c6a512-1295-4272-9138-f99709370657
2009-01-17 09:42:26 +00:00
Andrew Mahone
4541ae9b5c
remove unused fh from create_albumart_cache
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19781 a1c6a512-1295-4272-9138-f99709370657
2009-01-17 07:25:49 +00:00
Andrew Mahone
313eaf8e37
pictureflow configfile conversion:
...
settings use configfile from pluginlib
cache version is stored in config file, so that changes to the cache
file format can trigger rebuild automatically
cache version is set to 0 to flag cache as needing rebuild
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19780 a1c6a512-1295-4272-9138-f99709370657
2009-01-17 07:13:11 +00:00
Andrew Mahone
56376e6a42
pictureflow cleanup:
...
remove some old, unused #defines
split DISPLAY_SIZE into DISPLAY_WIDTH and DISPLAY_HEIGHT
scale DISPLAY_WIDTH to compensate for pixel aspect ratio
use new DISPLAY_HEIGHT where appropriate, instead of calculating based
on LCD size
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19779 a1c6a512-1295-4272-9138-f99709370657
2009-01-17 07:12:59 +00:00
Andrew Mahone
23d9812273
loader-initialized global plugin API:
...
struct plugin_api *rb is declared in PLUGIN_HEADER, and pointed to by
__header.api
the loader uses this pointer to initialize rb before calling entry_point
entry_point is no longer passed a pointer to the plugin API
all plugins, and pluginlib functions, are modified to refer to the
global rb
pluginlib functions which only served to copy the API pointer are
removed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19776 a1c6a512-1295-4272-9138-f99709370657
2009-01-16 10:34:40 +00:00
Andrew Mahone
35677cbc54
fix bug causing pictureflow to write one column past left side of screen, resulting in a stripe of rightmost slide appearing on the left side of the screen
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19775 a1c6a512-1295-4272-9138-f99709370657
2009-01-16 08:18:14 +00:00
Andrew Mahone
6e54d94908
reduce pictureflow's fade_color by one multiply, and a few shifts, while still maintaining reasonable quality
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19770 a1c6a512-1295-4272-9138-f99709370657
2009-01-14 08:15:35 +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
Jens Arnold
36dfdedf3b
Make sure pictureflow always uses the user font, both on colour and greyscale targets.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19610 a1c6a512-1295-4272-9138-f99709370657
2008-12-28 22:26:41 +00:00
Andrew Mahone
081b111138
more pictureflow work:
...
remove create_bmp entirely, storing scaled covers as-is in cache
extend accuracy of fade_color and use it for reflection fading
fix rendering issues while working on renderer, it is slower now but
outside edge of cover no longer cuts off top of next cover if it would
be exposed
fix fsin to have real -1.0 - 1.0 range, and have correct zeroes
adjust center margin option range again, now 0-80, since negative
causes rendering glitches
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19603 a1c6a512-1295-4272-9138-f99709370657
2008-12-28 03:35:07 +00:00
Andrew Mahone
d6bae6c858
FS#8335, with some changes discussed on IRC:
...
Resize can be turned off (on by default). This will not look good if
covers are larger than the desired size.
Album title config: show at top or bottom, or hide.
Center margin is actual distance, in pixels, between center slide and
adjacent slides. Defaults are now set to show three slides to each side.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19599 a1c6a512-1295-4272-9138-f99709370657
2008-12-27 03:08:38 +00:00