资源简介
mp3格式软件解码的C源程序
代码片段和文件信息
/*____________________________________________________________________________
MP3 Decoding Libraries
Lanuguages used: C C++ ASM
As much as I would love to I cannot take
full credit for writing this code.
Xing Technology made MPEG-layer 3 for us
to decode. =)
- ULTiMaTuM -
MPEG-layer 3 (MP3)
Copyright (C) 1995-1997 Xing Technology
NOTE: I only edited the bare-minimum. 90%
of this is original decoding code...
Hmm... that sounds strange =)
____________________________________________________________________________*/
/**** cdct.c ***************************************************
MPEG audio decoder
dct format
Original revisions:
mod 5/16/95 first stage in 8 pt dct does not drop last sb mono
******************************************************************/
#include “config.h“
#include
#include
#include
#include
/* external assembler (don‘t you just LOVE multi-
language code? =) */
#ifdef ASM_X86
extern void fdct32_asm(float*a float*b);
extern void fdct32_dual_asm(float*a float*b);
#elif defined(ASM_X86_OLD)
extern void asm_fdct32(float *in float *out);
#endif /* ASM_X86 */
float coef32[31]; /* 32 pt dct coefs */
/*------------------------------------------------------------*/
float *dct_coef_addr()
{
return coef32;
}
/*------------------------------------------------------------*/
static void forward_bf(int m int n float x[] float f[] float coef[])
{
int i j n2;
int p q p0 k;
p0 = 0;
n2 = n >> 1;
for (i = 0; i < m; i++ p0 += n)
{
k = 0;
p = p0;
q = p + n - 1;
for (j = 0; j < n2; j++ p++ q-- k++)
{
f[p] = x[p] + x[q];
f[n2 + p] = coef[k] * (x[p] - x[q]);
}
}
}
/*------------------------------------------------------------*/
static void back_bf(int m int n float x[] float f[])
{
int i j n2 n21;
int p q p0;
p0 = 0;
n2 = n >> 1;
n21 = n2 - 1;
for (i = 0; i < m; i++ p0 += n)
{
p = p0;
q = p0;
for (j = 0; j < n2; j++ p += 2 q++)
f[p] = x[q];
p = p0 + 1;
for (j = 0; j < n21; j++ p += 2 q++)
f[p] = x[q] + x[q + 1];
f[p] = x[q];
}
}
/*------------------------------------------------------------*/
#ifdef _EQUALIZER_ENABLE_
extern float equalizer[32];
extern int enableEQ;
#endif
void fdct32(float x[] float c[])
{
#if (!defined(ASM_X86) && !defined(ASM_X86_OLD) || defined(_EQUALIZER_ENABLE_))
float a[32]; /* ping pong buffers */
float b[32];
int p q;
#endif
float *src = x;
#ifdef _EQUALIZER_ENABLE_
int i;
float b[32];
if (enableEQ) {
for(i=0; i<32; i++)
b[i] = x[i] * equalizer[i];
src = b;
}
#endif /* _EQUALIZER_ENABLE_ */
#undef _EQUALIZER_ENABLE_
#ifdef ASM_X86
fdct32_asm(src c);
#elif defined(ASM_X86_OLD)
asm_fdct32(src c);
#else
/*
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2005-01-11 19:45 mp3解码源程序
文件 7061 2000-04-23 07:32 mp3解码源程序\xing.plg
文件 16489 1999-12-03 13:07 mp3解码源程序\xing.001
文件 148 1998-10-13 19:48 mp3解码源程序\xing.def
文件 16532 2000-04-23 08:22 mp3解码源程序\xing.dsp
文件 531 1998-10-13 05:44 mp3解码源程序\xing.dsw
文件 51985 1999-12-21 12:31 mp3解码源程序\xing.mak
文件 254976 2000-04-23 08:57 mp3解码源程序\xing.ncb
文件 49664 2000-04-23 08:57 mp3解码源程序\xing.opt
文件 2785 2000-04-23 08:57 mp3解码源程序\xing.rc
文件 32712 2000-04-23 08:57 mp3解码源程序\xing.aps
文件 9479 2000-04-23 08:11 mp3解码源程序\cdct.c
文件 10102 2000-04-23 08:09 mp3解码源程序\cdctasm.asm
文件 8796 2000-04-23 08:15 mp3解码源程序\csbt.c
文件 7232 2000-04-23 08:44 mp3解码源程序\csbtb.c
文件 7224 2000-04-23 08:45 mp3解码源程序\csbtL3.c
文件 17701 2000-04-23 08:35 mp3解码源程序\cup.c
文件 12428 2000-04-23 08:45 mp3解码源程序\cupini.c
文件 8270 2000-04-23 08:45 mp3解码源程序\cupL1.c
文件 35796 2000-04-23 08:36 mp3解码源程序\cupl3.c
文件 10463 2000-04-23 08:46 mp3解码源程序\cwin.c
文件 14117 2000-04-23 09:19 mp3解码源程序\cwin8asm.asm
文件 13612 2000-04-23 09:20 mp3解码源程序\cwinasm.asm
文件 11081 2000-04-23 08:46 mp3解码源程序\cwinb.c
文件 1287 2000-04-23 08:36 mp3解码源程序\cwinm.c
文件 8703 2000-04-23 08:37 mp3解码源程序\dec8.c
文件 7045 2000-04-23 08:38 mp3解码源程序\hwin.c
文件 10117 2000-04-23 08:38 mp3解码源程序\icdct.c
文件 11319 2000-04-23 08:39 mp3解码源程序\isbt.c
文件 7937 2000-04-23 08:47 mp3解码源程序\isbtb.c
............此处省略38个文件信息
相关资源
- 8通道数据采集的Labview源代码,PC端代
- 小波变换dwt源代码
- 现代信号谱分析源代码
- 电子闹钟《微机接口与汇编语言》源
- mini2440arm基于qt4的MP3源码
- 抓包开源代码
- 基于主成分分析(PCA)的人脸识别系
- 原理图源代码Proteus仿真.zip
- tiny词法分析,语法分析,语义分析,
- 编译原理 算符优先分析程序
- 编译原理自顶向下语法分析源代码+实
- 网页版俄罗斯方块源代码
- 时间序列的分析——模型的识别与预
- 一个电脑病毒源代码的详细分析
- [键盘记录源码] C 语言编写的键盘记录
- .Net新闻发布系统+源代码+文档说明
- dsp实验源代码和实验报告——数据采
- 基于VHDL的FIR滤波器的源代码
- Pygame游戏源代码:俄罗斯方块
- 宾馆客房管理系统源代码
- DCT域图像数字水印算法的分析和实现
- zw_hello3222-8745847-语义分析及中间代码
- 数据结构课程设计-排课系统源代码
- linux下缓冲区溢出攻击源代码
- 网络嗅探器源代码及文档
- 计算机网络高级软件编程技术第5章
- 汇编语言课程设计实验报告 拼图游戏
- 超市销售管理系统包含需求分析 概要
- fourinone源代码分析
- 家用防盗报警器的Verilog源代码及原理
评论
共有 条评论