lame-analysis.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. /*
  2. * GTK plotting routines source file
  3. *
  4. * Copyright (c) 1999 Mark Taylor
  5. *
  6. * This library is free software; you can redistribute it and/or
  7. * modify it under the terms of the GNU Library General Public
  8. * License as published by the Free Software Foundation; either
  9. * version 2 of the License, or (at your option) any later version.
  10. *
  11. * This library is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. * Library General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU Library General Public
  17. * License along with this library; if not, write to the
  18. * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  19. * Boston, MA 02111-1307, USA.
  20. */
  21. #ifndef LAME_GTKANAL_H
  22. #define LAME_GTKANAL_H
  23. #include "encoder.h"
  24. #define READ_AHEAD 10 /* number of frames to read ahead */
  25. #define MAXMPGLAG READ_AHEAD /* if the mpg123 lag becomes bigger than this we have to stop */
  26. #define NUMBACK 6 /* number of frames we can back up */
  27. #define NUMPINFO (NUMBACK+READ_AHEAD+1)
  28. typedef struct {
  29. int frameNum; /* current frame number */
  30. int frameNum123;
  31. int num_samples; /* number of pcm samples read for this frame */
  32. double frametime; /* starting time of frame, in seconds */
  33. double pcmdata[2][1600];
  34. double pcmdata2[2][1152+1152-DECDELAY];
  35. double xr[2][2][576];
  36. double mpg123xr[2][2][576];
  37. double ms_ratio[2];
  38. double ms_ener_ratio[2];
  39. /* L,R, M and S values */
  40. double energy[2][4][BLKSIZE];
  41. double pe[2][4];
  42. double thr[2][4][SBMAX_l];
  43. double en[2][4][SBMAX_l];
  44. double thr_s[2][4][3*SBMAX_s];
  45. double en_s[2][4][3*SBMAX_s];
  46. double ers[2][4];
  47. double sfb[2][2][SBMAX_l];
  48. double sfb_s[2][2][3*SBMAX_s];
  49. double LAMEsfb[2][2][SBMAX_l];
  50. double LAMEsfb_s[2][2][3*SBMAX_s];
  51. int LAMEqss[2][2];
  52. int qss[2][2];
  53. int big_values[2][2];
  54. int sub_gain[2][2][3];
  55. double xfsf[2][2][SBMAX_l];
  56. double xfsf_s[2][2][3*SBMAX_s];
  57. int over[2][2];
  58. double tot_noise[2][2];
  59. double max_noise[2][2];
  60. double over_noise[2][2];
  61. int blocktype[2][2];
  62. int scalefac_scale[2][2];
  63. int preflag[2][2];
  64. int mpg123blocktype[2][2];
  65. int mixed[2][2];
  66. int mainbits[2][2];
  67. int sfbits[2][2];
  68. int LAMEmainbits[2][2];
  69. int LAMEsfbits[2][2];
  70. int framesize,stereo,js,ms_stereo,i_stereo,emph,bitrate,sampfreq,maindata;
  71. int crc,padding;
  72. int scfsi[2],mean_bits,resvsize;
  73. int totbits;
  74. } plotting_data;
  75. extern plotting_data *pinfo;
  76. #endif