summaryrefslogtreecommitdiff
path: root/lib/rbcodec (follow)
Commit message (Collapse)AuthorAge
...
* Still need settings.h in dsp_misc.c for now for software volume.Michael Sevakis2012-04-30
| | | | Change-Id: I824e8f9935013f6e2a1db6ccd2db4bd406257057
* Make DSP's replaygain independent of global_settings.Michael Sevakis2012-04-30
| | | | | | | | | | Moves replaygain definitions to lib/rbcodec/dsp/dsp_misc.h. Intermediate functions in misc.c handle any adjustment and calling the rbcodec APIs. Change-Id: I9f03561bca9aedd13760cf19c4e19aa3c68e7024 Reviewed-on: http://gerrit.rockbox.org/140 Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
* Warble must have a call to dsp_init before setting options or using it.Michael Sevakis2012-04-30
| | | | Change-Id: If5cabba99baffe87002d07f11641175f539315a1
* Put the <string.h> channel_mode.c for memcpy.Michael Sevakis2012-04-29
| | | | | | Hmmm, how'd I miss that? Change-Id: I30d9a1b5f053aad069687aa0a01ebdf40a6b2d76
* Make rbcodec/dsp includes more specific.Michael Sevakis2012-04-29
| | | | Change-Id: Idb6af40df26f5b8499a40e8b98602261ef227044
* Make compressor_update static.Michael Sevakis2012-04-29
| | | | Change-Id: Ic29242b4c397e82c2bee3808492a2d0a9ffebbe6
* Lower IRAM footprint on ARM.Michael Sevakis2012-04-29
| | | | | | | Move a few functions to .text that probably don't see a huge benefit from being .icode. Will scrutinize later. Change-Id: I7bdffc326076c5cd7e6a1c57d25d31e653920327
* Fix 3g warning in dsp_arm.S (which showed as an error).Michael Sevakis2012-04-29
| | | | Change-Id: Iccbeca66e809413dda90fec36439b4a180b8a879
* Get warble building again.Michael Sevakis2012-04-29
| | | | Change-Id: Ibdb2d9064d0e948cfb745c10a7b23de1a750d55b
* Fix no newline at end warning.Michael Sevakis2012-04-29
| | | | Change-Id: I9edb1ebb34f91893b6290d7640fcdaede3434b40
* Fundamentally rewrite much of the audio DSP.Michael Sevakis2012-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Creates a standard buffer passing, local data passing and messaging system for processing stages. Stages can be moved to their own source files to reduce clutter and ease assimilation of new ones. dsp.c becomes dsp_core.c which supports an engine and framework for effects. Formats and change notifications are passed along with the buffer so that they arrive at the correct time at each stage in the chain regardless of the internal delays of a particular one. Removes restrictions on the number of samples that can be processed at a time and it pays attention to destination buffer size restrictions without having to limit input count, which also allows pcmbuf to remain fuller and safely set its own buffer limits as it sees fit. There is no longer a need to query input/output counts given a certain number of input samples; just give it the sizes of the source and destination buffers. Works in harmony with stages that are not deterministic in terms of sample input/output ratio (like both resamplers but most notably the timestretch). As a result it fixes quirks with timestretch hanging up with certain settings and it now operates properly throughout its full settings range. Change-Id: Ib206ec78f6f6c79259c5af9009fe021d68be9734 Reviewed-on: http://gerrit.rockbox.org/200 Reviewed-by: Michael Sevakis <jethead71@rockbox.org> Tested-by: Michael Sevakis <jethead71@rockbox.org>
* rbcodec refactoring: get_audio_base_data_typeSean Bartell2012-04-28
| | | | | | | | | | This function has been changed to rbcodec_format_is_atomic, which doesn't require an enum from the kernel. Change-Id: I1d537605087fe130a9b545509d7b8a340806dbf2 Reviewed-on: http://gerrit.rockbox.org/141 Reviewed-by: Nils Wallménius <nils@rockbox.org> Tested-by: Nils Wallménius <nils@rockbox.org>
* Some whitespace correction in dsp_*.SMichael Sevakis2012-04-27
| | | | Change-Id: I6ee14c0adc9dd456c8a2d171952cbaedb3752428
* rbcodec refactoring: dsp_set_eq_coefsSean Bartell2012-04-27
| | | | | | | | | dsp_set_eq_coefs now has parameters for the band settings, so it doesn't need to access global_settings. Change-Id: I29ac19fc353b15a79cb25f0e45132aef0881e4c9 Reviewed-on: http://gerrit.rockbox.org/138 Reviewed-by: Nils Wallménius <nils@rockbox.org>
* Consolidate compressor settings into a struct.Michael Sevakis2012-04-26
| | | | | | Doing that makes things cleaner for later on. Change-Id: I4e279aa57ace16a348acc0fc09059592325ec95f
* Add a more correct absolute difference function to dsp-util.Michael Sevakis2012-04-26
| | | | | | | | | Differences between signed samples cover the entire unsigned 32-bit range. "abs" will think any difference exceeding INT32_MAX is negative which is not corrent. Test which argument is greater and subtract the lesser from it, outputting unsigned difference. Change-Id: I73a8e5e418d49ff73d1a7c98eeb4731946dcfe84
* Add codecs to librbcodec.Sean Bartell2012-04-25
| | | | | | | Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97 Reviewed-on: http://gerrit.rockbox.org/137 Reviewed-by: Nils Wallménius <nils@rockbox.org> Tested-by: Nils Wallménius <nils@rockbox.org>
* Fix warble and clean up/refactor Makefile.Thomas Martitz2012-03-27
| | | | Change-Id: I8754ad8724e22147b98a156fecea599bdda72292
* build system: unify/simplify library handling a bit.Thomas Martitz2012-03-26
| | | | | | | 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
* Build librbcodec with DSP and metadata.Sean Bartell2012-03-18
| | | | | | All associated files are moved to /lib/rbcodec. Change-Id: I572ddd2b8a996aae1e98c081d06b1ed356dce222
* Re-add -DDEBUG to the warble makefileFrank Gevaerts2012-03-04
| | | | Change-Id: I515d2299b0de39092fbae3b070bd2d6d19a43ec5
* Remove standalone makefile. Use configure to buildFrank Gevaerts2012-03-03
| | | | Change-Id: Ifa4fac02100da17b16199ac63cad1f6fe569667f
* Move includes of other makefiles around to make GCCFLAGS work properly.Frank Gevaerts2012-03-03
| | | | Change-Id: Ic6aed06298dcb668a2c0f2c09d25612437893d1b
* Integrate the warble tool in the regular build system.Frank Gevaerts2012-03-03
| | | | | | Only sdl app builds work properly for now. Change-Id: I7807d42f69b8577b401e48cdc63de71e54f49217
* Add the warble test program.Sean Bartell2012-03-03
Warble uses Rockbox's codecs to play files with SDL or convert them to WAV or raw formats. It also prints metadata and supports some of the DSP effects. In the future, warble could be used to implement an automated test suite for codecs, metadata, and DSP. Change-Id: Ife1a63d2354496016277bfcbae4a9c23423ebd86 Reviewed-on: http://gerrit.rockbox.org/135 Reviewed-by: Nils Wallménius <nils@rockbox.org> Tested-by: Nils Wallménius <nils@rockbox.org>