资源简介
对mpeg音频进行编码
代码片段和文件信息
/*
* FAAC - Freeware Advanced Audio Coder
* Copyright (C) 2001 Menno Bakker
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not write to the Free Software
* Foundation Inc. 59 Temple Place Suite 330 Boston MA 02111-1307 USA
*
* $Id: aacquant.cv 1.3 2001/06/04 23:02:24 wmay Exp $
*/
#include
#include
#include “aacquant.h“
#include “coder.h“
#include “huffman.h“
#include “psych.h“
#include “util.h“
#define XRPOW_FTOI(srcdest) ((dest) = (int)(src))
#define QUANTFAC(rx) adj43[rx]
#define ROUNDFAC 0.4054
double *pow43;
double *adj43;
double *adj43asm;
void AACQuantizeInit(CoderInfo *coderInfo unsigned int numChannels)
{
unsigned int channel i;
pow43 = (double*)AllocMemory(PRECALC_SIZE*sizeof(double));
adj43 = (double*)AllocMemory(PRECALC_SIZE*sizeof(double));
adj43asm = (double*)AllocMemory(PRECALC_SIZE*sizeof(double));
pow43[0] = 0.0;
for(i=1;i pow43[i] = pow((double)i 4.0/3.0);
adj43asm[0] = 0.0;
for (i = 1; i < PRECALC_SIZE; i++)
adj43asm[i] = i - 0.5 - pow(0.5 * (pow43[i - 1] + pow43[i])0.75);
for (i = 0; i < PRECALC_SIZE-1; i++)
adj43[i] = (i + 1) - pow(0.5 * (pow43[i] + pow43[i + 1]) 0.75);
adj43[i] = 0.5;
for (channel = 0; channel < numChannels; channel++) {
coderInfo[channel].old_value = 0;
coderInfo[channel].CurrentStep = 4;
coderInfo[channel].requantFreq = (double*)AllocMemory(BLOCK_LEN_LONG*sizeof(double));
}
}
void AACQuantizeEnd(CoderInfo *coderInfo unsigned int numChannels)
{
unsigned int channel;
if (pow43) FreeMemory(pow43);
if (adj43) FreeMemory(adj43);
if (adj43asm) FreeMemory(adj43asm);
for (channel = 0; channel < numChannels; channel++) {
if (coderInfo[channel].requantFreq) FreeMemory(coderInfo[channel].requantFreq);
}
}
int AACQuantize(CoderInfo *coderInfo
PsyInfo *psyInfo
ChannelInfo *channelInfo
int *cb_width
int num_cb
double *xr
int desired_rate)
{
int sb i do_q = 0;
int bits sign;
double *xr_pow *xmin;
int *xi;
/* Use local copy‘s */
int *scale_factor = coderInfo->scale_factor;
xr_pow = (double*)AllocMemory(frame_LEN*sizeof(double));
xmin = (double*)AllocMemory(MAX_SCFAC_BANDS*sizeof(double));
xi = (int*)AllocMemory(frame_LEN*sizeof(int));
if (coderInfo->block_type == ONLY_SHORT_WINDOW) {
SortForG
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 18195 2001-06-05 07:02 31767636MPEG4_sound\MPEG4音频编码\aacquant.c
文件 10884 2001-06-05 07:02 31767636MPEG4_sound\MPEG4音频编码\backpred.c
文件 21930 2002-02-26 06:26 31767636MPEG4_sound\MPEG4音频编码\bitstream.c
文件 4876 2001-06-05 07:02 31767636MPEG4_sound\MPEG4音频编码\channels.c
文件 41984 2008-05-13 15:00 31767636MPEG4_sound\MPEG4音频编码\Debug\vc60.idb
文件 28672 2008-05-13 15:00 31767636MPEG4_sound\MPEG4音频编码\Debug\vc60.pdb
文件 8543 2002-04-25 06:25 31767636MPEG4_sound\MPEG4音频编码\faac.c
文件 5178 2002-04-25 06:25 31767636MPEG4_sound\MPEG4音频编码\faac60.dsp
文件 843 2002-02-22 02:51 31767636MPEG4_sound\MPEG4音频编码\faac60.dsw
文件 115712 2008-05-13 15:00 31767636MPEG4_sound\MPEG4音频编码\faac60.ncb
文件 54784 2008-05-13 15:00 31767636MPEG4_sound\MPEG4音频编码\faac60.opt
文件 32969 2008-05-13 15:00 31767636MPEG4_sound\MPEG4音频编码\faac60.plg
文件 12817 2001-06-05 07:02 31767636MPEG4_sound\MPEG4音频编码\fft.c
文件 18321 2001-06-05 07:02 31767636MPEG4_sound\MPEG4音频编码\filtbank.c
文件 18654 2002-02-26 06:26 31767636MPEG4_sound\MPEG4音频编码\fr
文件 31398 2001-06-05 07:02 31767636MPEG4_sound\MPEG4音频编码\huffman.c
文件 5996 2001-06-05 07:02 31767636MPEG4_sound\MPEG4音频编码\joint.c
文件 10869 2001-06-05 07:02 31767636MPEG4_sound\MPEG4音频编码\ltp.c
文件 40821 2001-07-13 06:48 31767636MPEG4_sound\MPEG4音频编码\psych.c
文件 490 2002-09-18 12:50 31767636MPEG4_sound\MPEG4音频编码\readme.txt
文件 18706 2001-06-05 07:02 31767636MPEG4_sound\MPEG4音频编码\tns.c
文件 2969 2001-06-05 07:02 31767636MPEG4_sound\MPEG4音频编码\util.c
目录 0 2008-05-13 13:36 31767636MPEG4_sound\MPEG4音频编码\Debug
目录 0 2008-05-13 15:00 31767636MPEG4_sound\MPEG4音频编码
目录 0 2008-05-13 16:50 31767636MPEG4_sound
----------- --------- ---------- ----- ----
505611 25
- 上一篇:中间件Corba
- 下一篇:基于声卡的labview数据采集处理程序
相关资源
- 语音频谱分析程序
- 基于单片机音频信号分析仪设计
- ios-播放器.zip
- 基于单片机的音频信号分析仪的设计
- 音频信号软件频谱分析仪设计
- 从mpeg ts文件中提取I帧 1积分
- 音频信号分析仪07电设国赛,STM32实现
- AMR音频文件格式分析(AMR音频文件)
- 音频信号分析仪(快速傅里叶变换)
- 利用MSP430处理器实现音频频谱分析仪
- 树莓派安装ffmpeg及opencv资料
- 音频信号分析仪(快速傅里叶变换)
- 音频信号的谱分析及去噪
- 语音实时频谱分析程序
- 单片机唱歌八月桂花香
- 经典功率谱估计与现代功率谱估计的
- linux音频播放和停止
- windows下用MinGW编译ffmpeg+x265库
- speex音频转pcm和aac
- 利用windows api采集麦克风音频并播放
- Qt播放PCM音频裸流文件
- ARM6818电子钢琴
- 7-band EQ均衡器算法
- 3.5mm耳机和音频输入PCB封装AD
- 微信小程序,图片拍照,音频视频录
- 音频文件加密,解密
- 数字计算器的基本按键音频 含年月日
- nginx、ffmpeg转流文件源码
- 使用Wave系列API开发录音机和播放器
- 编译opencv3.1需要的ffmpeg_version.cmake文件
评论
共有 条评论