blob: 7cbb6afbc4dc3ca070acbd91f2d959cdefe0fbd7 [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 _MMP_AMR_API_H
26#define _MMP_AMR_API_H
27
28/**************************************************************************
29* #includeÇø
30**************************************************************************/
31#include"oss_api.h"
32#ifdef __cplusplus
33extern "C" {
34#endif
35
36/**************************************************************************
37* ºê¶¨ÒåÇø
38**************************************************************************/
39#define ZAMR_ERROR (0)
40#define ZAMR_SUCCESS (1)
41
42/**************************************************************************
43* Êý¾Ý½á¹¹¶¨ÒåÇø
44**************************************************************************/
45typedef enum
46{
47 ZMMP_AMR_ENC_MODE_0, /* NB:4.75 kbit/s, WB:6.60 kbit/s */
48 ZMMP_AMR_ENC_MODE_1, /* NB:5.15 kbit/s, WB:8.85 kbit/s */
49 ZMMP_AMR_ENC_MODE_2, /* NB:5.90 kbit/s, WB:12.65 kbit/s */
50 ZMMP_AMR_ENC_MODE_3, /* NB:6.70 kbit/s, WB:14.25 kbit/s */
51 ZMMP_AMR_ENC_MODE_4, /* NB:7.40 kbit/s, WB:15.85 kbit/s */
52 ZMMP_AMR_ENC_MODE_5, /* NB:7.95 kbit/s, WB:18.25 kbit/s */
53 ZMMP_AMR_ENC_MODE_6, /* NB:10.2 kbit/s, WB:19.85 kbit/s */
54 ZMMP_AMR_ENC_MODE_7, /* NB:12.2 kbit/s, WB:23.05 kbit/s */
55 ZMMP_AMR_ENC_MODE_8, /* NB:DTX, WB:23.85 kbit/s */
56 ZMMP_AMR_ENC_MODE_9, /* NB:ÎÞЧ, WB:DTX */
57 ZMMP_AMR_ENC_MODE_INVALID /* NB:ÎÞЧ, WB:ÎÞЧ */
58}T_zMmp_AmrEncMode;
59
60/**************************************************************************
61* º¯ÊýÉùÃ÷Çø
62**************************************************************************/
63/**************************************************************************
64* ¹¦ÄÜÃèÊö: ´ò¿ªAMR½âÂëÆ÷
65* ²ÎÊý˵Ã÷:
66* (´«Èë²ÎÊý) ÎÞ
67* (´«³ö²ÎÊý) ÎÞ
68* ·µ »Ø Öµ: AMR½âÂëÆ÷ÉÏÏÂÎÄ,NULLΪ´ò¿ª½âÂëÆ÷ʧ°Ü
69* ÆäËü˵Ã÷: ÎÞ
70**************************************************************************/
71VOID* zMmp_AmrDecOpen(VOID);
72
73/**************************************************************************
74* ¹¦ÄÜÃèÊö: ´ò¿ªAMR±àÂëÆ÷
75* ²ÎÊý˵Ã÷:
76* (´«Èë²ÎÊý) isDtxEnable: FALSE:²»Ö§³Ödtx£¬TRUE:Ö§³Ödtx
77* (´«³ö²ÎÊý) ÎÞ
78* ·µ »Ø Öµ: AMR±àÂëÆ÷ÉÏÏÂÎÄ£¬NULLΪ´ò¿ª±àÂëÆ÷ʧ°Ü
79* ÆäËü˵Ã÷: ÎÞ
80**************************************************************************/
81
82VOID* zMmp_AmrEncOpen(BOOL isDtxEnable);
83
84/**************************************************************************
85* ¹¦ÄÜÃèÊö: ½âÒ»Ö¡AMRÊý¾Ý
86* ²ÎÊý˵Ã÷:
87* (´«Èë²ÎÊý) pCodecContext: AMR½âÂëÉÏÏÂÎÄ
88 pAmr: ÊäÈëAMRÊý¾ÝÆðʼµØÖ· ,¿Õ¼ä×îÉÙ17¸ö°ë×Ö(16 + 1(¹Ì¶¨0x2))
89* (´«³ö²ÎÊý) pPcm: Êä³öPCMÊý¾ÝÆðʼµØÖ· ,¿Õ¼ä×îÉÙ160¸ö°ë×Ö
90* ·µ »Ø Öµ: ZAMR_ERROR (0)
91 ZAMR_SUCCESS (1)
92* ÆäËü˵Ã÷: ÎÞ
93**************************************************************************/
94
95UINT16 zMmp_AmrDecode(VOID *pCodecContext, const UINT16 *pAmr, UINT16 *pPcm);
96
97/**************************************************************************
98* ¹¦ÄÜÃèÊö: ±àÒ»Ö¡PCMÊý¾Ý
99* ²ÎÊý˵Ã÷:
100* (´«Èë²ÎÊý) pCodecContext: AMR±àÂëÉÏÏÂÎÄ
101 mode: ±àÂëģʽ
102 pPcm: PCMÊý¾ÝÆðʼµØÖ· ,¿Õ¼ä×îÉÙ160¸ö°ë×Ö
103* (´«³ö²ÎÊý) pAmr: Êä³öAMRÊý¾ÝÆðʼµØÖ·,¿Õ¼ä×îÉÙ17¸ö°ë×Ö(16 + 1(¹Ì¶¨0x2))
104* ·µ »Ø Öµ: ZAMR_ERROR (0)
105 ZAMR_SUCCESS (1)
106* ÆäËü˵Ã÷: ÎÞ
107**************************************************************************/
108
109UINT16 zMmp_AmrEncode(VOID *pCodecContext, T_zMmp_AmrEncMode mode, const UINT16 *pPcm, UINT16 *pAmr);
110
111/**************************************************************************
112* ¹¦ÄÜÃèÊö: ¹Ø±Õ½âÂëÆ÷
113* ²ÎÊý˵Ã÷:
114* (´«Èë²ÎÊý) pCodecContext: AMR½âÂëÉÏÏÂÎÄ
115* (´«³ö²ÎÊý) ÎÞ
116* ·µ »Ø Öµ: ÎÞ
117* ÆäËü˵Ã÷: ÎÞ
118**************************************************************************/
119
120VOID zMmp_AmrDecClose(VOID *pCodecContext);
121
122/**************************************************************************
123* ¹¦ÄÜÃèÊö: ¹Ø±Õ±àÂëÆ÷
124* ²ÎÊý˵Ã÷:
125* (´«Èë²ÎÊý) pCodecContext: AMR±àÂëÉÏÏÂÎÄ
126* (´«³ö²ÎÊý) ÎÞ
127* ·µ »Ø Öµ: ÎÞ
128* ÆäËü˵Ã÷: ÎÞ
129**************************************************************************/
130
131VOID zMmp_AmrEncClose(VOID *pCodecContext);
132
133/**************************************************************************
134* È«¾Ö³£Á¿/±äÁ¿ÉùÃ÷Çø
135**************************************************************************/
136
137#ifdef __cplusplus
138}
139#endif
140
141#endif