diff options
author | Sean Bartell <wingedtachikoma@gmail.com> | 2011-06-25 21:32:25 -0400 |
---|---|---|
committer | Nils Wallménius <nils@rockbox.org> | 2012-04-25 22:13:20 +0200 |
commit | f40bfc9267b13b54e6379dfe7539447662879d24 (patch) | |
tree | 9b20069d5e62809ff434061ad730096836f916f2 /lib/rbcodec/codecs/libwavpack/README | |
parent | a0009907de7a0107d49040d8a180f140e2eff299 (diff) | |
download | rockbox-f40bfc9267b13b54e6379dfe7539447662879d24.tar.gz rockbox-f40bfc9267b13b54e6379dfe7539447662879d24.zip |
Add codecs to librbcodec.
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97
Reviewed-on: http://gerrit.rockbox.org/137
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
Diffstat (limited to 'lib/rbcodec/codecs/libwavpack/README')
-rw-r--r-- | lib/rbcodec/codecs/libwavpack/README | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/lib/rbcodec/codecs/libwavpack/README b/lib/rbcodec/codecs/libwavpack/README new file mode 100644 index 0000000000..b373235e1c --- /dev/null +++ b/lib/rbcodec/codecs/libwavpack/README | |||
@@ -0,0 +1,52 @@ | |||
1 | //////////////////////////////////////////////////////////////////////////// | ||
2 | // **** WAVPACK **** // | ||
3 | // Hybrid Lossless Wavefile Compressor // | ||
4 | // Copyright (c) 1998 - 2004 Conifer Software. // | ||
5 | // All Rights Reserved. // | ||
6 | // Distributed under the BSD Software License (see license.txt) // | ||
7 | //////////////////////////////////////////////////////////////////////////// | ||
8 | |||
9 | This package contains a tiny version of the WavPack 4.0 decoder that might | ||
10 | be used in a "resource limited" CPU environment or form the basis for a | ||
11 | hardware decoding implementation. It is packaged with a demo command-line | ||
12 | program that accepts a WavPack audio file on stdin and outputs a RIFF wav | ||
13 | file to stdout. The program is standard C, and a win32 executable is | ||
14 | included which was compiled under MS Visual C++ 6.0 using this command: | ||
15 | |||
16 | cl /O1 /DWIN32 wvfilter.c wputils.c unpack.c float.c metadata.c words.c bits.c | ||
17 | |||
18 | WavPack data is read with a stream reading callback. No direct seeking is | ||
19 | provided for, but it is possible to start decoding anywhere in a WavPack | ||
20 | stream. In this case, WavPack will be able to provide the sample-accurate | ||
21 | position when it synchs with the data and begins decoding. | ||
22 | |||
23 | For demonstration purposes this uses a single static copy of the | ||
24 | WavpackContext structure, so obviously it cannot be used for more than one | ||
25 | file at a time. Also, this decoder will not handle "correction" files, plays | ||
26 | only the first two channels of multi-channel files, and is limited in | ||
27 | resolution in some large integer or floating point files (but always | ||
28 | provides at least 24 bits of resolution). It also will not accept WavPack | ||
29 | files from before version 4.0. | ||
30 | |||
31 | To make this code viable on the greatest number of hardware platforms, the | ||
32 | following are true: | ||
33 | |||
34 | speed is about 4x realtime on an AMD K6 300 MHz | ||
35 | ("high" mode 16/44 stereo; normal mode is about twice that fast) | ||
36 | |||
37 | no floating-point math required; just 32b * 32b = 32b int multiply | ||
38 | |||
39 | large data areas are static and less than 4K total | ||
40 | executable code and tables are less than 32K | ||
41 | no malloc / free usage | ||
42 | |||
43 | To maintain compatibility on various platforms, the following conventions | ||
44 | are used: | ||
45 | |||
46 | a "short" must be 16-bits | ||
47 | a "long" must be 32-bits | ||
48 | an "int" must be at least 16-bits, but may be larger | ||
49 | a "char" must default to signed | ||
50 | |||
51 | |||
52 | Questions or comments should be directed to david@wavpack.com | ||