forked from KolibriOS/kolibrios
53 lines
1.1 KiB
C
53 lines
1.1 KiB
C
|
#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;
|