• 大小: 192KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-09-20
  • 语言: 其他
  • 标签: mp3  解码  源代码  C  

资源简介

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个文件信息

评论

共有 条评论