ref: 48102ce56e922331446cc7a1c0833ecbb1e6532c
dir: /amr-wb/bits.h/
/*--------------------------------------------------------------------------*
* BITS.H *
*--------------------------------------------------------------------------*
* Number of bits for different modes *
*--------------------------------------------------------------------------*/
#include <stdio.h>
#include "typedef.h"
#include "cnst.h"
#define NBBITS_7k 132 /* 6.60k */
#define NBBITS_9k 177 /* 8.85k */
#define NBBITS_12k 253 /* 12.65k */
#define NBBITS_14k 285 /* 14.25k */
#define NBBITS_16k 317 /* 15.85k */
#define NBBITS_18k 365 /* 18.25k */
#define NBBITS_20k 397 /* 19.85k */
#define NBBITS_23k 461 /* 23.05k */
#define NBBITS_24k 477 /* 23.85k */
#define NBBITS_SID 35
#define NB_BITS_MAX NBBITS_24k
#define BIT_0 (Word16)-127
#define BIT_1 (Word16)127
#define BIT_0_ITU (Word16)0x007F
#define BIT_1_ITU (Word16)0x0081
#define AMR_WB_SIZE_MAX (3+NB_BITS_MAX) /* serial size max */
#define TX_FRAME_TYPE (Word16)0x6b21
#define RX_FRAME_TYPE (Word16)0x6b20
static const Word16 nb_of_bits[NUM_OF_MODES] = {
NBBITS_7k,
NBBITS_9k,
NBBITS_12k,
NBBITS_14k,
NBBITS_16k,
NBBITS_18k,
NBBITS_20k,
NBBITS_23k,
NBBITS_24k,
NBBITS_SID};
typedef struct
{
Word16 sid_update_counter;
Word16 sid_handover_debt;
Word16 prev_ft;
} TX_State;
typedef struct
{
Word16 prev_ft;
Word16 prev_mode;
} RX_State;
Word16 Init_write_serial(TX_State ** st);
Word16 Close_write_serial(TX_State *st);
void Reset_write_serial(TX_State * st);
Word16 Init_read_serial(RX_State ** st);
Word16 Close_read_serial(RX_State *st);
void Reset_read_serial(RX_State * st);
void Write_serial(FILE * fp, Word16 prms[], int coding_mode, int mode, TX_State *st, int bitstreamformat);
Word16 Read_serial(FILE * fp, Word16 prms[], Word16 * frame_type, Word16 * mode, RX_State *st, int bitstreamformat);
void Parm_serial(
Word16 value, /* input : parameter value */
Word16 no_of_bits, /* input : number of bits */
Word16 ** prms
);
Word16 Serial_parm( /* Return the parameter */
Word16 no_of_bits, /* input : number of bits */
Word16 ** prms
);