summaryrefslogtreecommitdiff
path: root/apps/codecs/libwavpack/wavpack.h
diff options
context:
space:
mode:
authorDave Bryant <bryant@rockbox.org>2006-04-22 22:21:36 +0000
committerDave Bryant <bryant@rockbox.org>2006-04-22 22:21:36 +0000
commitb76bb60219c08d8321ffe6260072b8291499e79a (patch)
tree2b36532e7b913a7544712da313864ca29de21d81 /apps/codecs/libwavpack/wavpack.h
parent2ec18b521c845be6ccb18217a877680904db3905 (diff)
downloadrockbox-b76bb60219c08d8321ffe6260072b8291499e79a.zip
rockbox-b76bb60219c08d8321ffe6260072b8291499e79a.tar.gz
rockbox-b76bb60219c08d8321ffe6260072b8291499e79a.tar.bz2
rockbox-b76bb60219c08d8321ffe6260072b8291499e79a.tar.xz
Update libwavpack to the latest stream specification, and cross fingers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9769 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libwavpack/wavpack.h')
-rw-r--r--apps/codecs/libwavpack/wavpack.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/apps/codecs/libwavpack/wavpack.h b/apps/codecs/libwavpack/wavpack.h
index 593af78..3128328 100644
--- a/apps/codecs/libwavpack/wavpack.h
+++ b/apps/codecs/libwavpack/wavpack.h
@@ -76,11 +76,19 @@ typedef struct {
#define SRATE_LSB 23
#define SRATE_MASK (0xfL << SRATE_LSB)
+#define FALSE_STEREO 0x40000000 // block is stereo, but data is mono
+
#define IGNORED_FLAGS 0x18000000 // reserved, but ignore if encountered
#define NEW_SHAPING 0x20000000 // use IIR filter for negative shaping
-#define UNKNOWN_FLAGS 0xC0000000 // also reserved, but refuse decode if
+#define UNKNOWN_FLAGS 0x80000000 // also reserved, but refuse decode if
// encountered
+#define MONO_DATA (MONO_FLAG | FALSE_STEREO)
+
+#define MIN_STREAM_VERS 0x402 // lowest stream version we'll decode
+#define MAX_STREAM_VERS 0x410 // highest stream version we'll decode
+#define CUR_STREAM_VERS 0x403 // stream version we are writing now
+
//////////////////////////// WavPack Metadata /////////////////////////////////
// This is an internal representation of metadata.
@@ -426,5 +434,6 @@ void WavpackAddWrapper (WavpackContext *wpc, void *data, uint32_t bcount);
int WavpackStartBlock (WavpackContext *wpc, uchar *begin, uchar *end);
int WavpackPackSamples (WavpackContext *wpc, int32_t *sample_buffer, uint32_t sample_count);
uint32_t WavpackFinishBlock (WavpackContext *wpc);
-
+void WavpackUpdateNumSamples (WavpackContext *wpc, void *first_block);
+void *WavpackGetWrapperLocation (void *first_block);