summaryrefslogtreecommitdiff
path: root/apps/dsp.c (follow)
Commit message (Collapse)AuthorAge
* Build librbcodec with DSP and metadata.Sean Bartell2012-03-18
| | | | | | All associated files are moved to /lib/rbcodec. Change-Id: I572ddd2b8a996aae1e98c081d06b1ed356dce222
* Change EQ settings to use a struct array in global_settings.Michael Sevakis2012-03-12
| | | | | | | | | | The previous pseudo array access of separate members wasn't very nice or clear. Change-Id: I74a2b39bb9c71a1370a455c01c4d5a860765e040 Reviewed-on: http://gerrit.rockbox.org/179 Reviewed-by: Michael Sevakis <jethead71@rockbox.org> Tested-by: Michael Sevakis <jethead71@rockbox.org>
* Move to compressor out of dsp.c and into its own source to reduce DSP clutter.Michael Sevakis2012-02-08
| | | | | | A bit of a rough job for the moment but all works. Change-Id: Id40852e0dec99caee02f943d0da8a1cdc16f022a
* Collect the 16-bit signed range sample clipping routines scattered about, ↵Michael Sevakis2011-12-04
| | | | | | which can be optimized on armv6 and create firmware/export/dsp-util.h (for lack of better place right now). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31142 a1c6a512-1295-4272-9138-f99709370657
* Make local functions and variables static where possibleBertrik Sikken2011-11-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30897 a1c6a512-1295-4272-9138-f99709370657
* Revert swap channel feature as we're presently in a feature freeze. I'll ↵Michael Giacomelli2011-10-26
| | | | | | recommit after the release is branched. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30841 a1c6a512-1295-4272-9138-f99709370657
* Add option to exchange the left and right stereo channels. Patch by Dave ↵Michael Giacomelli2011-10-26
| | | | | | Chapman and Martin Sägmüller. Also add manual entry (by Michael Giacomelli). Note that this setting will confuse non-software effect options like channel balance. This should be addressed in a future commit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30837 a1c6a512-1295-4272-9138-f99709370657
* Implement move callback for timestretch sample allocation.Fred Bauer2011-10-21
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30813 a1c6a512-1295-4272-9138-f99709370657
* Changed the FOR_NB_SCREENS macro to always be a for loop that declares its ↵Björn Stenberg2011-10-15
| | | | | | own loop variable. This removes the need to declare this variable in the outer scope. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30756 a1c6a512-1295-4272-9138-f99709370657
* Clean up compressor setting codeJeffrey Goode2011-10-05
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30715 a1c6a512-1295-4272-9138-f99709370657
* Sanify dsp.c (re)sample buffer indirection.Michael Sevakis2011-09-02
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30409 a1c6a512-1295-4272-9138-f99709370657
* GSoC/Buflib: Enable compaction in buflib.Thomas Martitz2011-08-30
| | | | | | | | | | | | | | | | | | | 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
* GSoC/Buflib: Add buflib memory alocator to the core.Thomas Martitz2011-08-30
| | | | | | | | | | | | | | | | | The buflib memory allocator is handle based and can free and compact, move or resize memory on demand. This allows to effeciently allocate memory dynamically without an MMU, by avoiding fragmentation through memory compaction. This patch adds the buflib library to the core, along with convinience wrappers to omit the context parameter. Compaction is not yet enabled, but will be in a later patch. Therefore, this acts as a replacement for buffer_alloc/buffer_get_buffer() with the benifit of a debug menu. See buflib.h for some API documentation. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30380 a1c6a512-1295-4272-9138-f99709370657
* Rework parts of the replaygain code to be able to differentiate between 0.00 ↵Andree Buschmann2011-04-04
| | | | | | dB set intentionally and having no replaygain information at all. Bump codec api. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29679 a1c6a512-1295-4272-9138-f99709370657
* Changing convert_gain() also implicitly changed get_replaygain_int() which ↵Andree Buschmann2011-03-31
| | | | | | could lead to div by zero. This patch finds another way to fix the replaygain fallback. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29665 a1c6a512-1295-4272-9138-f99709370657
* Fix peak handling in replaygain (FS#11981). This bug was introduced with ↵Andree Buschmann2011-03-03
| | | | | | r29388 and is caused by calling convert_gain() for peak values. This results in very low output volume if 'Prevent Clipping' is enabled. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29509 a1c6a512-1295-4272-9138-f99709370657
* FS#11964. Rework replaygain handling to save metadata buffer and binsize. ↵Andree Buschmann2011-02-24
| | | | | | Remove string representation of replaygain and use a dedicated ftoa implementation for WPS/screen info. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29388 a1c6a512-1295-4272-9138-f99709370657
* Make sure the dsp code has proper resample buffers even if HAVE_PITCHSCREEN ↵Frank Gevaerts2010-09-24
| | | | | | is undefined. This makes playback work again without HAVE_PITCHSCREEN git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28158 a1c6a512-1295-4272-9138-f99709370657
* Make disabling HAVE_PITCHSCREEN actually work without breaking the buildFrank Gevaerts2010-09-17
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28102 a1c6a512-1295-4272-9138-f99709370657
* Partially revert svn r24888 that causes build failure on coldfire targetsBertrik Sikken2010-02-24
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24889 a1c6a512-1295-4272-9138-f99709370657
* Kill some global variablesBertrik Sikken2010-02-24
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24888 a1c6a512-1295-4272-9138-f99709370657
* Compressor: simplify makeup gain setting, expand release range, finally ↵Jeffrey Goode2009-11-04
| | | | | | provide documention in the manual! git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23518 a1c6a512-1295-4272-9138-f99709370657
* Tweak logf statementsJeffrey Goode2009-11-02
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23486 a1c6a512-1295-4272-9138-f99709370657
* Code cleanup in dsp.c and misc.c, some commentsJeffrey Goode2009-10-22
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23314 a1c6a512-1295-4272-9138-f99709370657
* Compressor: save lots of RAM, bug fix to work with internally clipped samplesJeffrey Goode2009-10-19
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23268 a1c6a512-1295-4272-9138-f99709370657
* Cleanup some logf info in dsp_set_compressorJeffrey Goode2009-10-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22890 a1c6a512-1295-4272-9138-f99709370657
* Fix yellow: braces around logf statementsJeffrey Goode2009-09-25
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22834 a1c6a512-1295-4272-9138-f99709370657
* Replace limiter with dynamic range compressorJeffrey Goode2009-09-25
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22832 a1c6a512-1295-4272-9138-f99709370657
* Fix red: remove buffer from IRAMJeffrey Goode2009-09-21
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22773 a1c6a512-1295-4272-9138-f99709370657
* Potential fix for FS#10572: limiter + time stretch produces garbage outputJeffrey Goode2009-09-21
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22772 a1c6a512-1295-4272-9138-f99709370657
* Performance improvement in limiter, about 2%Jeffrey Goode2009-09-19
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22735 a1c6a512-1295-4272-9138-f99709370657
* Fix subtle bug in limiterJeffrey Goode2009-09-18
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22725 a1c6a512-1295-4272-9138-f99709370657
* FS#10199: Adds limiter DSP functionJeffrey Goode2009-08-18
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22394 a1c6a512-1295-4272-9138-f99709370657
* FS#10446: Bug defense in dsp.c, minor tweaks and commentsJeffrey Goode2009-08-12
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22282 a1c6a512-1295-4272-9138-f99709370657
* * Move DSP_CALLBACK_* enum to sound.hMaurus Cuelenaere2009-08-01
| | | | | | | | | * Add software based volume control for a certain range (SW_VOLUME_MIN -> SW_VOLUME_MAX) * Make Onda VX747 use it * Don't change volume or frequency in Ingenic Jz4740 codec driver when they're already set git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22106 a1c6a512-1295-4272-9138-f99709370657
* Improvements to the pitch screen UI (FS#10359 by David Johnston)Alexander Levin2009-07-11
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21781 a1c6a512-1295-4272-9138-f99709370657
* Take 2 at 'Consolidate all fixed point math routines in one library' ↵Maurus Cuelenaere2009-07-05
| | | | | | (FS#10400) by Jeffrey Goode git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21664 a1c6a512-1295-4272-9138-f99709370657
* Revert "Consolidate all fixed point math routines in one library (FS#10400) ↵Maurus Cuelenaere2009-07-04
| | | | | | by Jeffrey Goode" git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21635 a1c6a512-1295-4272-9138-f99709370657
* Consolidate all fixed point math routines in one library (FS#10400) by ↵Maurus Cuelenaere2009-07-04
| | | | | | Jeffrey Goode git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21633 a1c6a512-1295-4272-9138-f99709370657
* Merge the "Replaygain Off" option into the replaygain type; eliminate the ↵Alexander Levin2009-06-20
| | | | | | "On/Off" setting (FS#10356). All WPS tags should work as before. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21414 a1c6a512-1295-4272-9138-f99709370657
* Fix silly typo in comment, but nothing more.Steve Bavin2009-06-17
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21318 a1c6a512-1295-4272-9138-f99709370657
* Rework internal timestretch enable/disable code - fix FS#10341(hopefully).Steve Bavin2009-06-17
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21317 a1c6a512-1295-4272-9138-f99709370657
* Renamed routines and changed comments for clarity.Steve Bavin2009-06-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21309 a1c6a512-1295-4272-9138-f99709370657
* Get rid of tdspeed_enabled in struct dsp_config and use the global_settings ↵Thomas Martitz2009-06-16
| | | | | | member instead. That one needs to be checked in tdspeed_init() as well, else the buffers are always allocated. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21305 a1c6a512-1295-4272-9138-f99709370657
* Fix FS#10331 and get mpegplayer working again.Steve Bavin2009-06-15
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21293 a1c6a512-1295-4272-9138-f99709370657
* FS#8894 - Add time stretching feature to all SWCODEC targets - the current ↵Steve Bavin2009-06-12
| | | | | | algorithm is best for spoken word. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21258 a1c6a512-1295-4272-9138-f99709370657
* Something horrible happened with binsize, so revert FS#8894 completely (for ↵Steve Bavin2008-09-08
| | | | | | now). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18449 a1c6a512-1295-4272-9138-f99709370657
* Add timestretching from FS#8894, as written by Stephane Doyon based on work ↵Steve Bavin2008-09-08
| | | | | | by Nicolas Pitre. Shouldn't affect playback unless it's explicitly enabled, but let me know if it does. Currently has a dedicated setting, but maybe inclusion of the code will inspire someone to integrate this with the pitch screen... git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18446 a1c6a512-1295-4272-9138-f99709370657
* Fix FS #8361 - Custom stereo width reset by changing treble on e200. Thanks ↵Dan Everton2008-07-07
| | | | | | to Tomer Shalev for the investigation work and the patch. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17976 a1c6a512-1295-4272-9138-f99709370657
* Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg2008-06-28
| | | | | | | | | later. We still need to hunt down snippets used that are not. 1324 modified files... http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657