home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 13 / AACD13.ISO / AACD / Sound / LAME / src / l3side.h < prev    next >
C/C++ Source or Header  |  2000-05-30  |  2KB  |  79 lines

  1. #ifndef L3_SIDE_H
  2. #define L3_SIDE_H
  3. #include "encoder.h"
  4. #include "machine.h"
  5.  
  6. /* Layer III side information. */
  7.  
  8. typedef FLOAT8    D576[576];
  9. typedef int    I576[576];
  10. typedef FLOAT8    D192_3[192][3];
  11. typedef int    I192_3[192][3];
  12.  
  13.  
  14. typedef struct 
  15. {
  16.    int l[1+SBMAX_l];
  17.    int s[1+SBMAX_s];
  18. } scalefac_struct;
  19.  
  20.  
  21. typedef struct {
  22.     FLOAT8    l[SBMAX_l];
  23.     FLOAT8    s[SBMAX_s][3];
  24. } III_psy_xmin;
  25.  
  26. typedef struct {
  27.     III_psy_xmin thm;
  28.     III_psy_xmin en;
  29. } III_psy_ratio;
  30.  
  31. typedef struct {
  32.     unsigned int part2_3_length;
  33.     unsigned int big_values;
  34.     unsigned int count1;
  35.      unsigned int global_gain;
  36.     unsigned int scalefac_compress;
  37.     unsigned int window_switching_flag;
  38.     unsigned int block_type;
  39.     unsigned int mixed_block_flag;
  40.     unsigned int table_select[3];
  41.     unsigned int subblock_gain[3];
  42.     unsigned int region0_count;
  43.     unsigned int region1_count;
  44.     unsigned int preflag;
  45.     unsigned int scalefac_scale;
  46.     unsigned int count1table_select;
  47.  
  48.     unsigned int part2_length;
  49.     unsigned int sfb_lmax;
  50.     unsigned int sfb_smax;
  51.     unsigned int count1bits;
  52.     /* added for LSF */
  53.     unsigned int *sfb_partition_table;
  54.     unsigned int slen[4];
  55. } gr_info;
  56.  
  57. typedef struct {
  58.     int main_data_begin; /* unsigned -> int */
  59.     unsigned int private_bits;
  60.     int resvDrain_pre;
  61.     int resvDrain_post;
  62.     unsigned int scfsi[2][4];
  63.     struct {
  64.         struct gr_info_ss {
  65.             gr_info tt;
  66.             } ch[2];
  67.         } gr[2];
  68.     } III_side_info_t;
  69.  
  70. /* Layer III scale factors. */
  71. /* note: there are only SBPSY_l=(SBMAX_l-1) and SBPSY_s=(SBMAX_s-1) scalefactors.
  72.  * Dont know why these would be dimensioned SBMAX_l and SBMAX-s */
  73. typedef struct {
  74.     int l[SBMAX_l];            /* [cb] */
  75.     int s[SBMAX_s][3];         /* [window][cb] */
  76. } III_scalefac_t;  /* [gr][ch] */
  77.  
  78. #endif
  79.