• 大小: 74KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-11-29
  • 语言: 其他
  • 标签: mpeg  VC6.0程序  音频  

资源简介

对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音频编码\frame.c

     文件      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


评论

共有 条评论