/************************************************************************** | |
* | |
* Copyright (c) 2012 ZTE Corporation. | |
* | |
*************************************************************************** | |
* Ä£ ¿é Ãû : | |
* ÎÄ ¼þ Ãû : | |
* Ïà¹ØÎļþ : | |
* ʵÏÖ¹¦ÄÜ : | |
* ×÷ Õß : | |
* °æ ±¾ : | |
* Íê³ÉÈÕÆÚ : | |
* ÆäËü˵Ã÷ : | |
**************************************************************************/ | |
/************************************************************************** | |
* Ð޸ļǼ | |
**************************************************************************/ | |
/************************************************************************** | |
* Ð޸ıàºÅ : | |
* ÐÞ ¸Ä ÈË : | |
* ÐÞ¸ÄÈÕÆÚ : | |
* ÐÞ¸ÄÄÚÈÝ : | |
**************************************************************************/ | |
#ifndef _MMP_AMR_API_H | |
#define _MMP_AMR_API_H | |
/************************************************************************** | |
* #includeÇø | |
**************************************************************************/ | |
#include"oss_api.h" | |
#ifdef __cplusplus | |
extern "C" { | |
#endif | |
/************************************************************************** | |
* ºê¶¨ÒåÇø | |
**************************************************************************/ | |
#define ZAMR_ERROR (0) | |
#define ZAMR_SUCCESS (1) | |
/************************************************************************** | |
* Êý¾Ý½á¹¹¶¨ÒåÇø | |
**************************************************************************/ | |
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; | |
/************************************************************************** | |
* º¯ÊýÉùÃ÷Çø | |
**************************************************************************/ | |
/************************************************************************** | |
* ¹¦ÄÜÃèÊö: ´ò¿ªAMR½âÂëÆ÷ | |
* ²ÎÊý˵Ã÷: | |
* (´«Èë²ÎÊý) ÎÞ | |
* (´«³ö²ÎÊý) ÎÞ | |
* ·µ »Ø Öµ: AMR½âÂëÆ÷ÉÏÏÂÎÄ,NULLΪ´ò¿ª½âÂëÆ÷ʧ°Ü | |
* ÆäËü˵Ã÷: ÎÞ | |
**************************************************************************/ | |
VOID* zMmp_AmrDecOpen(VOID); | |
/************************************************************************** | |
* ¹¦ÄÜÃèÊö: ´ò¿ªAMR±àÂëÆ÷ | |
* ²ÎÊý˵Ã÷: | |
* (´«Èë²ÎÊý) isDtxEnable: FALSE:²»Ö§³Ödtx£¬TRUE:Ö§³Ödtx | |
* (´«³ö²ÎÊý) ÎÞ | |
* ·µ »Ø Öµ: AMR±àÂëÆ÷ÉÏÏÂÎÄ£¬NULLΪ´ò¿ª±àÂëÆ÷ʧ°Ü | |
* ÆäËü˵Ã÷: ÎÞ | |
**************************************************************************/ | |
VOID* zMmp_AmrEncOpen(BOOL isDtxEnable); | |
/************************************************************************** | |
* ¹¦ÄÜÃèÊö: ½âÒ»Ö¡AMRÊý¾Ý | |
* ²ÎÊý˵Ã÷: | |
* (´«Èë²ÎÊý) pCodecContext: AMR½âÂëÉÏÏÂÎÄ | |
pAmr: ÊäÈëAMRÊý¾ÝÆðʼµØÖ· ,¿Õ¼ä×îÉÙ17¸ö°ë×Ö(16 + 1(¹Ì¶¨0x2)) | |
* (´«³ö²ÎÊý) pPcm: Êä³öPCMÊý¾ÝÆðʼµØÖ· ,¿Õ¼ä×îÉÙ160¸ö°ë×Ö | |
* ·µ »Ø Öµ: ZAMR_ERROR (0) | |
ZAMR_SUCCESS (1) | |
* ÆäËü˵Ã÷: ÎÞ | |
**************************************************************************/ | |
UINT16 zMmp_AmrDecode(VOID *pCodecContext, const UINT16 *pAmr, UINT16 *pPcm); | |
/************************************************************************** | |
* ¹¦ÄÜÃèÊö: ±àÒ»Ö¡PCMÊý¾Ý | |
* ²ÎÊý˵Ã÷: | |
* (´«Èë²ÎÊý) pCodecContext: AMR±àÂëÉÏÏÂÎÄ | |
mode: ±àÂëģʽ | |
pPcm: PCMÊý¾ÝÆðʼµØÖ· ,¿Õ¼ä×îÉÙ160¸ö°ë×Ö | |
* (´«³ö²ÎÊý) pAmr: Êä³öAMRÊý¾ÝÆðʼµØÖ·,¿Õ¼ä×îÉÙ17¸ö°ë×Ö(16 + 1(¹Ì¶¨0x2)) | |
* ·µ »Ø Öµ: ZAMR_ERROR (0) | |
ZAMR_SUCCESS (1) | |
* ÆäËü˵Ã÷: ÎÞ | |
**************************************************************************/ | |
UINT16 zMmp_AmrEncode(VOID *pCodecContext, T_zMmp_AmrEncMode mode, const UINT16 *pPcm, UINT16 *pAmr); | |
/************************************************************************** | |
* ¹¦ÄÜÃèÊö: ¹Ø±Õ½âÂëÆ÷ | |
* ²ÎÊý˵Ã÷: | |
* (´«Èë²ÎÊý) pCodecContext: AMR½âÂëÉÏÏÂÎÄ | |
* (´«³ö²ÎÊý) ÎÞ | |
* ·µ »Ø Öµ: ÎÞ | |
* ÆäËü˵Ã÷: ÎÞ | |
**************************************************************************/ | |
VOID zMmp_AmrDecClose(VOID *pCodecContext); | |
/************************************************************************** | |
* ¹¦ÄÜÃèÊö: ¹Ø±Õ±àÂëÆ÷ | |
* ²ÎÊý˵Ã÷: | |
* (´«Èë²ÎÊý) pCodecContext: AMR±àÂëÉÏÏÂÎÄ | |
* (´«³ö²ÎÊý) ÎÞ | |
* ·µ »Ø Öµ: ÎÞ | |
* ÆäËü˵Ã÷: ÎÞ | |
**************************************************************************/ | |
VOID zMmp_AmrEncClose(VOID *pCodecContext); | |
/************************************************************************** | |
* È«¾Ö³£Á¿/±äÁ¿ÉùÃ÷Çø | |
**************************************************************************/ | |
#ifdef __cplusplus | |
} | |
#endif | |
#endif |