From d34041569e71fc9bd772354e94dc9d16061072a5 Mon Sep 17 00:00:00 2001 From: arpi_esp Date: Sat, 24 Feb 2001 20:28:24 +0000 Subject: Initial revision git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2 b3059339-0415-0410-9bf9-f77b7e298cf2 --- mp3lib/mpg123.h | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 mp3lib/mpg123.h (limited to 'mp3lib/mpg123.h') diff --git a/mp3lib/mpg123.h b/mp3lib/mpg123.h new file mode 100644 index 0000000000..fe1e50e594 --- /dev/null +++ b/mp3lib/mpg123.h @@ -0,0 +1,125 @@ +/* + * mpg123 defines + * used source: musicout.h from mpegaudio package + */ + +#include "../config.h" + +# define M_PI 3.14159265358979323846 +# define M_SQRT2 1.41421356237309504880 +# define REAL_IS_FLOAT +# define NEW_DCT9 + +#undef MPG123_REMOTE /* Get rid of this stuff for Win32 */ + +/* +# define real float +# define real long double +# define real double +#include "audio.h" + +// #define AUDIOBUFSIZE 4096 +*/ + +#define FALSE 0 +#define TRUE 1 + +#define MAX_NAME_SIZE 81 +#define SBLIMIT 32 +#define SCALE_BLOCK 12 +#define SSLIMIT 18 + +#define MPG_MD_STEREO 0 +#define MPG_MD_JOINT_STEREO 1 +#define MPG_MD_DUAL_CHANNEL 2 +#define MPG_MD_MONO 3 + +/* #define MAXOUTBURST 32768 */ + +/* Pre Shift fo 16 to 8 bit converter table */ +#define AUSHIFT (3) + +struct al_table +{ + short bits; + short d; +}; + +struct frame { + struct al_table *alloc; + int (*synth)(real *,int,unsigned char *,int *); + int (*synth_mono)(real *,unsigned char *,int *); + int stereo; + int jsbound; + int single; + int II_sblimit; + int down_sample_sblimit; + int lsf; + int mpeg25; + int down_sample; + int header_change; + int lay; + int error_protection; + int bitrate_index; + long sampling_frequency; + int padding; + int extension; + int mode; + int mode_ext; + int copyright; + int original; + int emphasis; + long framesize; /* computed framesize */ +}; + + +struct gr_info_s { + int scfsi; + unsigned part2_3_length; + unsigned big_values; + unsigned scalefac_compress; + unsigned block_type; + unsigned mixed_block_flag; + unsigned table_select[3]; + unsigned subblock_gain[3]; + unsigned maxband[3]; + unsigned maxbandl; + unsigned maxb; + unsigned region1start; + unsigned region2start; + unsigned preflag; + unsigned scalefac_scale; + unsigned count1table_select; + int full_gain[3]; + int pow2gain; +}; + +struct III_sideinfo +{ + unsigned main_data_begin; + unsigned private_bits; + struct { + struct gr_info_s gr[2]; + } ch[2]; +}; + +static long freqs[9]; +#ifdef HAVE_3DNOW + real decwin[2*(512+32)]; +#else + real decwin[512+32]; +#endif + real *pnts[]; + +static int do_layer2(struct frame *fr,int single); +static int do_layer3(struct frame *fr,int single); +static int synth_1to1(real *bandPtr,int channel,unsigned char *out,int *pnt); + +extern int synth_1to1_pent( real *,int,unsigned char * ); +extern void dct64(real *a,real *b,real *c); + +#ifdef HAVE_3DNOW + extern void dct64_3dnow( real *,real *, real * ); + extern void dct36_3dnow(real *,real *,real *,real *,real *); + extern int synth_1to1_3dnow( real *,int,unsigned char * ); +#endif -- cgit v1.2.3