资源简介
对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数据采集处理程序
相关资源
- DBX数字音频处理器调试软件
- Jetson-TX2多声卡实现同时录音与播放
- nginx-rtmp-win32-master.rar
- 音频测试文件pcmmp3aacamrg711ag711u等多种
- FFMEPG实现h264解码
- ffmpegh265rtmp.zip
- 一种基于DAB接收机的MP3播放器设计方
- 音频前置放大器电路
- 音频前置放大器电路图大全
- ffserver(windows下编译32位)
- qt_ffmpeg_mp4_export_and_import.zip
- 最简单的基于FFmpeg的推流器 1.2
- 简单的ffmpeg推流demo
- FFmpeg和SDL,读内存中的视频流,进行
- ffmpeg之pcm转AAC
- ffmpeg-2.8.14.tar.gz
- 中文语音播报音频文件[阿拉伯数字
- 利用ffmpeg的filter混音
- vs2010 ffmpeg实时解码h264码流
- ffmpeg 音视频转码代码
- windows上自己编译的最新的ffmpeg库
- Qt基于FFmpeg播放本地 H.264H264文件
- 从ffmpeg中抽取的h264解码器,可用于
- ffplay源代码
- 最简单的基于FFmpeg的推流器以推送R
- DVD文件VOB的生成代码
- FFmpeg 采集摄像头输出rtmp直播流媒体,
- 基于ffmpeg将avi视频转换为mp4视频
- (补充)修改output-example,将H.264AAC帧
- ffmpeg-win64位库
评论
共有 条评论