diff options
author | Dave Bryant <bryant@rockbox.org> | 2005-09-30 21:11:31 +0000 |
---|---|---|
committer | Dave Bryant <bryant@rockbox.org> | 2005-09-30 21:11:31 +0000 |
commit | f0fe3c94772ddf971810e5082dcfb9b0ac462ae4 (patch) | |
tree | 3ee8e43a93fd3441bbb9b71a094406a83e4435a8 | |
parent | a1de081a1b22fdcb8c5530f702866ca658cc68c2 (diff) | |
download | rockbox-f0fe3c94772ddf971810e5082dcfb9b0ac462ae4.tar.gz rockbox-f0fe3c94772ddf971810e5082dcfb9b0ac462ae4.zip |
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
-rw-r--r-- | apps/codecs/wavpack.c | 11 |
1 files changed, 10 insertions, 1 deletions
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); |