blob: da981e713a85408a61434f5501341c30b9085d12 [file] [log] [blame]
yuezonghe824eb0c2024-06-27 02:32:26 -07001/**************************************************************************
2*
3* Copyright (c) 2012 ZTE Corporation.
4*
5***************************************************************************
6* Ä£ ¿é Ãû :
7* ÎÄ ¼þ Ãû :
8* Ïà¹ØÎļþ :
9* ʵÏÖ¹¦ÄÜ :
10* ×÷ Õß :
11* °æ ±¾ :
12* Íê³ÉÈÕÆÚ :
13* ÆäËü˵Ã÷ :
14**************************************************************************/
15
16/**************************************************************************
17* Ð޸ļǼ
18**************************************************************************/
19/**************************************************************************
20* Ð޸ıàºÅ :
21* ÐÞ ¸Ä ÈË :
22* ÐÞ¸ÄÈÕÆÚ :
23* ÐÞ¸ÄÄÚÈÝ :
24**************************************************************************/
25#ifndef _ZMMP_AMR_FNC_H
26#define _ZMMP_AMR_FNC_H
27
28/**************************************************************************
29* #includeÇø
30**************************************************************************/
31#include"oss_api.h"
32#ifdef __cplusplus
33extern "C" {
34#endif
35
36/**************************************************************************
37* ºê¶¨ÒåÇø
38**************************************************************************/
39
40/**************************************************************************
41* Êý¾Ý½á¹¹¶¨ÒåÇø
42**************************************************************************/
43typedef enum
44{
45 ZMMP_CODEC_AMR_NB_IF1,
46 ZMMP_CODEC_AMR_NB_IF2,
47 ZMMP_CODEC_AMR_NB_IETF,
48 ZMMP_CODEC_AMR_WB_IF1,
49 ZMMP_CODEC_AMR_WB_IF2,
50 ZMMP_CODEC_AMR_WB_IETF
51}T_zMmp_CodecType;
52
53
54typedef enum
55{
56 ZMMP_AMR_ENC_MODE_0, /* NB:4.75 kbit/s, WB:6.60 kbit/s */
57 ZMMP_AMR_ENC_MODE_1, /* NB:5.15 kbit/s, WB:8.85 kbit/s */
58 ZMMP_AMR_ENC_MODE_2, /* NB:5.90 kbit/s, WB:12.65 kbit/s */
59 ZMMP_AMR_ENC_MODE_3, /* NB:6.70 kbit/s, WB:14.25 kbit/s */
60 ZMMP_AMR_ENC_MODE_4, /* NB:7.40 kbit/s, WB:15.85 kbit/s */
61 ZMMP_AMR_ENC_MODE_5, /* NB:7.95 kbit/s, WB:18.25 kbit/s */
62 ZMMP_AMR_ENC_MODE_6, /* NB:10.2 kbit/s, WB:19.85 kbit/s */
63 ZMMP_AMR_ENC_MODE_7, /* NB:12.2 kbit/s, WB:23.05 kbit/s */
64 ZMMP_AMR_ENC_MODE_8, /* NB:DTX, WB:23.85 kbit/s */
65 ZMMP_AMR_ENC_MODE_9, /* NB:ÎÞЧ, WB:DTX */
66 ZMMP_AMR_ENC_MODE_INVALID /* NB:ÎÞЧ, WB:ÎÞЧ */
67}T_zMmp_AmrEncMode;
68
69
70/**************************************************************************
71* º¯ÊýÉùÃ÷Çø
72**************************************************************************/
73VOID* mmp_AmrDecOpen (T_zMmp_CodecType codecType);
74VOID* mmp_AmrEncOpen (T_zMmp_CodecType codecType, BOOL isDtxEnable);
75UINT16 mmp_AmrDecode (VOID *pCodecContext, const UINT8 *pAmr, UINT16 *pPcm);
76UINT16 mmp_AmrEncode (VOID *pCodecContext, T_zMmp_AmrEncMode mode, const UINT16 *pPcm, UINT8 *pAmr);
77VOID mmp_AmrDecClose (VOID *pCodecContext);
78VOID mmp_AmrEncClose (VOID *pCodecContext);
79
80/**************************************************************************
81* È«¾Ö³£Á¿/±äÁ¿ÉùÃ÷Çø
82**************************************************************************/
83
84#ifdef __cplusplus
85}
86#endif
87
88#endif