diff options
author | Jeffrey Goode <jeffg7@gmail.com> | 2009-08-18 03:24:45 +0000 |
---|---|---|
committer | Jeffrey Goode <jeffg7@gmail.com> | 2009-08-18 03:24:45 +0000 |
commit | 2b7ef6b92880249e64639768012266e65f5d14cc (patch) | |
tree | 119d27b90177426b8c01da7d3f5a4e1d884a01ee /apps/plugins/test_codec.c | |
parent | f451108fa857fe16f35fa3beb5278e36fed74c67 (diff) | |
download | rockbox-2b7ef6b92880249e64639768012266e65f5d14cc.tar.gz rockbox-2b7ef6b92880249e64639768012266e65f5d14cc.zip |
FS#10199: Adds limiter DSP function
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22394 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/test_codec.c')
-rw-r--r-- | apps/plugins/test_codec.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/apps/plugins/test_codec.c b/apps/plugins/test_codec.c index bae4571067..22516ba373 100644 --- a/apps/plugins/test_codec.c +++ b/apps/plugins/test_codec.c | |||
@@ -810,10 +810,34 @@ show_menu: | |||
810 | 810 | ||
811 | rb->closedir(dir); | 811 | rb->closedir(dir); |
812 | } | 812 | } |
813 | /* process last samples */ | ||
814 | if (use_dsp) | ||
815 | rb->dsp_flush_limiter_buffer(dspbuffer); | ||
813 | } else { | 816 | } else { |
814 | /* Just test the file */ | 817 | /* Just test the file */ |
815 | res = test_track(parameter); | 818 | res = test_track(parameter); |
816 | 819 | ||
820 | /* process last samples */ | ||
821 | if (use_dsp) | ||
822 | { | ||
823 | int channels = (wavinfo.stereomode == STEREO_MONO) ? 1 : 2; | ||
824 | int count = rb->dsp_flush_limiter_buffer(dspbuffer); | ||
825 | if (channels == 1) | ||
826 | { | ||
827 | unsigned char *s = dspbuffer, *d = dspbuffer; | ||
828 | int c = count; | ||
829 | while (c-- > 0) | ||
830 | { | ||
831 | *d++ = *s++; | ||
832 | *d++ = *s++; | ||
833 | s++; | ||
834 | s++; | ||
835 | } | ||
836 | } | ||
837 | if (wavinfo.fd >= 0) | ||
838 | rb->write(wavinfo.fd, dspbuffer, count * 2 * channels); | ||
839 | } | ||
840 | |||
817 | /* Close WAV file (if there was one) */ | 841 | /* Close WAV file (if there was one) */ |
818 | if (wavinfo.fd >= 0) { | 842 | if (wavinfo.fd >= 0) { |
819 | close_wav(); | 843 | close_wav(); |