00001 #ifndef ENCODER_DOT_H 00002 #define ENCODER_DOT_H 00003 #include "options.h" 00004 00005 /* General Definitions */ 00006 00007 /* Default Input Arguments (for command line control) */ 00008 00009 #define DFLT_LAY 2 /* default encoding layer is II */ 00010 #define DFLT_MOD 'j' /* default mode is joint stereo */ 00011 #define DFLT_PSY 1 /* default psych model is 1 */ 00012 #define DFLT_SFQ 44.1 /* default input sampling rate is 44.1 kHz */ 00013 #define DFLT_EMP 'n' /* default de-emphasis is none */ 00014 #define DFLT_EXT ".mp2" /* default output file extension */ 00015 #define DFLT_BRI 10 /* default bitrate_index = 10 (192kbps) */ 00016 00017 #define FILETYPE_ENCODE 'TEXT' 00018 #define CREATOR_ENCODE 'MpgD' 00019 00020 /* This is the smallest MNR a subband can have before it is counted 00021 as 'noisy' by the logic which chooses the number of JS subbands */ 00022 00023 #define NOISY_MIN_MNR 0.0 00024 00025 /* Psychacoustic Model 1 Definitions */ 00026 00027 #define CB_FRACTION 0.33 00028 #define MAX_SNR 1000 00029 #define NOISE 10 00030 #define TONE 20 00031 #define DBMIN -200.0 00032 #define LAST -1 00033 #define STOP -100 00034 #define POWERNORM 90.3090 /* = 20 * log10(32768) to normalize */ 00035 /* max output power to 96 dB per spec */ 00036 00037 /* Psychoacoustic Model 2 Definitions */ 00038 00039 #define LOGBLKSIZE 10 00040 #define BLKSIZE 1024 00041 #define HBLKSIZE 513 00042 #define CBANDS 64 00043 #define LXMIN 32.0 00044 00045 /*********************************************************************** 00046 * 00047 * Encoder Type Definitions 00048 * 00049 ***********************************************************************/ 00050 00051 /* Psychoacoustic Model 1 Type Definitions */ 00052 00053 typedef int IFFT2[FFT_SIZE / 2]; 00054 typedef int IFFT[FFT_SIZE]; 00055 typedef double D9[9]; 00056 typedef double D10[10]; 00057 typedef double D640[640]; 00058 typedef double D1408[1408]; 00059 typedef double DFFT2[FFT_SIZE / 2]; 00060 typedef double DFFT[FFT_SIZE]; 00061 typedef double DSBL[SBLIMIT]; 00062 typedef double D2SBL[2][SBLIMIT]; 00063 00064 typedef struct 00065 { 00066 int line; 00067 double bark, hear, x; 00068 } 00069 g_thres, *g_ptr; 00070 00071 typedef struct 00072 { 00073 double x; 00074 int type, next, map; 00075 } 00076 mask, *mask_ptr; 00077 00078 /* Psychoacoustic Model 2 Type Definitions */ 00079 00080 typedef int ICB[CBANDS]; 00081 typedef int IHBLK[HBLKSIZE]; 00082 typedef FLOAT F32[32]; 00083 typedef FLOAT F2_32[2][32]; 00084 typedef FLOAT FCB[CBANDS]; 00085 typedef FLOAT FCBCB[CBANDS][CBANDS]; 00086 typedef FLOAT FBLK[BLKSIZE]; 00087 typedef FLOAT FHBLK[HBLKSIZE]; 00088 typedef FLOAT F2HBLK[2][HBLKSIZE]; 00089 typedef FLOAT F22HBLK[2][2][HBLKSIZE]; 00090 typedef double DCB[CBANDS]; 00091 00092 #endif
1.5.5