From e449d88b3e6b584998f8f38ed61467c35ca74466 Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Fri, 25 Feb 2005 17:05:30 +0000 Subject: Initial import of libwavpack git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6056 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/libwavpack/README | 52 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 apps/codecs/libwavpack/README (limited to 'apps/codecs/libwavpack/README') diff --git a/apps/codecs/libwavpack/README b/apps/codecs/libwavpack/README new file mode 100644 index 0000000000..b373235e1c --- /dev/null +++ b/apps/codecs/libwavpack/README @@ -0,0 +1,52 @@ +//////////////////////////////////////////////////////////////////////////// +// **** WAVPACK **** // +// Hybrid Lossless Wavefile Compressor // +// Copyright (c) 1998 - 2004 Conifer Software. // +// All Rights Reserved. // +// Distributed under the BSD Software License (see license.txt) // +//////////////////////////////////////////////////////////////////////////// + +This package contains a tiny version of the WavPack 4.0 decoder that might +be used in a "resource limited" CPU environment or form the basis for a +hardware decoding implementation. It is packaged with a demo command-line +program that accepts a WavPack audio file on stdin and outputs a RIFF wav +file to stdout. The program is standard C, and a win32 executable is +included which was compiled under MS Visual C++ 6.0 using this command: + +cl /O1 /DWIN32 wvfilter.c wputils.c unpack.c float.c metadata.c words.c bits.c + +WavPack data is read with a stream reading callback. No direct seeking is +provided for, but it is possible to start decoding anywhere in a WavPack +stream. In this case, WavPack will be able to provide the sample-accurate +position when it synchs with the data and begins decoding. + +For demonstration purposes this uses a single static copy of the +WavpackContext structure, so obviously it cannot be used for more than one +file at a time. Also, this decoder will not handle "correction" files, plays +only the first two channels of multi-channel files, and is limited in +resolution in some large integer or floating point files (but always +provides at least 24 bits of resolution). It also will not accept WavPack +files from before version 4.0. + +To make this code viable on the greatest number of hardware platforms, the +following are true: + + speed is about 4x realtime on an AMD K6 300 MHz + ("high" mode 16/44 stereo; normal mode is about twice that fast) + + no floating-point math required; just 32b * 32b = 32b int multiply + + large data areas are static and less than 4K total + executable code and tables are less than 32K + no malloc / free usage + +To maintain compatibility on various platforms, the following conventions +are used: + + a "short" must be 16-bits + a "long" must be 32-bits + an "int" must be at least 16-bits, but may be larger + a "char" must default to signed + + +Questions or comments should be directed to david@wavpack.com -- cgit v1.2.3