diff options
author | Sebastian Gesemann <unknown> | 2011-10-03 12:03:37 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2011-10-04 21:34:30 +0200 |
commit | 3fcf463f9ef42aa0da0da4f9d0aed2e7aeda28bb (patch) | |
tree | 3d25b85fae36a8174ada6cc40cca4bae4b87e9d9 /src/dsd2pcm/info.txt | |
parent | f77cd63286bedbd995bed0e232498543e28d3957 (diff) | |
download | mpd-3fcf463f9ef42aa0da0da4f9d0aed2e7aeda28bb.tar.gz mpd-3fcf463f9ef42aa0da0da4f9d0aed2e7aeda28bb.tar.xz mpd-3fcf463f9ef42aa0da0da4f9d0aed2e7aeda28bb.zip |
import dsd2pcm_src.zip
[this is the code from dsd2pcm_src.zip, published on a forum by
Sebastian Gesemann. Upon request, he has given permission to
redistribute and modify his code, without referring to a specific
license. - mk]
Diffstat (limited to '')
-rw-r--r-- | src/dsd2pcm/info.txt | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/dsd2pcm/info.txt b/src/dsd2pcm/info.txt new file mode 100644 index 000000000..15ff29245 --- /dev/null +++ b/src/dsd2pcm/info.txt @@ -0,0 +1,38 @@ +You downloaded the source code for "dsd2pcm" which is a simple little +"filter" program, that takes a DSD data stream on stdin and converts +it to a PCM stream (352.8 kHz, either 16 or 24 bits) and writes it to +stdout. The code is split into three modules: + + (1) dsd2pcm + + This is where the 8:1 decimation magic happens. It's an + implementation of a symmetric 96-taps FIR lowpass filter + optimized for DSD inputs. If you feed this converter with + DSD64 you get a PCM stream at 352.8 kHz and floating point + samples. This module is independent and can be reused. + + (2) noiseshape + + A module for applying generic noise shaping filters. It's + used for the 16-bit output mode in "main" to preserve the + dynamic range. This module is independent and can be reused. + + (3) main.cpp (file contains the main function and handles I/O) + +The first two modules are pure C for maximum portability. In addition, +there are C++ wrapper headers for convenient use of these modules in +C++. The main application is a C++ application and makes use of the +C++ headers to access the functionality of the first two modules. + + +Under Linux this program is easily compiled by typing + + g++ *.c *.cpp -O3 -o dsd2pcm + +provided you have GCC installed. That's why I didn't bother writing +any makefiles. :-p + + +Cheers! +SG + |