winamp/Src/external_dependencies/openmpt-trunk/include/lame/libmp3lame/lame-analysis.h
2024-09-24 14:54:57 +02:00

97 lines
3.0 KiB
C
Vendored

/*
* GTK plotting routines source file
*
* Copyright (c) 1999 Mark Taylor
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef LAME_GTKANAL_H
#define LAME_GTKANAL_H
#define READ_AHEAD 40 /* number of frames to read ahead */
#define MAXMPGLAG READ_AHEAD /* if the mpg123 lag becomes bigger than this
we have to stop */
#define NUMBACK 6 /* number of frames we can back up */
#define NUMPINFO (NUMBACK+READ_AHEAD+1)
struct plotting_data {
int frameNum; /* current frame number */
int frameNum123;
int num_samples; /* number of pcm samples read for this frame */
double frametime; /* starting time of frame, in seconds */
double pcmdata[2][1600];
double pcmdata2[2][1152 + 1152 - DECDELAY];
double xr[2][2][576];
double mpg123xr[2][2][576];
double ms_ratio[2];
double ms_ener_ratio[2];
/* L,R, M and S values */
double energy_save[4][BLKSIZE]; /* psymodel is one ahead */
double energy[2][4][BLKSIZE];
double pe[2][4];
double thr[2][4][SBMAX_l];
double en[2][4][SBMAX_l];
double thr_s[2][4][3 * SBMAX_s];
double en_s[2][4][3 * SBMAX_s];
double ers_save[4]; /* psymodel is one ahead */
double ers[2][4];
double sfb[2][2][SBMAX_l];
double sfb_s[2][2][3 * SBMAX_s];
double LAMEsfb[2][2][SBMAX_l];
double LAMEsfb_s[2][2][3 * SBMAX_s];
int LAMEqss[2][2];
int qss[2][2];
int big_values[2][2];
int sub_gain[2][2][3];
double xfsf[2][2][SBMAX_l];
double xfsf_s[2][2][3 * SBMAX_s];
int over[2][2];
double tot_noise[2][2];
double max_noise[2][2];
double over_noise[2][2];
int over_SSD[2][2];
int blocktype[2][2];
int scalefac_scale[2][2];
int preflag[2][2];
int mpg123blocktype[2][2];
int mixed[2][2];
int mainbits[2][2];
int sfbits[2][2];
int LAMEmainbits[2][2];
int LAMEsfbits[2][2];
int framesize, stereo, js, ms_stereo, i_stereo, emph, bitrate, sampfreq, maindata;
int crc, padding;
int scfsi[2], mean_bits, resvsize;
int totbits;
};
#ifndef plotting_data_defined
#define plotting_data_defined
typedef struct plotting_data plotting_data;
#endif
#if 0
extern plotting_data *pinfo;
#endif
#endif