kolibrios-fun/programs/media/ac97snd/trunk/mp3dec/layer3.h

53 lines
1.1 KiB
C
Raw Normal View History

#include "bstream.h"
#include "mp3dec.h"
typedef struct {
uint part2_3_length;
uint big_values;
uint global_gain;
uint scalefac_compress;
uint window_switching_flag;
uint block_type;
uint mixed_block_flag;
uint table_select[3];
uint subblock_gain[3];
uint region0_count;
uint region1_count;
uint preflag;
uint scalefac_scale;
uint count1table_select;
} GR_INFO;
typedef struct {
uint main_data_begin;
uint private_bits;
uint scfsi[2]; /* 4 bit flags [ch] */
GR_INFO gr[2][2]; /* [gr][ch] */
} SIDE_INFO;
typedef struct {
int l[23]; /* [cb] */
int s[3][13]; /* [window][cb] */
} SCALE_FACTOR;
typedef struct {
int cbtype; /* long=0 short=1 */
int cbmax; /* max crit band */
int lb_type; /* long block type 0 1 3 */
int cbs0; /* short band start index 0 3 12 (12=no shorts */
int ncbl; /* number long cb's 0 8 21 */
int cbmax_s[3]; /* cbmax by individual short blocks */
} CB_INFO;
typedef struct {
int nr[3];
int slen[3];
int intensity_scale;
} IS_SF_INFO;
typedef union {
int s;
float x;
} SAMPLE;