annotate adpcm.h @ 4524:01a0cf736e0d

Fix the bugs the previous version should fix (and those introduced by the previous version ;) )
author albeu
date Mon, 04 Feb 2002 14:19:54 +0000
parents ae6f97724b84
children 4a6dde59834c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3756
734d0c0a8ab0 Initial support for unified ADPCM decoder
melanson
parents:
diff changeset
1 #ifndef ADPCM_H
734d0c0a8ab0 Initial support for unified ADPCM decoder
melanson
parents:
diff changeset
2 #define ADPCM_H
734d0c0a8ab0 Initial support for unified ADPCM decoder
melanson
parents:
diff changeset
3
3826
8a88ed2473aa added initial, not-yet-functional, support for fox62 audio
melanson
parents: 3787
diff changeset
4 #define IMA_ADPCM_PREAMBLE_SIZE 2
3756
734d0c0a8ab0 Initial support for unified ADPCM decoder
melanson
parents:
diff changeset
5 #define IMA_ADPCM_BLOCK_SIZE 0x22
3826
8a88ed2473aa added initial, not-yet-functional, support for fox62 audio
melanson
parents: 3787
diff changeset
6 #define IMA_ADPCM_SAMPLES_PER_BLOCK \
8a88ed2473aa added initial, not-yet-functional, support for fox62 audio
melanson
parents: 3787
diff changeset
7 ((IMA_ADPCM_BLOCK_SIZE - IMA_ADPCM_PREAMBLE_SIZE) * 2)
3756
734d0c0a8ab0 Initial support for unified ADPCM decoder
melanson
parents:
diff changeset
8
3826
8a88ed2473aa added initial, not-yet-functional, support for fox62 audio
melanson
parents: 3787
diff changeset
9 #define MS_ADPCM_PREAMBLE_SIZE 7
8a88ed2473aa added initial, not-yet-functional, support for fox62 audio
melanson
parents: 3787
diff changeset
10 #define MS_ADPCM_SAMPLES_PER_BLOCK \
3875
e3caff2daa98 fixed stereo MS ADPCM decoder and reinstated opensource decoder as the
melanson
parents: 3826
diff changeset
11 ((sh_audio->wf->nBlockAlign - MS_ADPCM_PREAMBLE_SIZE) * 2)
3826
8a88ed2473aa added initial, not-yet-functional, support for fox62 audio
melanson
parents: 3787
diff changeset
12
3933
60db4273246d added initial support for format 0x61 ADPCM (sounds good, but still pops)
melanson
parents: 3875
diff changeset
13 #define FOX61_ADPCM_PREAMBLE_SIZE 4
60db4273246d added initial support for format 0x61 ADPCM (sounds good, but still pops)
melanson
parents: 3875
diff changeset
14 #define FOX61_ADPCM_BLOCK_SIZE 0x200
60db4273246d added initial support for format 0x61 ADPCM (sounds good, but still pops)
melanson
parents: 3875
diff changeset
15 #define FOX61_ADPCM_SAMPLES_PER_BLOCK \
60db4273246d added initial support for format 0x61 ADPCM (sounds good, but still pops)
melanson
parents: 3875
diff changeset
16 (((FOX61_ADPCM_BLOCK_SIZE - FOX61_ADPCM_PREAMBLE_SIZE) * 2) + 1)
60db4273246d added initial support for format 0x61 ADPCM (sounds good, but still pops)
melanson
parents: 3875
diff changeset
17
3826
8a88ed2473aa added initial, not-yet-functional, support for fox62 audio
melanson
parents: 3787
diff changeset
18 // pretend there's such a thing as mono for this format
8a88ed2473aa added initial, not-yet-functional, support for fox62 audio
melanson
parents: 3787
diff changeset
19 #define FOX62_ADPCM_PREAMBLE_SIZE 8
8a88ed2473aa added initial, not-yet-functional, support for fox62 audio
melanson
parents: 3787
diff changeset
20 #define FOX62_ADPCM_BLOCK_SIZE 0x400
4001
ae6f97724b84 fixed format 0x62 ADPCM audio
melanson
parents: 3933
diff changeset
21 // this isn't exact
ae6f97724b84 fixed format 0x62 ADPCM audio
melanson
parents: 3933
diff changeset
22 #define FOX62_ADPCM_SAMPLES_PER_BLOCK 6000
3756
734d0c0a8ab0 Initial support for unified ADPCM decoder
melanson
parents:
diff changeset
23
3787
55603340d1b2 implemented open source MS ADPCM decoder
melanson
parents: 3756
diff changeset
24 int ima_adpcm_decode_block(unsigned short *output, unsigned char *input,
55603340d1b2 implemented open source MS ADPCM decoder
melanson
parents: 3756
diff changeset
25 int channels);
55603340d1b2 implemented open source MS ADPCM decoder
melanson
parents: 3756
diff changeset
26 int ms_adpcm_decode_block(unsigned short *output, unsigned char *input,
3875
e3caff2daa98 fixed stereo MS ADPCM decoder and reinstated opensource decoder as the
melanson
parents: 3826
diff changeset
27 int channels, int block_size);
3933
60db4273246d added initial support for format 0x61 ADPCM (sounds good, but still pops)
melanson
parents: 3875
diff changeset
28 int fox61_adpcm_decode_block(unsigned short *output, unsigned char *input);
4001
ae6f97724b84 fixed format 0x62 ADPCM audio
melanson
parents: 3933
diff changeset
29 int fox62_adpcm_decode_block(unsigned short *output, unsigned char *input);
3756
734d0c0a8ab0 Initial support for unified ADPCM decoder
melanson
parents:
diff changeset
30 #endif