• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
22 #ifndef LAME_GTKANAL_H
23 #define LAME_GTKANAL_H
24 
25 
26 #define READ_AHEAD 40   /* number of frames to read ahead */
27 #define MAXMPGLAG READ_AHEAD /* if the mpg123 lag becomes bigger than this
28                                 we have to stop */
29 #define NUMBACK 6       /* number of frames we can back up */
30 #define NUMPINFO (NUMBACK+READ_AHEAD+1)
31 
32 
33 
34 struct plotting_data {
35     int     frameNum;        /* current frame number */
36     int     frameNum123;
37     int     num_samples;     /* number of pcm samples read for this frame */
38     double  frametime;       /* starting time of frame, in seconds */
39     double  pcmdata[2][1600];
40     double  pcmdata2[2][1152 + 1152 - DECDELAY];
41     double  xr[2][2][576];
42     double  mpg123xr[2][2][576];
43     double  ms_ratio[2];
44     double  ms_ener_ratio[2];
45 
46     /* L,R, M and S values */
47     double  energy_save[4][BLKSIZE]; /* psymodel is one ahead */
48     double  energy[2][4][BLKSIZE];
49     double  pe[2][4];
50     double  thr[2][4][SBMAX_l];
51     double  en[2][4][SBMAX_l];
52     double  thr_s[2][4][3 * SBMAX_s];
53     double  en_s[2][4][3 * SBMAX_s];
54     double  ers_save[4];     /* psymodel is one ahead */
55     double  ers[2][4];
56 
57     double  sfb[2][2][SBMAX_l];
58     double  sfb_s[2][2][3 * SBMAX_s];
59     double  LAMEsfb[2][2][SBMAX_l];
60     double  LAMEsfb_s[2][2][3 * SBMAX_s];
61 
62     int     LAMEqss[2][2];
63     int     qss[2][2];
64     int     big_values[2][2];
65     int     sub_gain[2][2][3];
66 
67     double  xfsf[2][2][SBMAX_l];
68     double  xfsf_s[2][2][3 * SBMAX_s];
69 
70     int     over[2][2];
71     double  tot_noise[2][2];
72     double  max_noise[2][2];
73     double  over_noise[2][2];
74     int     over_SSD[2][2];
75     int     blocktype[2][2];
76     int     scalefac_scale[2][2];
77     int     preflag[2][2];
78     int     mpg123blocktype[2][2];
79     int     mixed[2][2];
80     int     mainbits[2][2];
81     int     sfbits[2][2];
82     int     LAMEmainbits[2][2];
83     int     LAMEsfbits[2][2];
84     int     framesize, stereo, js, ms_stereo, i_stereo, emph, bitrate, sampfreq, maindata;
85     int     crc, padding;
86     int     scfsi[2], mean_bits, resvsize;
87     int     totbits;
88 };
89 #ifndef plotting_data_defined
90 #define plotting_data_defined
91 typedef struct plotting_data plotting_data;
92 #endif
93 #if 0
94 extern plotting_data *pinfo;
95 #endif
96 #endif
97