Referencia del Archivo codec.c

#include "codec.h"

Dependencia gráfica adjunta para codec.c:

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]


Documentación de las definiciones

#define ZY2_K0   0x3800

Definición en la línea 436 del archivo codec.c.

#define ZY2_K1   0x5600

Definición en la línea 437 del archivo codec.c.

#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); \
        } \
    } \
}

Definición en la línea 439 del archivo codec.c.

#define ZY2_TOADPCM ( Edata,
data,
bsign,
bmag   ) 

Valor:

{ \
    Edata -= a->ExtMax; \
    if (Edata<0) { \
        data |= bsign; \
        if (-Edata>a->Delta) \
            data |= bmag; \
    } \
    else if (Edata>a->Delta) \
        data |= bmag; \
    ZY2_ADAPT(data,bsign,bmag); \
}

Definición en la línea 465 del archivo codec.c.

#define ZY3_K0   0x399a

Definición en la línea 659 del archivo codec.c.

#define ZY3_K1   0x3a9f

Definición en la línea 660 del archivo codec.c.

#define ZY3_K2   0x4d14

Definición en la línea 661 del archivo codec.c.

#define ZY3_K3   0x6607

Definición en la línea 662 del archivo codec.c.

#define ZY3_ADAPT ( data,
bsign,
bmag1,
bmag0   ) 

Definición en la línea 664 del archivo codec.c.

#define ZY3_TOADPCM ( Edata,
data,
bsign,
bmag1,
bmag0   ) 

Valor:

{ \
    Edata -= a->ExtMax; \
    if (Edata<0) { \
        data |= bsign; \
        Edata = -Edata; \
    } \
    if (Edata>(a->Delta<<1)) { \
        data |=bmag1; \
        if (Edata>(a->Delta+(a->Delta<<1))) \
            data |= bmag0; \
    } \
    else if (Edata>a->Delta) \
        data |= bmag0; \
    ZY3_ADAPT(data, bsign, bmag1, bmag0); \
}

Definición en la línea 710 del archivo codec.c.


Documentación de las funciones

PUBLIC SPL_VOID XAPI adpcm_idvi_reset ( ADPCM_IDVI a  ) 

Definición en la línea 188 del archivo codec.c.

PUBLIC SPL_VOID XAPI adpcm_idvi_code ( ADPCM_IDVI a,
pINT16  v16,
pUINT8  v8,
SPL_INT  nd 
)

Definición en la línea 229 del archivo codec.c.

PUBLIC SPL_VOID XAPI adpcm_idvi_decode ( ADPCM_IDVI a,
pUINT8  v8,
pINT16  v16,
SPL_INT  nd 
)

Definición en la línea 358 del archivo codec.c.

PUBLIC SPL_VOID XAPI adpcm_zy2_reset ( ADPCM_ZY2 a  ) 

Definición en la línea 489 del archivo codec.c.

PUBLIC SPL_VOID XAPI adpcm_zy2_code ( ADPCM_ZY2 a,
pINT16  v16,
pUINT8  v8,
SPL_INT  nd 
)

Definición en la línea 531 del archivo codec.c.

PUBLIC SPL_VOID XAPI adpcm_zy2_decode ( ADPCM_ZY2 a,
pUINT8  v8,
pINT16  v16,
SPL_INT  nd 
)

Definición en la línea 613 del archivo codec.c.

PUBLIC SPL_VOID XAPI adpcm_zy3_reset ( ADPCM_ZY3 a  ) 

Definición en la línea 738 del archivo codec.c.

PUBLIC SPL_VOID XAPI adpcm_zy3_code ( ADPCM_ZY3 a,
pINT16  v16,
pUINT8  v8,
SPL_INT  nd 
)

Definición en la línea 780 del archivo codec.c.

PUBLIC SPL_VOID XAPI adpcm_zy3_decode ( ADPCM_ZY3 a,
pUINT8  v8,
pINT16  v16,
SPL_INT  nd 
)

Definición en la línea 921 del archivo codec.c.


Documentación de las variables

PRIVATE INT _adpcm_idvi_idxtab[16]

Valor inicial:

 {
    -1, -1, -1, -1, 2, 4, 6, 8,
    -1, -1, -1, -1, 2, 4, 6, 8,
}

Definición en la línea 158 del archivo codec.c.

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
}

Definición en la línea 164 del archivo codec.c.


Generado el Thu Mar 11 18:59:27 2010 para AhoLib por  doxygen 1.5.6