l3side.h
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:2k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

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