Commit graph

129 commits

Author SHA1 Message Date
Jens Arnold
e6ed58f6c5 Better implementation of the new greyscale algorithm. A bit faster (+2% on iPod and Archos, +7% on Iriver H1x0), and more straightforward. * Fixed garbage display when a plugin switches on the overlay before drawing anything.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10534 a1c6a512-1295-4272-9138-f99709370657
2006-08-11 23:40:05 +00:00
Jens Arnold
71dc284b5d New algorithm for grayscale buffer updates which is faster for large buffer depths. Speedup (unbuffered, depth==32): +8% on H1x0, +17% on Recorder (depth==24), and +83% on iPod Mini.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10529 a1c6a512-1295-4272-9138-f99709370657
2006-08-11 14:13:01 +00:00
Marcoen Hirschberg
d24ed9987b 'no voice' is -1 not 0 and menu_items does have a pointer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10527 a1c6a512-1295-4272-9138-f99709370657
2006-08-11 12:48:36 +00:00
Marcoen Hirschberg
ed70da26bd don't assign NULL to a long (fixes sim build warnings)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10526 a1c6a512-1295-4272-9138-f99709370657
2006-08-11 11:35:26 +00:00
Jens Arnold
f54c34eb0f ARM targets: Shave off one instruction from the multiply-by-75.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10503 a1c6a512-1295-4272-9138-f99709370657
2006-08-09 14:17:09 +00:00
Jens Arnold
e7aeebf0bf Fix sim warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10481 a1c6a512-1295-4272-9138-f99709370657
2006-08-07 22:34:20 +00:00
Jens Arnold
754e173c25 Grayscale lib: Working screendump on iPod (target + sim).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10478 a1c6a512-1295-4272-9138-f99709370657
2006-08-07 21:58:32 +00:00
Jens Arnold
c00d799fa3 * Assembler optimised gray_update_rect() and writearray() for arm (greyscale iPods). * Some slight optimisations for coldfire (H1x0) and SH1 (archos). * Comment and formatting cleanup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10473 a1c6a512-1295-4272-9138-f99709370657
2006-08-07 17:21:38 +00:00
Jens Arnold
d55503d80b We can run the grayscale lib at full frame rate on iPods...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10471 a1c6a512-1295-4272-9138-f99709370657
2006-08-07 08:59:55 +00:00
Jens Arnold
c214e7bb0c Grayscale library ported to the grayscale iPods, first version. Added C reference versions of gray_update_rect() for both horizontal and vertical pixel packing. gray_update_rect() and gray_ub_gray_bitmap_part() not yet assembler optimised. Grayscale screendump doesn't work yet. * Fixed button assignments for iPod in grayscale.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10468 a1c6a512-1295-4272-9138-f99709370657
2006-08-07 01:46:42 +00:00
Jens Arnold
51d3dba10a Again smaller fixed point exp()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10455 a1c6a512-1295-4272-9138-f99709370657
2006-08-04 07:32:23 +00:00
Jens Arnold
f212e6cf5f Smaller & faster (on our targets) fixed point exp() with a multiplication.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10454 a1c6a512-1295-4272-9138-f99709370657
2006-08-04 07:02:34 +00:00
Jens Arnold
89c81ce1fb Repair bufferend scrolling background.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10434 a1c6a512-1295-4272-9138-f99709370657
2006-08-03 15:13:57 +00:00
Jens Arnold
b4cb493135 Proper rounding...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10420 a1c6a512-1295-4272-9138-f99709370657
2006-08-02 21:15:22 +00:00
Jens Arnold
fd9bd310a2 Slightly better precision.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10419 a1c6a512-1295-4272-9138-f99709370657
2006-08-02 20:57:40 +00:00
Jens Arnold
344849cc22 Ooops, don't apply correction when it shouldn't be applied.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10418 a1c6a512-1295-4272-9138-f99709370657
2006-08-02 20:19:20 +00:00
Jens Arnold
628d20a610 Grayscale library: LCD linearisation and gamma correction.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10402 a1c6a512-1295-4272-9138-f99709370657
2006-08-02 00:22:01 +00:00
Linus Nielsen Feltzing
c849219370 Moved the X5 button driver to the target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10339 a1c6a512-1295-4272-9138-f99709370657
2006-07-27 13:27:31 +00:00
Antoine Cellerier
2da8f69c95 Lib to save a bitmap struct to a bmp file. Only works/tested with color bitmaps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10254 a1c6a512-1295-4272-9138-f99709370657
2006-07-19 19:44:44 +00:00
Antoine Cellerier
5e306b4c19 RGB <-> HSV colorspace conversion lib
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10253 a1c6a512-1295-4272-9138-f99709370657
2006-07-19 19:40:17 +00:00
Jens Arnold
393f31cc43 1bit and 2bit LCD drivers: Low-level bit handling optimisations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10225 a1c6a512-1295-4272-9138-f99709370657
2006-07-18 00:04:43 +00:00
Dan Everton
b2ec716534 Use correct file mode when creating files. Fixes task 5452
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10020 a1c6a512-1295-4272-9138-f99709370657
2006-05-30 11:26:41 +00:00
Jens Arnold
d43e719d59 SH1: Better placement of the C library routine references (gcc 3.4.x -Os and -O2 proof).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9748 a1c6a512-1295-4272-9138-f99709370657
2006-04-20 19:48:02 +00:00
Jens Arnold
5ad51c61bc Greyscale ipods: Fix horizontal scrolling in oscilloscope, the flipped LCD driver broke it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9537 a1c6a512-1295-4272-9138-f99709370657
2006-04-06 20:31:57 +00:00
Jens Arnold
b509ff5069 Patch #3022 by Mikael Magnusson: Only zero out the actual bss area instead of the whole plugiin buffer, for faster plugin loading. * Applied the same idea to the overlay loader.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9535 a1c6a512-1295-4272-9138-f99709370657
2006-04-06 18:26:14 +00:00
Jens Arnold
1be25a4d71 Use TIMER_FREQ for timers in plugins. Fixes timer speed on iPod.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9427 a1c6a512-1295-4272-9138-f99709370657
2006-04-02 12:45:30 +00:00
Linus Nielsen Feltzing
6f4d721d23 Basic plugin playback control menu by Jonathan Gordon (Patch #4874)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9269 a1c6a512-1295-4272-9138-f99709370657
2006-03-26 22:33:25 +00:00
Brandon Low
9c2b203025 Fix profiling compilation for non-m68k targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8967 a1c6a512-1295-4272-9138-f99709370657
2006-03-09 01:37:52 +00:00
Jens Arnold
93113f5645 The LCD extension lib was split into 3 parts: Removed old file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8954 a1c6a512-1295-4272-9138-f99709370657
2006-03-08 07:29:42 +00:00
Jens Arnold
10e7e22452 Minor optimisation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8952 a1c6a512-1295-4272-9138-f99709370657
2006-03-08 01:15:09 +00:00
Jens Arnold
19b45a4374 LCD extension library: Implemented scrolling for LCD depths below 8 bit. * Oscilloscope: Use new scrolling function, some minor optimisations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8951 a1c6a512-1295-4272-9138-f99709370657
2006-03-08 01:14:46 +00:00
Jens Arnold
6a972e0249 Finally - grayscale library support for the simulators. Currently SDL only, win32 and x11 won't link anymore due to missing simulator functions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8845 a1c6a512-1295-4272-9138-f99709370657
2006-02-26 13:37:42 +00:00
Marcoen Hirschberg
f16c1f341a prevent rockbox from using the wrong includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8827 a1c6a512-1295-4272-9138-f99709370657
2006-02-24 13:48:52 +00:00
Jens Arnold
eeec278d21 Made the overlay loader code part of the plugin library.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8813 a1c6a512-1295-4272-9138-f99709370657
2006-02-23 20:46:33 +00:00
Jens Arnold
ba4991cc19 Apply same optimisation as for the core lcd drivers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8797 a1c6a512-1295-4272-9138-f99709370657
2006-02-23 01:22:29 +00:00
Jens Arnold
e48e60b3e0 Faster filled triangle drawing for colour targets and greyscale iPods.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8751 a1c6a512-1295-4272-9138-f99709370657
2006-02-20 19:15:46 +00:00
Dave Chapman
3e164cb8da Do not compile grayscale lib (and plugins needing it) for the iPod Grayscale LCD
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8653 a1c6a512-1295-4272-9138-f99709370657
2006-02-10 20:03:23 +00:00
Jens Arnold
fbfd3e2f31 Changed the 'stride' parameter of all *_bitmap_part() function to always mean the source bitmap width in pixels. Playergfx was the only engine where this was not true.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8621 a1c6a512-1295-4272-9138-f99709370657
2006-02-08 08:45:17 +00:00
Jens Arnold
bfbbf4705f Ooops, small fix.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8620 a1c6a512-1295-4272-9138-f99709370657
2006-02-08 08:05:39 +00:00
Jens Arnold
09b9a412f0 Preparation for colour gfx viewers: xlcd_color_bitmap_part() and xlcd_color_bitmap() added to the plugin library.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8619 a1c6a512-1295-4272-9138-f99709370657
2006-02-08 08:03:14 +00:00
Jens Arnold
56647275b5 JPEG viewer adapted to colour targets (greyscale only for now). New functions in the lcd extensions plugin library for drawing canonical greyscale bitmaps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8617 a1c6a512-1295-4272-9138-f99709370657
2006-02-08 01:14:29 +00:00
Jens Arnold
e6e8aa9519 Added memmove() to codec API & plugin API, and changed codeclib and plugin libs to use it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8602 a1c6a512-1295-4272-9138-f99709370657
2006-02-06 16:04:01 +00:00
Jens Arnold
e49cade42d Colour targets: Adapted mandelbrot plugin. The plugin library now contains scrolling routines for >= 8 bpp displays.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8578 a1c6a512-1295-4272-9138-f99709370657
2006-02-05 12:59:10 +00:00
Tomasz Malesinski
c31d2f84b7 Fixed warnings on iFP.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8550 a1c6a512-1295-4272-9138-f99709370657
2006-02-03 23:14:42 +00:00
Jens Arnold
83b2628b05 Bugfix: gray_putsxyofs() couldn't have worked before
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8432 a1c6a512-1295-4272-9138-f99709370657
2006-01-23 22:13:38 +00:00
Jens Arnold
3d2cab614e Grayscale library: colour macros now matching the core LCD drivers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8431 a1c6a512-1295-4272-9138-f99709370657
2006-01-23 22:13:00 +00:00
Brandon Low
05dccc3551 Profiling support, tools and documentation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8375 a1c6a512-1295-4272-9138-f99709370657
2006-01-18 20:54:13 +00:00
Jens Arnold
b4d0587862 Fixed comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8067 a1c6a512-1295-4272-9138-f99709370657
2005-11-26 09:05:03 +00:00
Jens Arnold
bce7c3eb50 Slight optimisation of gray_mono_bitmap_part() (only affects H1x0).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8064 a1c6a512-1295-4272-9138-f99709370657
2005-11-25 18:46:55 +00:00
Jens Arnold
5b2cba17aa Changed the LCD_COLOR pixel value format to packed RGB (unsigned int). Now all LCDs with depth > 1 use the same datatype. Added macros for easy pixel value definition.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7912 a1c6a512-1295-4272-9138-f99709370657
2005-11-16 21:09:23 +00:00