#include "codec.h"
Ir al código fuente de este archivo.
Definiciones | |
#define | ZY2_K0 0x3800 |
#define | ZY2_K1 0x5600 |
#define | ZY2_ADAPT(data, bsign, bmag) |
#define | ZY2_TOADPCM(Edata, data, bsign, bmag) |
#define | ZY3_K0 0x399a |
#define | ZY3_K1 0x3a9f |
#define | ZY3_K2 0x4d14 |
#define | ZY3_K3 0x6607 |
#define | ZY3_ADAPT(data, bsign, bmag1, bmag0) |
#define | ZY3_TOADPCM(Edata, data, bsign, bmag1, bmag0) |
Funciones | |
PUBLIC SPL_VOID XAPI | adpcm_idvi_reset (ADPCM_IDVI *a) |
PUBLIC SPL_VOID XAPI | adpcm_idvi_code (ADPCM_IDVI *a, pINT16 v16, pUINT8 v8, SPL_INT nd) |
PUBLIC SPL_VOID XAPI | adpcm_idvi_decode (ADPCM_IDVI *a, pUINT8 v8, pINT16 v16, SPL_INT nd) |
PUBLIC SPL_VOID XAPI | adpcm_zy2_reset (ADPCM_ZY2 *a) |
PUBLIC SPL_VOID XAPI | adpcm_zy2_code (ADPCM_ZY2 *a, pINT16 v16, pUINT8 v8, SPL_INT nd) |
PUBLIC SPL_VOID XAPI | adpcm_zy2_decode (ADPCM_ZY2 *a, pUINT8 v8, pINT16 v16, SPL_INT nd) |
PUBLIC SPL_VOID XAPI | adpcm_zy3_reset (ADPCM_ZY3 *a) |
PUBLIC SPL_VOID XAPI | adpcm_zy3_code (ADPCM_ZY3 *a, pINT16 v16, pUINT8 v8, SPL_INT nd) |
PUBLIC SPL_VOID XAPI | adpcm_zy3_decode (ADPCM_ZY3 *a, pUINT8 v8, pINT16 v16, SPL_INT nd) |
Variables | |
PRIVATE INT | _adpcm_idvi_idxtab [16] |
PRIVATE INT16 | _adpcm_idvi_steptab [89] |
#define ZY2_ADAPT | ( | data, | |||
bsign, | |||||
bmag | ) |
Valor:
{ \ if (data&bsign) { /* decrece */ \ if (data&bmag) { /* mag=1 */ \ a->ExtMax -= (a->Delta + (a->Delta>>1)); \ a->Delta = (INT16)(((INT32)a->Delta*ZY2_K1+8192)>>14); \ } \ else { /* mag=0 */ \ a->ExtMax -= (a->Delta>>1); \ a->Delta = (INT16)(((INT32)a->Delta*ZY2_K0+8192)>>14); \ } \ } \ else { /* crece */ \ /* a->Delta impar, incrementa en uno... no entiendo muy bien */ \ if (a->Delta&1) \ a->ExtMax++; \ if (data&bmag) { /* mag=1 */ \ a->ExtMax += (a->Delta + (a->Delta>>1)); \ a->Delta = (INT16)(((INT32)a->Delta*ZY2_K1+8192)>>14); \ } \ else { /* mag=0 */ \ a->ExtMax += (a->Delta>>1); \ a->Delta = (INT16)(((INT32)a->Delta*ZY2_K0+8192)>>14); \ } \ } \ }
#define ZY2_TOADPCM | ( | Edata, | |||
data, | |||||
bsign, | |||||
bmag | ) |
#define ZY3_TOADPCM | ( | Edata, | |||
data, | |||||
bsign, | |||||
bmag1, | |||||
bmag0 | ) |
PUBLIC SPL_VOID XAPI adpcm_idvi_reset | ( | ADPCM_IDVI * | a | ) |
PUBLIC SPL_VOID XAPI adpcm_idvi_code | ( | ADPCM_IDVI * | a, | |
pINT16 | v16, | |||
pUINT8 | v8, | |||
SPL_INT | nd | |||
) |
PUBLIC SPL_VOID XAPI adpcm_idvi_decode | ( | ADPCM_IDVI * | a, | |
pUINT8 | v8, | |||
pINT16 | v16, | |||
SPL_INT | nd | |||
) |
PUBLIC SPL_VOID XAPI adpcm_zy2_reset | ( | ADPCM_ZY2 * | a | ) |
PUBLIC SPL_VOID XAPI adpcm_zy2_code | ( | ADPCM_ZY2 * | a, | |
pINT16 | v16, | |||
pUINT8 | v8, | |||
SPL_INT | nd | |||
) |
PUBLIC SPL_VOID XAPI adpcm_zy2_decode | ( | ADPCM_ZY2 * | a, | |
pUINT8 | v8, | |||
pINT16 | v16, | |||
SPL_INT | nd | |||
) |
PUBLIC SPL_VOID XAPI adpcm_zy3_reset | ( | ADPCM_ZY3 * | a | ) |
PUBLIC SPL_VOID XAPI adpcm_zy3_code | ( | ADPCM_ZY3 * | a, | |
pINT16 | v16, | |||
pUINT8 | v8, | |||
SPL_INT | nd | |||
) |
PUBLIC SPL_VOID XAPI adpcm_zy3_decode | ( | ADPCM_ZY3 * | a, | |
pUINT8 | v8, | |||
pINT16 | v16, | |||
SPL_INT | nd | |||
) |
PRIVATE INT _adpcm_idvi_idxtab[16] |
PRIVATE INT16 _adpcm_idvi_steptab[89] |
Valor inicial:
{ 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 21, 23, 25, 28, 31, 34, 37, 41, 45, 50, 55, 60, 66, 73, 80, 88, 97, 107, 118, 130, 143, 157, 173, 190, 209, 230, 253, 279, 307, 337, 371, 408, 449, 494, 544, 598, 658, 724, 796, 876, 963, 1060, 1166, 1282, 1411, 1552, 1707, 1878, 2066, 2272, 2499, 2749, 3024, 3327, 3660, 4026, 4428, 4871, 5358, 5894, 6484, 7132, 7845, 8630, 9493, 10442, 11487, 12635, 13899, 15289, 16818, 18500, 20350, 22385, 24623, 27086, 29794, 32767 }