annotate adpcm.h @ 4395:817530449706

New logic of HW equalizing: 1) Check HW capability. 2) If HW equalizer is capable control value then use it. In this case value of control is in range -100 : +100 (10x) 3) If not then try use SW equalizing (currently only divxds). Use old range (0 : +100) for that. Well, you shouldn't watch OSD bar if neighter HW nor SW equalizers are not capable control value. TODO: find out keys (maybe Rr Bb Gg) or 'on screen menu' for RGB intensity and OEM effects (fx).
author nick
date Mon, 28 Jan 2002 07:29:17 +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