summaryrefslogtreecommitdiff
path: root/apps/settings_list.c
diff options
context:
space:
mode:
authorBertrik Sikken <bertrik@sikken.nl>2012-05-01 03:58:27 -0400
committerThomas Martitz <kugel@rockbox.org>2012-05-28 11:34:15 +0200
commitafc96087f8a6282cf732d142a4db7a3d604d39d8 (patch)
treeccdf78007bb087ab658edaa951f245ad4141bae2 /apps/settings_list.c
parent08f5224b1bf1293ab1d59fdfbf9045561733c38d (diff)
downloadrockbox-afc96087f8a6282cf732d142a4db7a3d604d39d8.tar.gz
rockbox-afc96087f8a6282cf732d142a4db7a3d604d39d8.zip
New crossfeed algorithm for Rockbox: "Meier" crossfeed
Emulates the basic "Meier" crossfeed (2 capacitors, 3 resistors) as discussed in http://www.meier-audio.homepage.t-online.de/passivefilter.htm This crossfeed blends a bit of low-pass filtered L signal into the R signal (and vice versa) while adding about 300 us delay to the crossfed-signal. A difference with the crossfeed already present in rockbox, is that this algorithm keeps the total spectrum flat (the one currently in rockbox accentuates low-frequency signals, making it sound a bit muffled). This implementation is quite lightweight, just 3 multiplies per left-right pair of samples. Has a default C implementation and optimized assembly versions for ARM and Coldfire. The crossfeed effect is quite subtle and is noticeable mostly one albums that have very strong left-right separation (e.g. one instrument only on the left, another only on the right). In the user interface, the new crossfeed option appears as "Meier" and is not configureable. The existing crossfeed is renamed to "Custom" as it allows itself to be customised. There is no entry for the user manual yet. Change-Id: Iaa100616fe0fcd7e16f08cdb9a7f41501973eee1
Diffstat (limited to 'apps/settings_list.c')
-rw-r--r--apps/settings_list.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/apps/settings_list.c b/apps/settings_list.c
index 10d00d5c89..accd51dfe1 100644
--- a/apps/settings_list.c
+++ b/apps/settings_list.c
@@ -1402,8 +1402,10 @@ const struct settings_list settings[] = {
1402#endif 1402#endif
1403 1403
1404 /* crossfeed */ 1404 /* crossfeed */
1405 OFFON_SETTING(F_SOUNDSETTING, crossfeed, LANG_CROSSFEED, false, 1405 CHOICE_SETTING(F_SOUNDSETTING, crossfeed, LANG_CROSSFEED, 0,"crossfeed",
1406 "crossfeed", dsp_crossfeed_enable), 1406 "off,meier,custom", dsp_set_crossfeed_type, 3,
1407 ID2P(LANG_OFF), ID2P(LANG_CROSSFEED_MEIER),
1408 ID2P(LANG_CROSSFEED_CUSTOM)),
1407 INT_SETTING_NOWRAP(F_SOUNDSETTING, crossfeed_direct_gain, 1409 INT_SETTING_NOWRAP(F_SOUNDSETTING, crossfeed_direct_gain,
1408 LANG_CROSSFEED_DIRECT_GAIN, -15, 1410 LANG_CROSSFEED_DIRECT_GAIN, -15,
1409 "crossfeed direct gain", UNIT_DB, -60, 0, 5, 1411 "crossfeed direct gain", UNIT_DB, -60, 0, 5,