diff options
author | Thom Johansen <thomj@rockbox.org> | 2007-03-07 19:11:16 +0000 |
---|---|---|
committer | Thom Johansen <thomj@rockbox.org> | 2007-03-07 19:11:16 +0000 |
commit | 99b2742cd0de7181677f3aa7222caa5dc358ee12 (patch) | |
tree | 55c0cec293ca3fb1c35dc5fa983bb03bff54785d /apps/dsp.c | |
parent | 09b97b4a21921f05d29d215e0d5cf7df4f83a472 (diff) | |
download | rockbox-99b2742cd0de7181677f3aa7222caa5dc358ee12.tar.gz rockbox-99b2742cd0de7181677f3aa7222caa5dc358ee12.zip |
Use the new DSP callback functionality in firmware/sound.c to deal with SWCODEC stereo width and channel configuration instead of the old more spread out #ifdef based approach. Rename the DSP functions involved for more consistent naming.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12677 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/dsp.c')
-rw-r--r-- | apps/dsp.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/apps/dsp.c b/apps/dsp.c index 9e410f879a..be851e2305 100644 --- a/apps/dsp.c +++ b/apps/dsp.c | |||
@@ -971,7 +971,7 @@ static void apply_gain(int count, int32_t *buf[]) | |||
971 | FRACMUL_8_LOOP(s, gain, sl, d); | 971 | FRACMUL_8_LOOP(s, gain, sl, d); |
972 | } | 972 | } |
973 | 973 | ||
974 | void stereo_width_set(int value) | 974 | void dsp_set_stereo_width(int value) |
975 | { | 975 | { |
976 | long width, straight, cross; | 976 | long width, straight, cross; |
977 | 977 | ||
@@ -1022,6 +1022,8 @@ static void channels_process_sound_chan_mono(int count, int32_t *buf[]) | |||
1022 | } | 1022 | } |
1023 | #endif /* DSP_HAVE_ASM_SOUND_CHAN_MONO */ | 1023 | #endif /* DSP_HAVE_ASM_SOUND_CHAN_MONO */ |
1024 | 1024 | ||
1025 | #if CONFIG_CODEC == SWCODEC | ||
1026 | |||
1025 | #ifdef HAVE_SW_TONE_CONTROLS | 1027 | #ifdef HAVE_SW_TONE_CONTROLS |
1026 | static void set_tone_controls(void) | 1028 | static void set_tone_controls(void) |
1027 | { | 1029 | { |
@@ -1029,10 +1031,12 @@ static void set_tone_controls(void) | |||
1029 | 0xffffffff/NATIVE_FREQUENCY*3500, | 1031 | 0xffffffff/NATIVE_FREQUENCY*3500, |
1030 | bass, treble, -prescale, tone_filter.coefs); | 1032 | bass, treble, -prescale, tone_filter.coefs); |
1031 | } | 1033 | } |
1034 | #endif | ||
1032 | 1035 | ||
1033 | int dsp_callback(int msg, intptr_t param) | 1036 | int dsp_callback(int msg, intptr_t param) |
1034 | { | 1037 | { |
1035 | switch (msg) { | 1038 | switch (msg) { |
1039 | #ifdef HAVE_SW_TONE_CONTROLS | ||
1036 | case DSP_CALLBACK_SET_PRESCALE: | 1040 | case DSP_CALLBACK_SET_PRESCALE: |
1037 | prescale = param; | 1041 | prescale = param; |
1038 | set_tone_controls(); | 1042 | set_tone_controls(); |
@@ -1045,6 +1049,13 @@ int dsp_callback(int msg, intptr_t param) | |||
1045 | break; | 1049 | break; |
1046 | case DSP_CALLBACK_SET_TREBLE: | 1050 | case DSP_CALLBACK_SET_TREBLE: |
1047 | treble = param; | 1051 | treble = param; |
1052 | #endif | ||
1053 | case DSP_CALLBACK_SET_CHANNEL_CONFIG: | ||
1054 | dsp_set_channel_config(param); | ||
1055 | break; | ||
1056 | case DSP_CALLBACK_SET_STEREO_WIDTH: | ||
1057 | dsp_set_stereo_width(param); | ||
1058 | break; | ||
1048 | default: | 1059 | default: |
1049 | break; | 1060 | break; |
1050 | } | 1061 | } |
@@ -1097,7 +1108,7 @@ static void channels_process_sound_chan_karaoke(int count, int32_t *buf[]) | |||
1097 | } | 1108 | } |
1098 | #endif /* DSP_HAVE_ASM_SOUND_CHAN_KARAOKE */ | 1109 | #endif /* DSP_HAVE_ASM_SOUND_CHAN_KARAOKE */ |
1099 | 1110 | ||
1100 | void channels_set(int value) | 1111 | void dsp_set_channel_config(int value) |
1101 | { | 1112 | { |
1102 | static const channels_process_fn_type channels_process_functions[] = | 1113 | static const channels_process_fn_type channels_process_functions[] = |
1103 | { | 1114 | { |