From f0fe3c94772ddf971810e5082dcfb9b0ac462ae4 Mon Sep 17 00:00:00 2001 From: Dave Bryant Date: Fri, 30 Sep 2005 21:11:31 +0000 Subject: Fix some WavPack bugs by forcing DSP use even when not needed for sampling rate conversion or ReplayGain. Costs about 12% boost ratio when DSP would not have been used before. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7573 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/wavpack.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/codecs/wavpack.c b/apps/codecs/wavpack.c index 12a05bbe37..e97724a94e 100644 --- a/apps/codecs/wavpack.c +++ b/apps/codecs/wavpack.c @@ -26,6 +26,9 @@ static struct codec_api *ci; +#define FORCE_DSP_USE /* fixes some WavPack bugs; adds about 12% to boost ratio + (when DSP would not have been used) */ + #define BUFFER_SIZE 4096 static long temp_buffer [BUFFER_SIZE] IDATA_ATTR; @@ -75,6 +78,11 @@ enum codec_status codec_start(struct codec_api* api) while (!*ci->taginfo_ready && !ci->stop_codec) ci->sleep(1); +#ifdef FORCE_DSP_USE + ci->configure(CODEC_DSP_ENABLE, (bool *)true); + ci->configure(DSP_SET_FREQUENCY, (long *)(ci->id3->frequency)); + codec_set_replaygain(ci->id3); +#else if (ci->id3->frequency != NATIVE_FREQUENCY || ci->global_settings->replaygain) { ci->configure(CODEC_DSP_ENABLE, (bool *)true); @@ -83,7 +91,8 @@ enum codec_status codec_start(struct codec_api* api) } else ci->configure(CODEC_DSP_ENABLE, (bool *)false); - +#endif + /* Create a decoder instance */ wpc = WavpackOpenFileInput (read_callback, error); -- cgit v1.2.3