高级音频编解码器资料

上传人:子 文档编号:46678466 上传时间:2018-06-27 格式:PDF 页数:9 大小:446.02KB
返回 下载 相关 举报
高级音频编解码器资料_第1页
第1页 / 共9页
高级音频编解码器资料_第2页
第2页 / 共9页
高级音频编解码器资料_第3页
第3页 / 共9页
高级音频编解码器资料_第4页
第4页 / 共9页
高级音频编解码器资料_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《高级音频编解码器资料》由会员分享,可在线阅读,更多相关《高级音频编解码器资料(9页珍藏版)》请在金锄头文库上搜索。

1、音频编解码器音频编解码器 AAC 的学习的学习 AAC 编解码器资料编解码器资料 下载网址:下载网址:http:/ AAC(Advanced Audio Coding) ,中文称为“高级音频编码” ,出现于 1997 年, 基于 MPEG-2 的音频编码技术。由 Fraunhofer IIS、杜比实验室、AT (ii) faacEncClose() 接口,释放接口,释放 AAC 编解码器编解码器 void FAACAPI faacEncClose ( faacEncHandle hEncoder ); (ii) faacEncGetCurrentConfiguration(),AAC 编码器相

2、关参数选项的获编码器相关参数选项的获 取取 faacEncConfigurationPtr FAACAPI faacEncGetCurrentConfiguration ( faacEncHandle hEncoder ); (iv) faacEncSetConfiguration() 设置设置 AAC encoder 编码器的参数相编码器的参数相关信息。关信息。 int FAACAPI faacEncSetConfiguration(faacEncHandle hEncoder, faacEncConfigurationPtr config) (v)AAC 编码器核心函数编码器核心函数 :

3、faacEncEncode() /* 如如返回返回 0,则返回的是,则返回的是 outputBuffer 中的编码样本字节数中的编码样本字节数 */ int FAACAPI faacEncEncode ( faacEncHandle hEncoder, / AAC编码器的指针 short *inputBuffer, /输入语音样本数组 unsigned int samplesInput, /输入语音样本个数,这个样本数应 该同 faacEncOpen()函数在创建函数在创建 AAC 编码器时所返回来的编码器时所返回来的 inputSamples值一样。值一样。 unsigned char *o

4、utputBuffer, /*存储AAC编码之后的数据流,该 缓冲区的大小至少必须为 由faacEncOpen()调用后调用后所得到的所得到的 maxOutputBytes 值大小值大小。*/ unsigned int bufferSize ); AAC 编码器配置选项的数据结构编码器配置选项的数据结构: typedef struct faacEncConfiguration unsigned int mpegVersion; /mpeg的版本:的版本: mpeg2,mpeg4 unsigned int aacObjectType;/aac对像类型,对像类型, Main,Low,或或 LTP

5、unsigned int allowMidside;/设设1,表示允许,表示允许 使用使用 mid/side编编 码,码,0不用不用 mid/side编码。编码。 unsigned int useLfe; /设设1,使用一个,使用一个 LFE通道,目前不支持本标通道,目前不支持本标 志。志。 unsigned int useTns; /1表示使用表示使用TNS,0 不使用不使用 TNS unsigned long bitRate; /每秒钟,每个通道的每秒钟,每个通道的 bitrate unsigned int bandWidth; /最大的最大的 bandwith,单位为,单位为 Hz /*

6、 以上为以上为 iso的的 faacEncConfiguration数据结构类型数据结构类型, 对于对于 faac 还有以下的参数:还有以下的参数: */ /* Quantizer quality */ unsigned long quantqual; /* Bitstream output format (0 = Raw; 1 = ADTS) */ unsigned int outputFormat; /* psychoacoustic model list */ psymodellist_t *psymodellist; /* selected index in psymodellist

7、*/ unsigned int psymodelidx; /* PCM Sample Input Format 0 FAAC_INPUT_NULL invalid, signifies a misconfigured config 1 FAAC_INPUT_16BIT native endian 16bit 2 FAAC_INPUT_24BIT native endian 24bit in 24 bits (not implemented) 3 FAAC_INPUT_32BIT native endian 24bit in 32 bits (DEFAULT) 4 FAAC_INPUT_FLOA

8、T 32bit floating point */ unsigned int inputFormat; /* block type enforcing (SHORTCTL_NORMAL/SHORTCTL_NOSHORT/SHORTCTL_NOLONG) */ int shortctl; /* Channel Remapping Default 0, 1, 2, 3 . 63 (64 is MAX_CHANNELS in coder.h) WAVE 4.0 2, 0, 1, 3 WAVE 5.0 2, 0, 1, 3, 4 WAVE 5.1 2, 0, 1, 4, 5, 3 AIFF 5.1 2

9、, 0, 3, 1, 4, 5 */ int channel_map64; faacEncConfiguration, *faacEncConfigurationPtr; 【AAC 解码库解码库faad相关】相关】: Faad库的库的 include目录下的接口头文件:目录下的接口头文件: faad.h neaacdec.h (ne-aac-dec.h) ,ne 表示表示 nero,aac,decode表示,表示, 由由 nero 开发的开发的 aac decode 编码器。编码器。 AAC解码器下的相关数据结构及函数接口,都在解码器下的相关数据结构及函数接口,都在 faad库的库的 incl

10、ude目录目录 下的下的 neaacdec.h 中头文件中。中头文件中。 /* AAC解码器类型,即为一个通用的结构指针解码器类型,即为一个通用的结构指针*/ (1)typedef void *NeAACDecHandle; (2)typedef struct mp4AudioSpecificConfig /* Audio Specific Info */ unsigned char objectTypeIndex; unsigned char samplingFrequencyIndex; unsigned long samplingFrequency; unsigned char chan

11、nelsConfiguration; /* GA Specific Info */ unsigned char frameLengthFlag; unsigned char dependsOnCoreCoder; unsigned short coreCoderDelay; unsigned char extensionFlag; unsigned char aacSectionDataResilienceFlag; unsigned char aacScalefactorDataResilienceFlag; unsigned char aacSpectralDataResilienceFl

12、ag; unsigned char epConfig; char sbr_present_flag; char forceUpSampling; char downSampledSBR; mp4AudioSpecificConfig; (3)typedef struct NeAACDecConfiguration unsigned char defObjectType; unsigned long defSampleRate; unsigned char outputFormat; unsigned char downMatrix; unsigned char useOldADTSFormat

13、; unsigned char dontUpSampleImplicitSBR; NeAACDecConfiguration, *NeAACDecConfigurationPtr; (4)typedef struct NeAACDecFrameInfo unsigned long bytesconsumed; / unsigned long samples; unsigned char channels; unsigned char error; unsigned long samplerate; /音频采样率 /* SBR: 0: off, 1: on; upsample, 2: on; d

14、ownsampled, 3: off; upsampled */ unsigned char sbr; /* MPEG-4 ObjectType */ unsigned char object_type; /* AAC header type; MP4 will be signalled as RAW also */ unsigned char header_type; /* multichannel configuration */ unsigned char num_front_channels; unsigned char num_side_channels; unsigned char

15、 num_back_channels; unsigned char num_lfe_channels; unsigned char channel_position64; /* PS: 0: off, 1: on */ unsigned char ps; NeAACDecFrameInfo; 解码的相关API函数说明: (i)NeAACDecOpen 创建创建 AAC解码器解码器 NeAACDecHandle NEAACAPI NeAACDecOpen(void); (ii) NeAACDecClose 释放释放 AAC解码器解码器 void NEAACAPI NeAACDecClose(Ne

16、AACDecHandle hDecoder); (iii) NeAACDecGetCurrentConfiguration 获取获取 AAC解码器相关参数信息解码器相关参数信息 NeAACDecConfigurationPtr NEAACAPI NeAACDecGetCurrentConfiguration(NeAACDecHandle hDecoder); (iv) NeAACDecSetConfiguration 设置设置 AAC解码器相关参数信息解码器相关参数信息 unsigned char NEAACAPI NeAACDecSetConfiguration(NeAACDecHandle hDecoder, NeAACDecConfigurationPtr co

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号