1
0
Fork 0
forked from len0rd/rockbox
foxbox/apps
Michael Sevakis c9bcbe202d Fundamentally rewrite much of the audio DSP.
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>
2012-04-29 10:00:56 +02:00
..
bitmaps Sansa clip zip: fix pinkish outline around usb logo 2012-02-18 16:01:06 +01:00
gui Fundamentally rewrite much of the audio DSP. 2012-04-29 10:00:56 +02:00
hosted/android android: Fix crash on start up. 2012-03-30 11:23:07 +02:00
keymaps hm801: Update keymaps. 2012-04-19 17:31:13 +04:00
lang FS#12611 - European Portuguese translation update (11th March) 2012-04-14 12:26:38 +02:00
menus Fundamentally rewrite much of the audio DSP. 2012-04-29 10:00:56 +02:00
player
plugins Fundamentally rewrite much of the audio DSP. 2012-04-29 10:00:56 +02:00
radio Move radio power handling from apps/ to drivers. 2012-02-25 15:59:08 +01:00
recorder Simplify warning suppression for unused argument 2012-04-22 16:20:31 +02:00
abrepeat.c abrepeat: drop some inline's and rearrange code to save some size since this stuff is hardly speed critical. 2011-01-18 16:11:33 +00:00
abrepeat.h abrepeat: drop some inline's and rearrange code to save some size since this stuff is hardly speed critical. 2011-01-18 16:11:33 +00:00
action.c touchscreen: Fix kinetic scrolling when the statusbar is off. 2012-04-05 15:01:59 +02:00
action.h Add new actions to %Tp (Touchscreen areas) 2012-03-13 03:17:12 +01:00
alarm_menu.c Changed the FOR_NB_SCREENS macro to always be a for loop that declares its own loop variable. This removes the need to declare this variable in the outer scope. 2011-10-15 19:35:02 +00:00
alarm_menu.h
appevents.h Fix FS#12606 - next track can cause the screen to be cleared 2012-03-20 22:10:19 +11:00
applimits.h Remove two unused defines. 2010-08-21 15:49:42 +00:00
apps.make Android: use APPEXTRA instead of makefile hack 2011-03-11 16:08:36 +00:00
audio_path.c
beep.c Tweak paramters of mp3_play_data and callback. 2012-03-04 14:50:47 -05:00
bookmark.c Fix minor bookmark problems/Enhance bookmark functions 2012-03-12 08:54:02 +01:00
bookmark.h Fix minor bookmark problems/Enhance bookmark functions 2012-03-12 08:54:02 +01:00
buffering.c Provide a reasonable fix for FS#12093 - Playback hanging after codec/playback rework. Also, get rid of an impossible buffering case (BUF_USED is always less than buffer_len) and remove a buffering API that is not used anywhere and shouldn't be needed (plugin API has to be incompatible). 2011-05-09 21:19:11 +00:00
buffering.h Add more INIT_ATTR and add config.h includes to header files with INIT_ATTR. 2011-12-19 20:12:52 +00:00
codec_thread.c Fundamentally rewrite much of the audio DSP. 2012-04-29 10:00:56 +02:00
codec_thread.h Add more INIT_ATTR and add config.h includes to header files with INIT_ATTR. 2011-12-19 20:12:52 +00:00
codecs.c Fundamentally rewrite much of the audio DSP. 2012-04-29 10:00:56 +02:00
core_asmdefs.c
cuesheet.c Rename 'mp3entry.embed_cuesheet' to 'mp3entry.embedded_cuesheet' and pull out a field (FS#12473) 2011-12-22 18:56:11 +00:00
cuesheet.h FS #12419 : Support for embedded cuesheets. 2011-12-16 10:09:41 +00:00
debug_menu.c rds: show rds clock-time as broken down time instead of UTC time in debug menu 2012-03-12 08:42:53 +01:00
debug_menu.h dbg_ports() : move proto to system.h 2012-01-04 05:21:44 +00:00
enc_config.c Fix different enum comparison warning when building with gcc 4.5 2010-12-20 20:56:22 +00:00
enc_config.h
features.txt Finally commit FS#5111 - piezo clicker for ipods! 2011-11-16 10:25:43 +00:00
filetree.c playlist handling: revert part of r30177. 2011-11-28 12:41:15 +00:00
filetree.h
filetypes.c Sprinkle around some static and const. 2011-12-05 19:23:46 +00:00
filetypes.h Add more INIT_ATTR and add config.h includes to header files with INIT_ATTR. 2011-12-19 20:12:52 +00:00
fixedpoint.c
fixedpoint.h
fracmul.h Build librbcodec with DSP and metadata. 2012-03-18 12:00:39 +01:00
iap.c IAP: use a state machine for handling iap packets, based on FS#12135 2011-09-25 12:19:33 +00:00
keyboard.h
language.c Add stdio.h include for SEEK_SET define to various files. 2010-12-25 18:43:34 +00:00
language.h
logfdisp.c
logfdisp.h
main.c Fundamentally rewrite much of the audio DSP. 2012-04-29 10:00:56 +02:00
menu.c Force settings touchscreen mode in menus. 2012-01-27 09:15:05 +01:00
menu.h FS#12251 - User shortcuts in the main menu. 2011-11-15 13:22:02 +00:00
misc.c Tweak paramters of mp3_play_data and callback. 2012-03-04 14:50:47 -05:00
misc.h Correct actionable offense for misappropriation of action context. 2012-03-03 07:52:13 -05:00
mpeg.c Tweak paramters of mp3_play_data and callback. 2012-03-04 14:50:47 -05:00
mpeg.h
onplay.c Fix minor bookmark problems/Enhance bookmark functions 2012-03-12 08:54:02 +01:00
onplay.h FS#12251 - User shortcuts in the main menu. 2011-11-15 13:22:02 +00:00
pcmbuf.c Fundamentally rewrite much of the audio DSP. 2012-04-29 10:00:56 +02:00
pcmbuf.h Fix up some more type stuff in pcmbuf.c. 2012-04-27 16:51:54 -04:00
playback.c rbcodec refactoring: get_audio_base_data_type 2012-04-28 09:07:40 +02:00
playback.h FS#12378 : Remove various unused code, and comment out some unused code and data for reference or future use. 2011-12-14 21:45:25 +00:00
playlist.c Option to constrain get_next_dir() to directories below global_settings.start_directory. 2012-03-19 11:49:55 +01:00
playlist.h Add more INIT_ATTR and add config.h includes to header files with INIT_ATTR. 2011-12-19 20:12:52 +00:00
playlist_catalog.c FS#11808 - Major playlist handling changes (on disk playlists) 2011-07-20 14:11:15 +00:00
playlist_catalog.h FS#11808 - Major playlist handling changes (on disk playlists) 2011-07-20 14:11:15 +00:00
playlist_menu.h Updated our source code header to explicitly mention that we are GPL v2 or 2008-06-28 18:10:04 +00:00
playlist_viewer.c FS#12378 : Remove various unused code, and comment out some unused code and data for reference or future use. 2011-12-14 21:45:25 +00:00
playlist_viewer.h FS#11808 - Major playlist handling changes (on disk playlists) 2011-07-20 14:11:15 +00:00
plugin.c Fundamentally rewrite much of the audio DSP. 2012-04-29 10:00:56 +02:00
plugin.h Fundamentally rewrite much of the audio DSP. 2012-04-29 10:00:56 +02:00
README
root_menu.c More meaningful name and type for 'root menu' setting 2012-03-16 22:26:13 +01:00
root_menu.h main menu: Add the ability to hide and reorder the main menu items. 2012-02-25 12:40:44 +01:00
screen_access.c skin_engine: New tag to draw a rectangle (optionally with a gradient) 2012-03-15 22:52:53 +11:00
screen_access.h skin_engine: New tag to draw a rectangle (optionally with a gradient) 2012-03-15 22:52:53 +11:00
screens.c Add a %cs(current screen) state for the "Track Info" screen 2012-03-03 10:45:51 +01:00
screens.h
scrobbler.c Buflib: Clarification about invalid handles 2011-09-07 23:16:29 +00:00
scrobbler.h Make scrobbler_flush_cache() static 2011-08-01 19:43:13 +00:00
settings.c Fundamentally rewrite much of the audio DSP. 2012-04-29 10:00:56 +02:00
settings.h Fundamentally rewrite much of the audio DSP. 2012-04-29 10:00:56 +02:00
settings_list.c Fundamentally rewrite much of the audio DSP. 2012-04-29 10:00:56 +02:00
settings_list.h
shortcuts.c shortcuts: Don't enter shortcuts menu if there are none 2012-03-28 00:45:42 +11:00
shortcuts.h shortcuts: talk the time and configure the sleep timeout 2011-12-08 10:23:46 +00:00
sound_menu.h Remove unneeded include. 2010-08-21 16:07:34 +00:00
SOURCES Build librbcodec with DSP and metadata. 2012-03-18 12:00:39 +01:00
status.c
status.h
tagcache.c Add const to global pointers to strings. 2011-12-17 18:31:55 +00:00
tagcache.h Add more INIT_ATTR and add config.h includes to header files with INIT_ATTR. 2011-12-19 20:12:52 +00:00
tagnavi.config FS#12132 patch 7: Add a new default format for untagged tracks: 2011-07-31 16:26:39 +00:00
tagtree.c GSoC/Buflib: Enable compaction in buflib. 2011-08-30 14:01:45 +00:00
tagtree.h Add more INIT_ATTR and add config.h includes to header files with INIT_ATTR. 2011-12-19 20:12:52 +00:00
talk.c Tweak paramters of mp3_play_data and callback. 2012-03-04 14:50:47 -05:00
talk.h Add conditionals for functions only needed on SWCODEC targets. 2011-12-15 20:58:14 +00:00
tree.c keyclick: Add a callback so screens can cancel a click. Add a generic list callback to stop clicks when we are at the end of the list 2012-01-12 22:28:36 +11:00
tree.h Add more INIT_ATTR and add config.h includes to header files with INIT_ATTR. 2011-12-19 20:12:52 +00:00
usb_keymaps.c remove superfluous ifdef 2011-12-28 19:23:38 +00:00
usb_keymaps.h
voice_thread.c Fundamentally rewrite much of the audio DSP. 2012-04-29 10:00:56 +02:00
voice_thread.h Adjust some typing in voice_thread.c. Constants are also counts, not sizes. 2012-04-26 16:04:44 -04:00

For general information see: docs/README
For API information see: docs/API