Commit graph

99 commits

Author SHA1 Message Date
Solomon Peachy
ab0ba139f5 pdbox: Gate the warning suppression to apply only to GCC 13 and newer.
Change-Id: Ie0f39fde5e682f3995ed852417b61ae383c5e23b
2023-05-22 10:28:38 -04:00
Solomon Peachy
3a8d5525ae pdbox: Fix warning with GCC13
Change-Id: I7814e7894b315d06c962fdaedf1a9f9cd59daf5c
2023-05-21 20:58:29 -04:00
Aidan MacDonald
d85f4b5e1c pdbox: Move core thread off COP
This is all but guaranteed to be broken since pdbox doesn't use
SHAREDBSS_ATTR or SHAREDDATA_ATTR, needed to share memory safely
with COP threads.

Judging by the codec performance comparison on the wiki, if the
iRiver H100 and H300 can run PDbox on one core, PP targets should
have no problem doing it - they are 2-4x faster even on codecs
that don't have multi-core optimizations.

Change-Id: I8f556013146cb670f69cc42e80b1c768ba0f74cd
2023-01-29 07:15:40 -05:00
Solomon Peachy
cddd8d66e2 Silence warnings that happen on newer GCCs
(code is presumably correct)

Change-Id: I3ee11b6a10dc87eb6f6178d6182397f0c7f686d5
2020-10-13 20:09:14 -04:00
Solomon Peachy
d73bfd1a42 pdbox/doom: Use -Wno-stringop-truncation with GCC >=8
This should shut up a lot of the sim build failures

Change-Id: Ieaa387585cb8ca0f8b2faff24c08aad9451b28ce
2020-05-18 00:47:04 +02:00
William Wilgus
78b2d13567 Pdbox hide cast-function-type fix overlapping memcpy
dsoundfile.c used memcpy for overlapping memory regions switched to memmove
Suppress the 160+ warnings for cast-function-type
This plugin would require major work to fix these warnings

Change-Id: I309d914839c1e70126a05b387863fd21613497a9
2018-12-08 06:23:19 -06:00
Frank Gevaerts
2a2800b528 pdbox: fix bug shown by new gcc warning
Change-Id: Ife308a3090f9bc62f2e98d2d979fdf393c22054d
2016-10-12 16:52:49 +02:00
Thomas Jarosch
fdd4aef340 Make thirty functions static to reduce binary size
If any of those functions should be (unused) API functions,
they can easily be turned back once really needed.

Detected using a new cppcheck check that
uses the internal symbol database to catch
functions that are only used in the current file.

Change-Id: Ic2b1e5b8020b76397f11cefc4e205f3b7ac1f184
2015-01-05 18:44:36 +01:00
Björn Stenberg
1501df045f Deprecate the EXTRA_LIBS variable.
Instead specify explicit library dependencies for codecs and plugins.
2013-01-24 16:06:45 +01:00
Marcin Bukat
71778bd21e pdbox: Always use fixedpoint version of math functions
Change-Id: Ie5671d8f425804c9cf3265bad86eadadaf73ea1c
2012-10-07 15:04:24 +02:00
Marcin Bukat
ef4bf8a9f0 pdbox: fix makefile
Change-Id: I52260e4b17348c039f958ff9fa661367d3a31eac
2012-10-07 13:55:52 +02: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
c56950ea3a tlsf: move to /lib (it's also used by plugins).
Change-Id: I5e37b28c1ce4608d60b036343f280af3311ad490
2012-03-28 23:02:39 +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
Michael Sevakis
286a4c5caa Revise the PCM callback system after adding multichannel audio.
Additional status callback is added to pcm_play/rec_data instead of
using a special function to set it. Status includes DMA error
reporting to the status callback. Playback and recording callback
become more alike except playback uses "const void **addr" (because
the data should not be altered) and recording  uses "void **addr".
"const" is put in place throughout where appropriate.

Most changes are fairly trivial. One that should be checked in
particular because it isn't so much is telechips, if anyone cares to
bother. PP5002 is not so trivial either but that tested as working.

Change-Id: I4928d69b3b3be7fb93e259f81635232df9bd1df2
Reviewed-on: http://gerrit.rockbox.org/166
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2012-03-03 07:23:38 +01:00
Frank Gevaerts
7efbd632c2 Fix wrong pointer arithmetic in the PDbox aiff header writing code
The SSND bit is intended to be right after the t_aiff-sized header.
Someone got cast vs + precedence rules wrong here.

Change-Id: Iccec75043ed5e35724331f9833b24f7e3b90c447
2012-01-22 21:41:38 +01: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
Wincent Balin
d01954cad2 Committing fix for FS#12249. Patch by Buschel. Further fixes for AIFF loader in PDBox in the future.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30944 a1c6a512-1295-4272-9138-f99709370657
2011-11-08 23:48:24 +00:00
Andree Buschmann
0a070c5420 Fix last known 'set but not used' warning by GCC 4.6.1.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29875 a1c6a512-1295-4272-9138-f99709370657
2011-05-13 19:40:17 +00:00
Andree Buschmann
2aa0759077 Fix even more 'set but not used' warnings and a regression.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29873 a1c6a512-1295-4272-9138-f99709370657
2011-05-13 19:23:27 +00:00
Andree Buschmann
4f4edd89e4 Fix further 'set but not used' warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29872 a1c6a512-1295-4272-9138-f99709370657
2011-05-13 19:06:04 +00:00
Andree Buschmann
f7808c1fe5 Fix several 'variable set but not used' warnings reported by GCC 6.4.1.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29871 a1c6a512-1295-4272-9138-f99709370657
2011-05-13 18:47:42 +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
930a8a5050 set mode argument for open() where O_CREAT flag is/can be set.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28527 a1c6a512-1295-4272-9138-f99709370657
2010-11-07 11:45:20 +00:00
Rafaël Carré
da16248e47 Plugins: modify IRAM copying code
Move to plugin_crt0.c, plugins don't need PLUGIN_IRAM_* macros anymore
IRAM is no longered zeroed before copying (as it is at the same address
than BSS) -> Fix FS#11581
Use cpucache_invalidate() (and not cpucache_flush), needed for self-modifying code on cached IRAM

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27948 a1c6a512-1295-4272-9138-f99709370657
2010-08-30 20:47:53 +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
Nils Wallménius
28ba570e68 pdbox: disable strict aliasing optimizations since pdbox breaks the strict aliasing rules which causes warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27530 a1c6a512-1295-4272-9138-f99709370657
2010-07-23 08:56:18 +00:00
Rafaël Carré
aa3c676945 pdbox: avoid making own DEBUG clash with rockbox define
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27388 a1c6a512-1295-4272-9138-f99709370657
2010-07-11 16:46:49 +00:00
Thomas Martitz
57613ea5fa Rename/change SIMVER to APP_TYPE in the Makefiles.
SIMVER was really only used to detect a simulator build. With APP_TYPE you can
now differentiate between simulator, application, checkwps and database builds.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27372 a1c6a512-1295-4272-9138-f99709370657
2010-07-10 13:49:49 +00:00
Wincent Balin
9bb36b0c8e pdbox: Now backlight does not fade out -- making music requires attention.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27368 a1c6a512-1295-4272-9138-f99709370657
2010-07-10 06:21:21 +00:00
Wincent Balin
38fe596cd5 pdbox: Optimizations in the audio output code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27288 a1c6a512-1295-4272-9138-f99709370657
2010-07-05 01:35:04 +00:00
Wincent Balin
d5342fd129 pdbox: Added Sansa e200 to supported devices.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27287 a1c6a512-1295-4272-9138-f99709370657
2010-07-05 01:31:57 +00:00
Wincent Balin
53425ad604 pdbox: Added different sampling rates based on hardware capabilities.
Also a minor code cleanup.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27286 a1c6a512-1295-4272-9138-f99709370657
2010-07-05 01:26:41 +00:00
Frank Gevaerts
64276fc0ff Add -lm to pdbox sim build
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27261 a1c6a512-1295-4272-9138-f99709370657
2010-07-03 21:16:59 +00:00
Frank Gevaerts
9e5846e7fc Fix include file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27017 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 16:39:55 +00:00
Frank Gevaerts
3c78cb35e8 Remove plugin-specific defines from the pdbox makefile, and add them to m_pd.h, which is the global pdbox header. This makes sure that the defines are set during depency generation so dependencies are correct.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27016 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 16:34:13 +00:00
Wincent Balin
988b32383e pdbox: Moved all global variables in pdbox.c to IRAM.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26581 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 15:00:53 +00:00
Wincent Balin
0133a4f052 pdbox: Reverted premature commit of Coldfire optimization.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26560 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 21:32:14 +00:00
Wincent Balin
58d875e441 pdbox: Fixing yellows.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26552 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 18:54:07 +00:00
Wincent Balin
66cc643402 pdbox: Corrected inclusion of m_fixed.h .
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26551 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 18:37:55 +00:00
Wincent Balin
d166d61b09 pdbox: Added Coldfire multiplication optimization by Buschel.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26550 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 18:21:47 +00:00
Wincent Balin
2464eaeba1 pdbox: Reduced (visible) precision of numbers shown in the GUI.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26549 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 18:07:01 +00:00
Wincent Balin
97fef6b0c5 pdbox: The values on of widgets are reset on start now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26548 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 18:05:59 +00:00
Andree Buschmann
dbfb90672b Ensure CPU is defined.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26546 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 16:22:10 +00:00
Wincent Balin
2e5b1b1a9c pdbox: Applied several changes by Buschel. Reintroduced compilation for iPods.
Changes by Buschel:

* Reduced footprint by making cosine table of size 1^13 instead of 1^15
* Corrected interpolation in the cos~ object
* Optimized multiplication on ARM platforms



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26534 a1c6a512-1295-4272-9138-f99709370657
2010-06-03 22:03:37 +00:00
Rafaël Carré
da2dd97705 pdbox: fix build on ARM with eabi
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26514 a1c6a512-1295-4272-9138-f99709370657
2010-06-03 15:27:59 +00:00
Wincent Balin
d2f848fe39 pdbox: Added keypad for iPod 1G-4G. Reordered SOURCES alphabetically.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26500 a1c6a512-1295-4272-9138-f99709370657
2010-06-03 02:34:19 +00:00
Wincent Balin
c1ae4414d4 pdbox: Source cleanup. Removed unneeded files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26497 a1c6a512-1295-4272-9138-f99709370657
2010-06-03 00:39:13 +00:00