blob: da981e713a85408a61434f5501341c30b9085d12 [file] [log] [blame]
/**************************************************************************
*
* Copyright (c) 2012 ZTE Corporation.
*
***************************************************************************
* Ä£ ¿é Ãû :
* ÎÄ ¼þ Ãû :
* Ïà¹ØÎļþ :
* ʵÏÖ¹¦ÄÜ :
* ×÷ Õß :
* °æ ±¾ :
* Íê³ÉÈÕÆÚ :
* ÆäËü˵Ã÷ :
**************************************************************************/
/**************************************************************************
* Ð޸ļǼ
**************************************************************************/
/**************************************************************************
* Ð޸ıàºÅ :
* ÐÞ ¸Ä ÈË :
* ÐÞ¸ÄÈÕÆÚ :
* ÐÞ¸ÄÄÚÈÝ :
**************************************************************************/
#ifndef _ZMMP_AMR_FNC_H
#define _ZMMP_AMR_FNC_H
/**************************************************************************
* #includeÇø
**************************************************************************/
#include"oss_api.h"
#ifdef __cplusplus
extern "C" {
#endif
/**************************************************************************
* ºê¶¨ÒåÇø
**************************************************************************/
/**************************************************************************
* Êý¾Ý½á¹¹¶¨ÒåÇø
**************************************************************************/
typedef enum
{
ZMMP_CODEC_AMR_NB_IF1,
ZMMP_CODEC_AMR_NB_IF2,
ZMMP_CODEC_AMR_NB_IETF,
ZMMP_CODEC_AMR_WB_IF1,
ZMMP_CODEC_AMR_WB_IF2,
ZMMP_CODEC_AMR_WB_IETF
}T_zMmp_CodecType;
typedef enum
{
ZMMP_AMR_ENC_MODE_0, /* NB:4.75 kbit/s, WB:6.60 kbit/s */
ZMMP_AMR_ENC_MODE_1, /* NB:5.15 kbit/s, WB:8.85 kbit/s */
ZMMP_AMR_ENC_MODE_2, /* NB:5.90 kbit/s, WB:12.65 kbit/s */
ZMMP_AMR_ENC_MODE_3, /* NB:6.70 kbit/s, WB:14.25 kbit/s */
ZMMP_AMR_ENC_MODE_4, /* NB:7.40 kbit/s, WB:15.85 kbit/s */
ZMMP_AMR_ENC_MODE_5, /* NB:7.95 kbit/s, WB:18.25 kbit/s */
ZMMP_AMR_ENC_MODE_6, /* NB:10.2 kbit/s, WB:19.85 kbit/s */
ZMMP_AMR_ENC_MODE_7, /* NB:12.2 kbit/s, WB:23.05 kbit/s */
ZMMP_AMR_ENC_MODE_8, /* NB:DTX, WB:23.85 kbit/s */
ZMMP_AMR_ENC_MODE_9, /* NB:ÎÞЧ, WB:DTX */
ZMMP_AMR_ENC_MODE_INVALID /* NB:ÎÞЧ, WB:ÎÞЧ */
}T_zMmp_AmrEncMode;
/**************************************************************************
* º¯ÊýÉùÃ÷Çø
**************************************************************************/
VOID* mmp_AmrDecOpen (T_zMmp_CodecType codecType);
VOID* mmp_AmrEncOpen (T_zMmp_CodecType codecType, BOOL isDtxEnable);
UINT16 mmp_AmrDecode (VOID *pCodecContext, const UINT8 *pAmr, UINT16 *pPcm);
UINT16 mmp_AmrEncode (VOID *pCodecContext, T_zMmp_AmrEncMode mode, const UINT16 *pPcm, UINT8 *pAmr);
VOID mmp_AmrDecClose (VOID *pCodecContext);
VOID mmp_AmrEncClose (VOID *pCodecContext);
/**************************************************************************
* È«¾Ö³£Á¿/±äÁ¿ÉùÃ÷Çø
**************************************************************************/
#ifdef __cplusplus
}
#endif
#endif