mpg123.h
上传用户:yisoukefu
上传日期:2020-08-09
资源大小:39506k
文件大小:2k
源码类别:

其他游戏

开发平台:

Visual C++

  1. #ifndef MPG123_H
  2. #define MPG123_H
  3. #define real float
  4. #ifndef M_PI
  5. #define M_PI 3.141592653589793238462
  6. #endif
  7. #ifndef M_SQRT2
  8. #define M_SQRT2 1.414213562373095048802
  9. #endif
  10. #define         MAX_NAME_SIZE           81
  11. #define         SBLIMIT                 32
  12. #define         SCALE_BLOCK             12
  13. #define         SSLIMIT                 18
  14. #define         MPG_MD_STEREO           0
  15. #define         MPG_MD_JOINT_STEREO     1
  16. #define         MPG_MD_DUAL_CHANNEL     2
  17. #define         MPG_MD_MONO             3
  18. /* #define MAXOUTBURST 32768 */
  19. /* Pre Shift fo 16 to 8 bit converter table */
  20. #define AUSHIFT (3)
  21. struct al_table
  22. {
  23.   short bits;
  24.   short d;
  25. };
  26. struct frame {
  27.          struct al_table *alloc;
  28.          int (*synth)(real *,int,unsigned char *,int *);
  29.     int (*synth_mono)(real *,unsigned char *,int *);
  30.     int stereo;
  31.     int jsbound;
  32.     int single;
  33.     int II_sblimit;
  34.     int down_sample_sblimit;
  35.          int lsf;
  36.          int mpeg25;
  37.     int down_sample;
  38.          int header_change;
  39.     int lay;
  40.     int error_protection;
  41.     int bitrate_index;
  42.     int sampling_frequency;
  43.     int padding;
  44.     int extension;
  45.     int mode;
  46.          int mode_ext;
  47.     int copyright;
  48.          int original;
  49.          int emphasis;
  50.          int framesize; /* computed framesize */
  51. };
  52. struct gr_info_s {
  53.       int scfsi;
  54.       unsigned part2_3_length;
  55.       unsigned big_values;
  56.       unsigned scalefac_compress;
  57.       unsigned block_type;
  58.       unsigned mixed_block_flag;
  59.       unsigned table_select[3];
  60.       unsigned subblock_gain[3];
  61.       unsigned maxband[3];
  62.       unsigned maxbandl;
  63.       unsigned maxb;
  64.       unsigned region1start;
  65.       unsigned region2start;
  66.       unsigned preflag;
  67.       unsigned scalefac_scale;
  68.       unsigned count1table_select;
  69.       real *full_gain[3];
  70.       real *pow2gain;
  71. };
  72. struct III_sideinfo
  73. {
  74.   unsigned main_data_begin;
  75.   unsigned private_bits;
  76.   struct {
  77.          struct gr_info_s gr[2];
  78.   } ch[2];
  79. };
  80. typedef int (*synth_func_t)( real *,int,short * );
  81. typedef void (*dct36_func_t)(real *,real *,real *,real *,real *);
  82. #endif