2 * GTK plotting routines source file
4 * Copyright (c) 1999 Mark Taylor
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.
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.
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.
22 #ifndef LAME_GTKANAL_H
23 #define LAME_GTKANAL_H
26 #define READ_AHEAD 40 /* number of frames to read ahead */
27 #define MAXMPGLAG READ_AHEAD /* if the mpg123 lag becomes bigger than this
29 #define NUMBACK 6 /* number of frames we can back up */
30 #define NUMPINFO (NUMBACK+READ_AHEAD+1)
34 struct plotting_data {
35 int frameNum; /* current frame number */
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];
42 double mpg123xr[2][2][576];
44 double ms_ener_ratio[2];
46 /* L,R, M and S values */
47 double energy_save[4][BLKSIZE]; /* psymodel is one ahead */
48 double energy[2][4][BLKSIZE];
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 */
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];
65 int sub_gain[2][2][3];
67 double xfsf[2][2][SBMAX_l];
68 double xfsf_s[2][2][3 * SBMAX_s];
71 double tot_noise[2][2];
72 double max_noise[2][2];
73 double over_noise[2][2];
76 int scalefac_scale[2][2];
78 int mpg123blocktype[2][2];
82 int LAMEmainbits[2][2];
84 int framesize, stereo, js, ms_stereo, i_stereo, emph, bitrate, sampfreq, maindata;
86 int scfsi[2], mean_bits, resvsize;
89 #ifndef plotting_data_defined
90 #define plotting_data_defined
91 typedef struct plotting_data plotting_data;
94 extern plotting_data *pinfo;