Commit graph

105 commits

Author SHA1 Message Date
Marcin Bukat
0ceaff2b65 imageviewer: gif viewer based on giflib-5.0.2
This adds ability to view gif images in rockbox.
Works both on color and gray/monochrome targets (greylib).
Aspect correction is supported as well.

Limitations:
- animated gifs are restricted to 32 frames
- animated gifs loop always (loopcount is ignored)
- plain text extension is not supported
- animated gifs with interframe delay = 0 are treated as still
  images (web browsers usually treat delay 0 as 100ms to prevent
  exhaustive CPU load by such images)

Change-Id: I61501f801ddcd403410e38d83e6bddc9883e7ede
2012-11-13 18:13:10 +01:00
Andrew Ryabinin
6ee3fc81d9 hm801: Add support for plugins.
Change-Id: I81654db87d38324d8680a56bcdb7e9922ee5b619
2012-04-19 17:31:13 +04:00
Andrew Ryabinin
397863ab3d hm60x: Add support for plugins.
Change-Id: I4cad0881c8249f163680a280f70d1a0b36248da8
2012-04-19 17:31:13 +04:00
Thomas Martitz
4b56ee048a Refactor and unify objcopy calls in the build system. Also now properly handles DEBUG builds on hosted targets to keep debug symbols if necessary.
Change-Id: I884031b79c6d49479e4d95752f35ced68872dd5d
2012-04-04 21:48:19 +02:00
Thomas Martitz
f269aa0060 build system: unify/simplify library handling a bit.
libs in $ROOT/lib now add to $(CORE_LIBS) and $(EXTRA_LIBS) and are
automatically linked by the core and codecs/plugins respectively.

Change-Id: Iff482c792a8c8142718f6a16a450c6e2f1497c9a
2012-03-26 22:27:40 +02:00
Magnus Holmgren
488f6229c0 libarm_support references code in libplugin, so put libarm_support first of the two when linking. There may be better solutions, but this fixes linking problems for me (on Cygwin).
Change-Id: I5b2c87d5986cf5cba6652aad4ece0647e1178474
2012-02-18 16:51:50 +01:00
Marcin Bukat
5863361fbf MPIOs: keymap tweaks
Change-Id: Ic96900c83ffb90df4f6c68a26238f0543cba61cd
2012-02-02 14:55:51 +01:00
Thomas Martitz
6d19275876 Hosted: Output map files after linking.
Change-Id: I5ac64d781aaa1aa2b3157589f8e689c0d946a39f
2012-01-21 18:39:19 +01:00
Thomas Martitz
cf333a61c7 Move supprt-arm.S to separate library.
Core, codecs and plugins link it separately so this gets rid of SOURCES trickery.
Don't build it for hosted targets.

Change-Id: If15ef90e93cd218a4352ae8e89eea95d3122452f
2012-01-21 18:39:19 +01:00
Bertrik Sikken
a7a78b3b52 Fix warnings from r31453
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31454 a1c6a512-1295-4272-9138-f99709370657
2011-12-28 11:47:35 +00:00
Bertrik Sikken
d2cdd80f5c plugins: another round of making local things static and adding missing #includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31453 a1c6a512-1295-4272-9138-f99709370657
2011-12-28 11:32:13 +00:00
Thomas Martitz
249bba03f1 Initial commit of the Samsung YP-R0 port.
This port is a hybrid native/RaaA port. It runs on a embedded linux system,
but is the only application. It therefore can implement lots of stuff that
native targets also implement, while leveraging the underlying linux kernel.

The port is quite advanced. User interface, audio playback, plugins work
mostly fine. Missing is e.g. power mangement and USB (see SamsungYPR0 wiki page).

Included in utils/ypr0tools are scripts and programs required to generate
a patched firmware. The patched firmware has the rootfs modified to load
Rockbox. It includes a early/safe USB mode.

This port needs a new toolchain, one that includes glibc headers and libraries.
rockboxdev.sh can generate it, but e.g. codesourcey and distro packages may
also work.

Most of the initial effort is done by Lorenzo Miori and others (on ABI),
including reverse engineering and patching of the original firmware,
initial drivers, and more. Big thanks to you.

Flyspray: FS#12348
Author: Lorenzo Miori, myself

Merry christmas to ypr0 owners! :)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31415 a1c6a512-1295-4272-9138-f99709370657
2011-12-24 11:56:46 +00:00
Tomasz Moń
e8a8a1be43 Sandisk Sansa Connect port (FS #12363)
Included are drivers for buttons, backlight, lcd, audio and storage.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31000 a1c6a512-1295-4272-9138-f99709370657
2011-11-16 14:08:01 +00:00
Amaury Pouly
b8c8384327 fuze+: add imageviewer keymap
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30691 a1c6a512-1295-4272-9138-f99709370657
2011-10-02 17:34:54 +00:00
Thomas Martitz
baa070cca6 GSoC/Buflib: Enable compaction in buflib.
This enables the ability to allocate (and free) memory dynamically
without fragmentation, through compaction. This means allocations can move
and fragmentation be reduced. Most changes are preparing Rockbox for this,
which many times means adding a move callback which can temporarily disable
movement when the corresponding code is in a critical section.

For now, the audio buffer allocation has a central role, because it's the one
having allocated most. This buffer is able to shrink itself, for which it
needs to stop playback for a very short moment. For this,
audio_buffer_available() returns the size of the audio buffer which can
possibly be used by other allocations because the audio buffer can shrink.

lastfm scrobbling and timestretch can now be toggled at runtime without
requiring a reboot.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30381 a1c6a512-1295-4272-9138-f99709370657
2011-08-30 14:01:45 +00:00
Thomas Martitz
98096970e0 Cleanup tree.c cache handling a bit.
* Rename stuff to not re-use the term dircache
 * Move cache to own struct
 * Encapsulate retrieving entries a bit

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30242 a1c6a512-1295-4272-9138-f99709370657
2011-08-03 09:49:25 +00:00
Andree Buschmann
67f215032d Fix a bunch of 'variable set but not used' warnings reported from GCC 4.6.0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29841 a1c6a512-1295-4272-9138-f99709370657
2011-05-08 21:06:38 +00:00
Andree Buschmann
f7c4594134 Fix further 'variable set but not used' warnings reported from GCC 4.6.0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29809 a1c6a512-1295-4272-9138-f99709370657
2011-05-01 13:48:28 +00:00
Teruaki Kawashima
01313d5039 * Rename backlight_force_on to backlight_ignore_timeout to make it clear what the function does.
* Add backlight_force_on() which forces to turn on backlight even when the setting is set to Off. use this in lamp.
No functional change except lamp.
See aslo FS#9883.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29128 a1c6a512-1295-4272-9138-f99709370657
2011-01-24 12:29:16 +00:00
Teruaki Kawashima
3ff2fb37c9 revert personal change accidentally included in r29110
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29111 a1c6a512-1295-4272-9138-f99709370657
2011-01-22 16:19:20 +00:00
Teruaki Kawashima
68cc564c9b FS#11819: image viewer: use magick number in file to determine image type.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29110 a1c6a512-1295-4272-9138-f99709370657
2011-01-22 13:41:53 +00:00
Teruaki Kawashima
262e6db70e image viewer: png: do not show custom error message when there is not enough memory. get rid of use of iv->plug_buf.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29091 a1c6a512-1295-4272-9138-f99709370657
2011-01-19 13:20:00 +00:00
Teruaki Kawashima
622be891b3 image viewer: ppm:
* return proper error code when image is too large.
* check return value of read() properly.
* display progressbar.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29090 a1c6a512-1295-4272-9138-f99709370657
2011-01-19 12:51:57 +00:00
Teruaki Kawashima
27424a8938 image viewer:
* move button definitions to separate file.
* apply slideshow timeout in ask_and_get_audio_buffer() if in slideshow mode.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29071 a1c6a512-1295-4272-9138-f99709370657
2011-01-17 13:47:57 +00:00
Teruaki Kawashima
62207228f7 image viewer: add quick guide describing how to add image decoder. also improve comments.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29066 a1c6a512-1295-4272-9138-f99709370657
2011-01-16 12:45:11 +00:00
Marcin Bukat
6e3da841be Rework ppmviewer to fit our shiny new imageviewer framework. FS#11818 by me.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29012 a1c6a512-1295-4272-9138-f99709370657
2011-01-09 13:22:54 +00:00
Marcin Bukat
dd61702fb0 HD300 - plugins keymaps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28712 a1c6a512-1295-4272-9138-f99709370657
2010-11-30 10:52:14 +00:00
Teruaki Kawashima
e5b1a7d423 FS#6321: Universal Image Viewer
This unifies jpeg viewer, png viewer, and bmp viewer to one plugin, image viewer, so that you can navigate through different image formats.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28626 a1c6a512-1295-4272-9138-f99709370657
2010-11-21 13:47:56 +00:00
Robert Menes
c638e96738 These should be the last of the plugin keymaps required
for the GoGear HDD6330.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28467 a1c6a512-1295-4272-9138-f99709370657
2010-11-03 02:45:53 +00:00
Marcin Bukat
59ba8fea22 MPIO HD200: rename button defines to adhere how they are labeled on the device.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28443 a1c6a512-1295-4272-9138-f99709370657
2010-11-02 10:44:34 +00:00
Teruaki Kawashima
d055ff4a94 reduce casts between "unsinged char *" and "fb_data *". make calculation precise. maintain spaces.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28428 a1c6a512-1295-4272-9138-f99709370657
2010-11-01 12:13:49 +00:00
Marcin Bukat
e26d0c62e0 Fix and extend imageviewer png support. FS#11641 by me
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28413 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 12:40:49 +00:00
Teruaki Kawashima
38e88f35f4 use different function to resize bitmap for greylib.
it is confusing that same function expects different data type (fb_data or unsigned char) depending on the target.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28233 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 14:24:11 +00:00
Teruaki Kawashima
85f1df1b1a fix crash after unplugging USB while in image viewer plugin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28211 a1c6a512-1295-4272-9138-f99709370657
2010-10-05 13:17:02 +00:00
Marcin Bukat
e920671755 imageviewer bmp - drop special case for grey bitmap scaller
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28186 a1c6a512-1295-4272-9138-f99709370657
2010-09-29 20:38:14 +00:00
Rafaël Carré
ab9fd1840b plugins: use lcd_putsf/lcd_putsxyf
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27926 a1c6a512-1295-4272-9138-f99709370657
2010-08-28 21:46:45 +00:00
Thomas Martitz
cae4ae2c71 Second try: Introduce plugin_crt0.c that every plugin links.
It handles exit() properly, calling the handler also when the plugin returns
normally (also make exit() more standard compliant while at it).
It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore.

To work better together with callbacks passed to rb->default_event_handler_ex() introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it.
In most cases rb->default_event_handler_ex() was passed a callback which was manually called at all other return points. This can now be done via atexit().

In future plugin_crt0.c could also handle clearing bss, initializing iram and more.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27873 a1c6a512-1295-4272-9138-f99709370657
2010-08-24 14:30:46 +00:00
Thomas Martitz
93cb949372 Revert "Introduce plugin_crt0.c that every plugin links."
Too much errors and no time to fix them now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27863 a1c6a512-1295-4272-9138-f99709370657
2010-08-23 17:12:26 +00:00
Thomas Martitz
abdc5935be Introduce plugin_crt0.c that every plugin links.
It handles exit() properly, calling the handler also when the plugin returns
normally (also it makes exit() more standard compliant while at it).
It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore.

To work better together with callbacks passed to rb->default_event_handler_ex introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it.
In most cases it was passed a callback which was manually called at all other return points. This can now be done via atexit().

In future plugin_crt0.c could also handle clearing bss, initializing iram and more.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27862 a1c6a512-1295-4272-9138-f99709370657
2010-08-23 16:56:49 +00:00
Frank Gevaerts
63011c6743 Revert accidental commit of "%z" support in r26071 (the implementation assumed size_t==long, which is not always the case in hosted environments)
Remove four remaining uses of %z, three of which were in DEBUGF


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27479 a1c6a512-1295-4272-9138-f99709370657
2010-07-18 12:42:47 +00:00
Thomas Martitz
35e8b1429a Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently).
The simulator defines PLATFORM_HOSTED, as RaaA will do (RaaA will not define SIMULATOR).
The new define is to (de-)select code to compile on hosted platforms generally.

Should be no functional change to targets or the simulator.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27019 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 16:53:00 +00:00
Michael Sevakis
e63e84a5df Convert some more stuff to mylcd_ and support pgfx as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26543 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 13:22:50 +00:00
Frank Gevaerts
e4f1bfe1c4 Fix possible buffer overflow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25886 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 19:36:51 +00:00
Frank Gevaerts
1c9cc6846c fix one more size_t/ssize_t misuse
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25885 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 19:35:09 +00:00
Thomas Martitz
50a6ca39ad Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Marcin Bukat
b09d3aec39 Add MPIO HD200 port - changed files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25724 a1c6a512-1295-4272-9138-f99709370657
2010-04-26 21:40:00 +00:00
Nils Wallménius
cbc65befa8 Fix for some bogus code in png by Andrew Rodland, fixing a warning when compiling with gcc 4.5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25709 a1c6a512-1295-4272-9138-f99709370657
2010-04-25 08:35:30 +00:00
Szymon Dziok
86a5937d39 Packard Bell Vibe: imageviewer - add button to quit immediately, like in r24904.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25678 a1c6a512-1295-4272-9138-f99709370657
2010-04-19 16:45:49 +00:00
Teruaki Kawashima
c1689ca80d bmpviewer: do aspect ratio correction.
it might be better to not change the message "loading width x height"?

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24976 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 16:39:36 +00:00
Teruaki Kawashima
15f6bfc0e5 imageviewer: add button to quit plugin immediately if there is enough key for it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24904 a1c6a512-1295-4272-9138-f99709370657
2010-02-25 11:11:41 +00:00
Teruaki Kawashima
c4eea8f11f FS#10535: bmp viewer plugin.
* changed bmp.c so that it loads bitmap larger than LCD correctly.
* removed bmp entry form inbuilt_filetypes in filetypes.c so that bmp files will be opened with bmp viewer when selected in browser.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24754 a1c6a512-1295-4272-9138-f99709370657
2010-02-18 15:10:31 +00:00
Szymon Dziok
7074a64d8a Packard Bell Vibe 500: Finish plugin keymaps. Rockbox compiles clean now for the target.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24658 a1c6a512-1295-4272-9138-f99709370657
2010-02-14 21:56:53 +00:00
Teruaki Kawashima
5b27fe9d95 jpeg,png: some minor changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24621 a1c6a512-1295-4272-9138-f99709370657
2010-02-12 14:41:52 +00:00
Teruaki Kawashima
ccf8e4e8ba jpeg,png: fix typo in comments and indentions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24307 a1c6a512-1295-4272-9138-f99709370657
2010-01-21 12:06:02 +00:00
Teruaki Kawashima
5bd0823749 jpeg,png: Merge user interface code and plugin entry point of the two plugins (part of FS#6321).
* Created new directory, imageviewer/ and moved both jpeg/ and png/ under it.
- this still doesn't merge the two plugins. i.e. both jpeg.rock and png.rock will be made for color targets.
- I'm thinking to merge the two plugins to single image viewer later.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24272 a1c6a512-1295-4272-9138-f99709370657
2010-01-18 12:46:19 +00:00