summaryrefslogtreecommitdiffstats
path: root/libtoolame-dab/encode_new.h
blob: bcd086d8056924d219f2be1fc27c3dd0b232c1e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
int encode_init(frame_info *frame);
void scalefactor_calc_new (double sb_sample[][3][SCALE_BLOCK][SBLIMIT],
			   unsigned int scalar[][3][SBLIMIT], int nch,
			   int sblimit);

double mod (double a);

void combine_LR_new (double sb_sample[2][3][SCALE_BLOCK][SBLIMIT],
		     double joint_sample[3][SCALE_BLOCK][SBLIMIT], int sblimit);

void find_sf_max (unsigned int sf_index[2][3][SBLIMIT], frame_info * frame,
		  double sf_max[2][SBLIMIT]);

void sf_transmission_pattern (unsigned int sf_index[2][3][SBLIMIT],
			      unsigned int sf_selectinfo[2][SBLIMIT],
			      frame_info * frame);

void write_header (frame_info * frame, Bit_stream_struc * bs);

void write_bit_alloc (unsigned int bit_alloc[2][SBLIMIT],
		      frame_info * frame, Bit_stream_struc * bs);

void write_scalefactors (unsigned int bit_alloc[2][SBLIMIT],
			 unsigned int sf_selectinfo[2][SBLIMIT],
			 unsigned int scalar[2][3][SBLIMIT], frame_info * frame,
			 Bit_stream_struc * bs);

void subband_quantization_new (unsigned int sf_index[2][3][SBLIMIT],
		      double sb_samples[2][3][SCALE_BLOCK][SBLIMIT],
		      unsigned int j_scale[3][SBLIMIT],
		      double j_samps[3][SCALE_BLOCK][SBLIMIT],
		      unsigned int bit_alloc[2][SBLIMIT],
		      unsigned int sbband[2][3][SCALE_BLOCK][SBLIMIT],
			  frame_info * frame);

void write_samples_new (unsigned int sbband[2][3][SCALE_BLOCK][SBLIMIT],
		      unsigned int bit_alloc[2][SBLIMIT],
			frame_info * frame, Bit_stream_struc * bs);

/*******************************************************
   Bit Allocation Stuff 
******************************************************/

int bits_for_nonoise_new (double SMR[2][SBLIMIT],
			  unsigned int scfsi[2][SBLIMIT], frame_info * frame, float min_mnr,
			  unsigned int bit_alloc[2][SBLIMIT]);
void main_bit_allocation_new (double SMR[2][SBLIMIT],
			  unsigned int scfsi[2][SBLIMIT],
			  unsigned int bit_alloc[2][SBLIMIT], int *adb,
			  frame_info * frame, options * glopts);
void VBR_maxmnr_new (double mnr[2][SBLIMIT], char used[2][SBLIMIT], int sblimit,
		 int nch, int *min_sb, int *min_ch, options * glopts);
int
VBR_bit_allocation_new (double SMR[2][SBLIMIT],
		    unsigned int scfsi[2][SBLIMIT],
		    unsigned int bit_alloc[2][SBLIMIT], int *adb,
		    frame_info * frame, options * glopts);
void maxmnr_new (double mnr[2][SBLIMIT], char used[2][SBLIMIT], int sblimit,
	     int nch, int *min_sb, int *min_ch);
int a_bit_allocation_new (double SMR[2][SBLIMIT],
		      unsigned int scfsi[2][SBLIMIT],
		      unsigned int bit_alloc[2][SBLIMIT], int *adb,
		      frame_info * frame);