diff options
Diffstat (limited to 'libtoolame-dab/encoder.h')
-rw-r--r-- | libtoolame-dab/encoder.h | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/libtoolame-dab/encoder.h b/libtoolame-dab/encoder.h new file mode 100644 index 0000000..507c0e8 --- /dev/null +++ b/libtoolame-dab/encoder.h @@ -0,0 +1,92 @@ +#ifndef ENCODER_DOT_H +#define ENCODER_DOT_H +#include "options.h" + +/* General Definitions */ + +/* Default Input Arguments (for command line control) */ + +#define DFLT_LAY 2 /* default encoding layer is II */ +#define DFLT_MOD 'j' /* default mode is joint stereo */ +#define DFLT_PSY 1 /* default psych model is 1 */ +#define DFLT_SFQ 48.0 /* default input sampling rate is 48 kHz because DAB */ +#define DFLT_EMP 'n' /* default de-emphasis is none */ +#define DFLT_EXT ".mp2" /* default output file extension */ +#define DFLT_BRI 10 /* default bitrate_index = 10 (192kbps) */ + +#define FILETYPE_ENCODE 'TEXT' +#define CREATOR_ENCODE 'MpgD' + +/* This is the smallest MNR a subband can have before it is counted + as 'noisy' by the logic which chooses the number of JS subbands */ + +#define NOISY_MIN_MNR 0.0 + +/* Psychacoustic Model 1 Definitions */ + +#define CB_FRACTION 0.33 +#define MAX_SNR 1000 +#define NOISE 10 +#define TONE 20 +#define DBMIN -200.0 +#define LAST -1 +#define STOP -100 +#define POWERNORM 90.3090 /* = 20 * log10(32768) to normalize */ +/* max output power to 96 dB per spec */ + +/* Psychoacoustic Model 2 Definitions */ + +#define LOGBLKSIZE 10 +#define BLKSIZE 1024 +#define HBLKSIZE 513 +#define CBANDS 64 +#define LXMIN 32.0 + +/*********************************************************************** +* +* Encoder Type Definitions +* +***********************************************************************/ + +/* Psychoacoustic Model 1 Type Definitions */ + +typedef int IFFT2[FFT_SIZE / 2]; +typedef int IFFT[FFT_SIZE]; +typedef double D9[9]; +typedef double D10[10]; +typedef double D640[640]; +typedef double D1408[1408]; +typedef double DFFT2[FFT_SIZE / 2]; +typedef double DFFT[FFT_SIZE]; +typedef double DSBL[SBLIMIT]; +typedef double D2SBL[2][SBLIMIT]; + +typedef struct +{ + int line; + double bark, hear, x; +} +g_thres, *g_ptr; + +typedef struct +{ + double x; + int type, next, map; +} +mask, *mask_ptr; + +/* Psychoacoustic Model 2 Type Definitions */ + +typedef int ICB[CBANDS]; +typedef int IHBLK[HBLKSIZE]; +typedef FLOAT F32[32]; +typedef FLOAT F2_32[2][32]; +typedef FLOAT FCB[CBANDS]; +typedef FLOAT FCBCB[CBANDS][CBANDS]; +typedef FLOAT FBLK[BLKSIZE]; +typedef FLOAT FHBLK[HBLKSIZE]; +typedef FLOAT F2HBLK[2][HBLKSIZE]; +typedef FLOAT F22HBLK[2][2][HBLKSIZE]; +typedef double DCB[CBANDS]; + +#endif |