1 
2 void 	   normalizing (double (*sb_sample)[3][12][SBLIMIT], frame_params *fr_ps);
3 void 	   matricing (double (*sb_sample)[3][12][SBLIMIT], frame_params *fr_ps);
4 #ifndef NEWSUBBAND
5 void        read_ana_window (double *ana_win);
6 void        window_subband (double **buffer, double *z, int k);
7 void        create_ana_filter (double (*filter)[64]);
8 void        filter_subband (double *z, double *s);
9 #endif
10 void        encode_info (frame_params *fr_ps, Bit_stream_struc *bs);
11 void        encode_info_mc1 (frame_params *fr_ps, Bit_stream_struc *bs);
12 void        encode_info_mc2 (frame_params *fr_ps, Bit_stream_struc *bs);
13 void        encode_info_ext1 (frame_params *fr_ps, Bit_stream_struc *bs_ext);
14 void        encode_info_ext2 (frame_params *fr_ps, Bit_stream_struc *bs_ext, unsigned int crc);
15 void 	   II_combine_LR (double (*sb_sample)[3][12][SBLIMIT], double (*joint_sample)[3][12][SBLIMIT],
16 					    int sblimit);
17 void 	   II_scale_factor_calc (frame_params *fr_ps, double (*sb_sample)[3][12][SBLIMIT],
18 					unsigned int (*scalar)[3][SBLIMIT], int sblimit, int l, int m);
19 void 	   II_scale_factor_calc1 (double (*sb_sample)[3][12][SBLIMIT], unsigned int (*scalar)[3][SBLIMIT],
20 					int sblimit, int dim);
21 void        pick_scale (unsigned int (*scalar)[3][SBLIMIT], frame_params *fr_ps, double (*max_sc)[SBLIMIT],
22 					int cha_sw, int aug_cha_sw, int aiff);
23 void        put_scale (unsigned int (*scalar)[3][SBLIMIT], frame_params *fr_ps, double (*max_sc)[SBLIMIT]);
24 void        II_transmission_pattern (unsigned int (*scalar)[3][SBLIMIT], unsigned int (*scfsi)[SBLIMIT],
25 					frame_params *fr_ps);
26 
27 void II_encode_scale (unsigned int (*bit_alloc)[SBLIMIT],
28 			     unsigned int (*scfsi)[SBLIMIT],
29 			     unsigned int (*scalar)[3][SBLIMIT],
30 			     unsigned int lfe_alloc,
31 			     unsigned int lfe_scalar,
32 			     frame_params *fr_ps,
33 			     Bit_stream_struc *bs,
34 			     int *l,
35 			     int *z);
36 
37 int         II_bits_for_nonoise (double (*perm_smr)[SBLIMIT], unsigned int (*scfsi)[SBLIMIT],
38 				    frame_params *fr_ps, int a, int b, int *aiff);
39 
40 void	   II_main_bit_allocation (double (*perm_smr)[SBLIMIT],
41 					   double (*ltmin)[SBLIMIT],
42 					   unsigned int (*scfsi)[SBLIMIT],
43 					   unsigned int (*bit_alloc)[SBLIMIT],
44 					   int *adb,
45 					   frame_params *fr_ps,
46 					   int *aiff,
47 					   double (*sb_sample)[3][12][SBLIMIT],
48 					   unsigned int (*scalar)[3][SBLIMIT],
49 					   double (*max_sc)[SBLIMIT],
50 					   double (*buffer)[1152],
51 					   double (*spiki)[SBLIMIT],
52 					   double (*joint_sample)[3][12][SBLIMIT],
53 					   unsigned int (*j_scale)[3][SBLIMIT],
54 					   int dyn_cr,
55 					   int aug_dyn_cr,
56 					   unsigned int (*scfsi_dyn)[SBLIMIT],
57 					   unsigned int (*scalar_dyn)[3][SBLIMIT]);
58 
59 int         II_a_bit_allocation (double (*perm_smr)[SBLIMIT],
60 					unsigned int (*scfsi)[SBLIMIT],
61 					unsigned int (*bit_alloc)[SBLIMIT],
62 					int *adb,
63 					frame_params *fr_ps,
64 					int *aiff);
65 
66 void        II_subband_quantization (unsigned int (*scalar)[3][SBLIMIT],
67 					    double (*sb_samples)[3][12][SBLIMIT],
68 					    unsigned int (*j_scale)[3][SBLIMIT],
69 					    double (*j_samps)[3][12][SBLIMIT],
70 					    unsigned int (*bit_alloc)[SBLIMIT],
71 					    unsigned int (*sbband)[3][12][SBLIMIT],
72 					    frame_params *fr_ps);
73 void        II_subband_quantization_mc (unsigned int (*scalar)[3][SBLIMIT],
74 					       double (*sb_samples)[3][12][SBLIMIT],
75 					       unsigned int (*j_scale)[3][SBLIMIT],
76 					       double (*j_samps)[3][12][SBLIMIT],
77 					       unsigned int (*bit_alloc)[SBLIMIT],
78 					       unsigned int (*sbband)[3][12][SBLIMIT],
79 					       frame_params *fr_ps);
80 void        II_encode_bit_alloc (unsigned int (*bit_alloc)[SBLIMIT], frame_params *fr_ps, Bit_stream_struc *bs);
81 void        II_encode_bit_alloc_mc (unsigned int (*bit_alloc)[SBLIMIT], frame_params *fr_ps, Bit_stream_struc *bs);
82 void        II_sample_encoding (unsigned int (*sbband)[3][12][SBLIMIT],
83 				       unsigned int (*bit_alloc)[SBLIMIT],
84 				       frame_params *fr_ps,
85 				       Bit_stream_struc *bs);
86 void        II_sample_encoding_mc (unsigned int (*sbband)[3][12][SBLIMIT],
87 					  unsigned int lfe_sbband[12],
88 					  unsigned int (*bit_alloc)[SBLIMIT],
89 					  unsigned int lfe_alloc,
90 					  frame_params *fr_ps,
91 					  Bit_stream_struc *bs);
92 void        encode_CRC (unsigned int crc, Bit_stream_struc *bs);
93 void	   ancillary_encode (frame_params*,Bit_stream_struc*,int);
94 
95 void	   matricing_fft (double (*buffer)[1152], double (*buffer_matr)[1152], frame_params *fr_ps);
96 void        tc_alloc (frame_params *fr_ps, double (*max_sc)[SBLIMIT]);
97 int         II_bits_for_indi (double (*perm_smr)[SBLIMIT], unsigned int (*scfsi)[SBLIMIT], frame_params *fr_ps, int *a, int *b, int *aiff);
98 int         required_bits ();
99 int         max_alloc ();
100 
101 
102 
103 void II_encode_scale_ml (unsigned int (*bit_alloc)[32],
104 			 unsigned int (*scfsi)[32],
105 			 unsigned int (*scalar)[3][32], frame_params * fr_ps,
106 			 Bit_stream_struc * bs, int *l, int *z);
107 void II_subband_quantization_ml (unsigned int (*scalar)[3][32],
108 				 double (*sb_samples)[3][12][32],
109 				 unsigned int (*j_scale)[3][32],
110 				 double (*j_samps)[3][12][32],
111 				 unsigned int (*bit_alloc)[32],
112 				 unsigned int (*sbband)[3][12][32],
113 				 frame_params * fr_ps);
114 
115 
116