summaryrefslogtreecommitdiff
path: root/apps/codecs/libwavpack/wavpack.h
diff options
context:
space:
mode:
authorThom Johansen <thomj@rockbox.org>2005-06-09 09:26:05 +0000
committerThom Johansen <thomj@rockbox.org>2005-06-09 09:26:05 +0000
commit614f0a333a6263def7e6cd053abfc222dae2ced5 (patch)
tree85661bc01ed5dd0f5d4d79ac0a86ea78c0d38c1b /apps/codecs/libwavpack/wavpack.h
parent3ca164549624cc3a107d326a759e40456cedfc21 (diff)
downloadrockbox-614f0a333a6263def7e6cd053abfc222dae2ced5.tar.gz
rockbox-614f0a333a6263def7e6cd053abfc222dae2ced5.zip
WavPack optimisation by David Bryant.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6635 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libwavpack/wavpack.h')
-rw-r--r--apps/codecs/libwavpack/wavpack.h21
1 files changed, 13 insertions, 8 deletions
diff --git a/apps/codecs/libwavpack/wavpack.h b/apps/codecs/libwavpack/wavpack.h
index 06f86cb15a..3aee4718b1 100644
--- a/apps/codecs/libwavpack/wavpack.h
+++ b/apps/codecs/libwavpack/wavpack.h
@@ -187,24 +187,29 @@ struct decorr_pass {
187 long samples_A [MAX_TERM], samples_B [MAX_TERM]; 187 long samples_A [MAX_TERM], samples_B [MAX_TERM];
188}; 188};
189 189
190struct entropy_data {
191 ulong median [3], slow_level, error_limit;
192};
193
190typedef struct { 194typedef struct {
191 WavpackHeader wphdr; 195 WavpackHeader wphdr;
196 Bitstream wvbits;
197
198 struct {
199 ulong bitrate_delta [2], bitrate_acc [2];
200 ulong pend_data, holding_one, zeros_acc;
201 int holding_zero, pend_count;
202 struct entropy_data c [2];
203 } w;
192 204
193 int num_terms, mute_error; 205 int num_terms, mute_error;
194 ulong sample_index, crc; 206 ulong sample_index, crc;
195 Bitstream wvbits;
196 207
197 uchar int32_sent_bits, int32_zeros, int32_ones, int32_dups; 208 uchar int32_sent_bits, int32_zeros, int32_ones, int32_dups;
198 uchar float_flags, float_shift, float_max_exp, float_norm_exp; 209 uchar float_flags, float_shift, float_max_exp, float_norm_exp;
199 210
200 struct decorr_pass decorr_passes [MAX_NTERMS]; 211 struct decorr_pass decorr_passes [MAX_NTERMS];
201 212
202 struct {
203 ulong bitrate_delta [2], bitrate_acc [2];
204 ulong median [3] [2], slow_level [2], error_limit [2];
205 ulong pend_data, holding_one, zeros_acc;
206 int holding_zero, pend_count;
207 } w;
208} WavpackStream; 213} WavpackStream;
209 214
210// flags for float_flags: 215// flags for float_flags:
@@ -223,8 +228,8 @@ typedef struct {
223// and the provided utilities used instead. 228// and the provided utilities used instead.
224 229
225typedef struct { 230typedef struct {
226 WavpackConfig config;
227 WavpackStream stream; 231 WavpackStream stream;
232 WavpackConfig config;
228 233
229 uchar read_buffer [1024]; 234 uchar read_buffer [1024];
230 char error_message [80]; 235 char error_message [80];