接口协议适用平台:(Windows&Linux&ARM)
1. SDK描述
EasyAACEncoder-arm 是一款商用音频转码到AAC的工具库,目前支持G711a/G711u/G726/PCM等音频格式的转码,跨平台,支持Windows(32&64)/Linux(32&64)/ARM各平台,相比于其他普通类型的音频转码库,音频转码CPU效率有极大提升;在类似于hisi海思芯片的大部分ARM系统中,对浮点运算的支持都不是很好,效率非常低,导致在ARM设备中直接将PCM类型音频转成AAC时,效率非常低,于是我们根据特定的ARM平台定制整理出了一套商用版本的音频转码EasyAACEncoder SDK,目前海思(hisiv100、hisiv200、hisiv300、hisiv400)全系列均已支持,CPU占用率极低,能非常好地满足ARM平台的AAC音频转码需求!
2. API接口函数定义
2.1 SDK激活
函数:
Easy_API int Easy_APICALL Easy_AACEncoder_activate(char *license);
参数:
license: SDK激活码,可在 www.pvale.com 在线获取,或联系我们。
返回:
返回值为第三节的EASY_ACTIVATE_ERR_CODE_ENUM枚举类型
2.2 创建AAC Encoder句柄
函数:
Easy_API EasyAACEncoder_Handle Easy_APICALL Easy_AACEncoder_Init(InitParam initPar);
参数:
initPar: 指定原始音频编码格式、采样率、通道数、位深度
返回:
本次AAC Encoder Session的句柄
2.3 AAC编码
函数:
Easy_API int Easy_APICALL Easy_AACEncoder_Encode(EasyAACEncoder_Handle handle, unsigned char inbuf, unsigned int inlen, unsigned char outbuf, unsigned int* outlen);
参数:
handle: Easy_AACEncoder_Init接口返回的句柄
inbuf: 输入的原始音频数据
inlen: 输入的原始音频数据大小
outbuf: 输出的AAC数据
outlen: 输出的AAC数据大小, 如果本次输入的原始数据不能编码成一个完整的AAC帧,这里返回0,库里会等待后面的数据再返回一个完整的AAC帧
2.4 释放AAC Encoder句柄
函数:
Easy_API void Easy_APICALL Easy_AACEncoder_Release(EasyAACEncoder_Handle handle);
参数:
handle: Easy_AACEncoder_Init接口返回的句柄
3. 结构体描述
|