Mercurial > audlegacy
diff Plugins/Input/mpg123/mpg123.h @ 970:0f294f2b0a9b trunk
[svn] - integer-mode decoding accuracy improvements
author | nenolod |
---|---|
date | Wed, 26 Apr 2006 10:54:58 -0700 |
parents | 12f57026da8f |
children | 4de9f286bdce |
line wrap: on
line diff
--- a/Plugins/Input/mpg123/mpg123.h Mon Apr 24 21:41:50 2006 -0700 +++ b/Plugins/Input/mpg123/mpg123.h Wed Apr 26 10:54:58 2006 -0700 @@ -13,6 +13,16 @@ #include <glib.h> #include <tag_c.h> +#ifdef INTEGER_COMPILE + +typedef int mpgdec_real; + +#else + +typedef float mpgdec_real; + +#endif + enum { SYNTH_AUTO, SYNTH_FPU, @@ -32,7 +42,7 @@ #include "dxhead.h" #include "xmms-id3.h" -#define real float +#define mpgdec_real float #define SBLIMIT 32 #define SCALE_BLOCK 12 @@ -108,8 +118,8 @@ struct frame { struct al_table *alloc; - int (*synth) (real *, int, unsigned char *, int *); - int (*synth_mono) (real *, unsigned char *, int *); + int (*synth) (mpgdec_real *, int, unsigned char *, int *); + int (*synth_mono) (mpgdec_real *, unsigned char *, int *); int stereo; int jsbound; int single; @@ -175,11 +185,11 @@ struct frame fr; /* int (*do_layer)(struct mpstr *,struct frame *fr,int,struct audio_info_struct *); */ unsigned char bsspace[2][MAXFRAMESIZE+512]; /* MAXFRAMESIZE */ - real hybrid_block[2][2][SBLIMIT*SSLIMIT]; + mpgdec_real hybrid_block[2][2][SBLIMIT*SSLIMIT]; int hybrid_blc[2]; unsigned long header; int bsnum; - real synth_buffs[2][2][0x110]; + mpgdec_real synth_buffs[2][2][0x110]; int synth_bo; struct bitstream_info bsi; @@ -228,8 +238,8 @@ unsigned preflag; unsigned scalefac_scale; unsigned count1table_select; - real *full_gain[3]; - real *pow2gain; + mpgdec_real *full_gain[3]; + mpgdec_real *pow2gain; }; struct III_sideinfo { @@ -255,28 +265,28 @@ extern int mpg123_do_layer2(struct frame *fr); extern int mpg123_do_layer1(struct frame *fr); -extern int mpg123_synth_1to1(real *, int, unsigned char *, int *); -extern int mpg123_synth_1to1_8bit(real *, int, unsigned char *, int *); -extern int mpg123_synth_1to1_mono(real *, unsigned char *, int *); -extern int mpg123_synth_1to1_mono2stereo(real *, unsigned char *, int *); -extern int mpg123_synth_1to1_8bit_mono(real *, unsigned char *, int *); -extern int mpg123_synth_1to1_8bit_mono2stereo(real *, unsigned char *, +extern int mpg123_synth_1to1(mpgdec_real *, int, unsigned char *, int *); +extern int mpg123_synth_1to1_8bit(mpgdec_real *, int, unsigned char *, int *); +extern int mpg123_synth_1to1_mono(mpgdec_real *, unsigned char *, int *); +extern int mpg123_synth_1to1_mono2stereo(mpgdec_real *, unsigned char *, int *); +extern int mpg123_synth_1to1_8bit_mono(mpgdec_real *, unsigned char *, int *); +extern int mpg123_synth_1to1_8bit_mono2stereo(mpgdec_real *, unsigned char *, int *); -extern int mpg123_synth_2to1(real *, int, unsigned char *, int *); -extern int mpg123_synth_2to1_8bit(real *, int, unsigned char *, int *); -extern int mpg123_synth_2to1_mono(real *, unsigned char *, int *); -extern int mpg123_synth_2to1_mono2stereo(real *, unsigned char *, int *); -extern int mpg123_synth_2to1_8bit_mono(real *, unsigned char *, int *); -extern int mpg123_synth_2to1_8bit_mono2stereo(real *, unsigned char *, +extern int mpg123_synth_2to1(mpgdec_real *, int, unsigned char *, int *); +extern int mpg123_synth_2to1_8bit(mpgdec_real *, int, unsigned char *, int *); +extern int mpg123_synth_2to1_mono(mpgdec_real *, unsigned char *, int *); +extern int mpg123_synth_2to1_mono2stereo(mpgdec_real *, unsigned char *, int *); +extern int mpg123_synth_2to1_8bit_mono(mpgdec_real *, unsigned char *, int *); +extern int mpg123_synth_2to1_8bit_mono2stereo(mpgdec_real *, unsigned char *, int *); -extern int mpg123_synth_4to1(real *, int, unsigned char *, int *); -extern int mpg123_synth_4to1_8bit(real *, int, unsigned char *, int *); -extern int mpg123_synth_4to1_mono(real *, unsigned char *, int *); -extern int mpg123_synth_4to1_mono2stereo(real *, unsigned char *, int *); -extern int mpg123_synth_4to1_8bit_mono(real *, unsigned char *, int *); -extern int mpg123_synth_4to1_8bit_mono2stereo(real *, unsigned char *, +extern int mpg123_synth_4to1(mpgdec_real *, int, unsigned char *, int *); +extern int mpg123_synth_4to1_8bit(mpgdec_real *, int, unsigned char *, int *); +extern int mpg123_synth_4to1_mono(mpgdec_real *, unsigned char *, int *); +extern int mpg123_synth_4to1_mono2stereo(mpgdec_real *, unsigned char *, int *); +extern int mpg123_synth_4to1_8bit_mono(mpgdec_real *, unsigned char *, int *); +extern int mpg123_synth_4to1_8bit_mono2stereo(mpgdec_real *, unsigned char *, int *); extern void mpg123_rewindNbits(int bits); @@ -296,7 +306,7 @@ void mpg123_init_layer2(gboolean); void mpg123_make_decode_tables(long scaleval); void mpg123_make_conv16to8_table(void); -void mpg123_dct64(real *, real *, real *); +void mpg123_dct64(mpgdec_real *, mpgdec_real *, mpgdec_real *); int mpg123_decode_header(struct frame *fr, unsigned long newhead); double mpg123_compute_bpf(struct frame *fr); @@ -309,9 +319,9 @@ extern gchar ** mpg123_id3_encoding_list; extern unsigned char *mpg123_conv16to8; extern const int mpg123_freqs[9]; -extern real mpg123_muls[27][64]; -extern real mpg123_decwin[512 + 32]; -extern real *mpg123_pnts[5]; +extern mpgdec_real mpg123_muls[27][64]; +extern mpgdec_real mpg123_decwin[512 + 32]; +extern mpgdec_real *mpg123_pnts[5]; #define GENRE_MAX 0x94 extern const char *mpg123_id3_genres[GENRE_MAX];