/*---------------------------------------------------------------------------*/
/*
  File: g729ab.h

  G.729AB Codec
*/
/*---------------------------------------------------------------------------*/
#ifndef G729AB_H_
#define G729AB_H_

#ifdef __cplusplus
extern "C" {
#endif

struct g729ab_encoder_s;
typedef struct g729ab_encoder_s g729ab_encoder;

unsigned int g729ab_encoder_data_size(void);
void g729ab_init_encoder (g729ab_encoder *encoder, int vad_enable);
void g729ab_encode (g729ab_encoder *encoder, short *samples, short *codebits);

struct g729ab_decoder_s;
typedef struct g729ab_decoder_s g729ab_decoder;

unsigned int g729ab_decoder_data_size(void);
void g729ab_init_decoder (g729ab_decoder *decoder);
void g729ab_decode (g729ab_decoder *decoder, short *codebits, short *samples);

#ifdef __cplusplus
}
#endif

#endif
