comparison wmaprodec.c @ 10006:4b91b74ff669 libavcodec

cosmetics: K&R coding style, prettyprinting
author diego
date Sun, 02 Aug 2009 13:35:42 +0000
parents ca678269fa64
children 57d76996ccb8
comparison
equal deleted inserted replaced
10005:ca678269fa64 10006:4b91b74ff669
11 av_freep(&s->num_sfb); 11 av_freep(&s->num_sfb);
12 av_freep(&s->sfb_offsets); 12 av_freep(&s->sfb_offsets);
13 av_freep(&s->subwoofer_cutoffs); 13 av_freep(&s->subwoofer_cutoffs);
14 av_freep(&s->sf_offsets); 14 av_freep(&s->sf_offsets);
15 15
16 for (i=0 ; i<WMAPRO_BLOCK_SIZES ; i++) 16 for (i = 0 ; i < WMAPRO_BLOCK_SIZES ; i++)
17 ff_mdct_end(&s->mdct_ctx[i]); 17 ff_mdct_end(&s->mdct_ctx[i]);
18 18
19 return 0; 19 return 0;
20 } 20 }
21 21
22 /** 22 /**
23 *@brief Calculate a decorrelation matrix from the bitstream parameters. 23 *@brief Calculate a decorrelation matrix from the bitstream parameters.
24 *@param s codec context 24 *@param s codec context
25 *@param chgroup channel group for which the matrix needs to be calculated 25 *@param chgroup channel group for which the matrix needs to be calculated
26 */ 26 */
27 static void decode_decorrelation_matrix(WMA3DecodeContext* s, 27 static void decode_decorrelation_matrix(WMA3DecodeContext *s,
28 WMA3ChannelGroup* chgroup) 28 WMA3ChannelGroup *chgroup)
29 { 29 {
30 int i; 30 int i;
31 int offset = 0; 31 int offset = 0;
32 int8_t rotation_offset[WMAPRO_MAX_CHANNELS * WMAPRO_MAX_CHANNELS]; 32 int8_t rotation_offset[WMAPRO_MAX_CHANNELS * WMAPRO_MAX_CHANNELS];
33 memset(chgroup->decorrelation_matrix,0, 33 memset(chgroup->decorrelation_matrix,0,
34 sizeof(float) *s->num_channels * s->num_channels); 34 sizeof(float) *s->num_channels * s->num_channels);
35 35
36 for (i=0;i<chgroup->num_channels * (chgroup->num_channels - 1) >> 1;i++) 36 for (i = 0; i < chgroup->num_channels * (chgroup->num_channels - 1) >> 1; i++)
37 rotation_offset[i] = get_bits(&s->gb,6); 37 rotation_offset[i] = get_bits(&s->gb,6);
38 38
39 for (i=0;i<chgroup->num_channels;i++) 39 for (i = 0; i < chgroup->num_channels; i++)
40 chgroup->decorrelation_matrix[chgroup->num_channels * i + i] = 40 chgroup->decorrelation_matrix[chgroup->num_channels * i + i] =
41 get_bits1(&s->gb) ? 1.0 : -1.0; 41 get_bits1(&s->gb) ? 1.0 : -1.0;
42 42
43 for (i=1;i<chgroup->num_channels;i++) { 43 for (i = 1; i < chgroup->num_channels; i++) {
44 int x; 44 int x;
45 for (x=0;x<i;x++) { 45 for (x = 0; x < i; x++) {
46 int y; 46 int y;
47 for (y=0;y < i + 1 ; y++) { 47 for (y = 0; y < i + 1 ; y++) {
48 float v1 = chgroup->decorrelation_matrix[x * chgroup->num_channels + y]; 48 float v1 = chgroup->decorrelation_matrix[x * chgroup->num_channels + y];
49 float v2 = chgroup->decorrelation_matrix[i * chgroup->num_channels + y]; 49 float v2 = chgroup->decorrelation_matrix[i * chgroup->num_channels + y];
50 int n = rotation_offset[offset + x]; 50 int n = rotation_offset[offset + x];
51 float sinv; 51 float sinv;
52 float cosv; 52 float cosv;
53 53
54 if (n<32) { 54 if (n < 32) {
55 sinv = sin64[n]; 55 sinv = sin64[n];
56 cosv = sin64[32-n]; 56 cosv = sin64[32-n];
57 } else { 57 } else {
58 sinv = sin64[64-n]; 58 sinv = sin64[64-n];
59 cosv = -sin64[n-32]; 59 cosv = -sin64[n-32];
75 */ 75 */
76 static void inverse_channel_transform(WMA3DecodeContext *s) 76 static void inverse_channel_transform(WMA3DecodeContext *s)
77 { 77 {
78 int i; 78 int i;
79 79
80 for (i=0;i<s->num_chgroups;i++) { 80 for (i = 0; i < s->num_chgroups; i++) {
81 81
82 if (s->chgroup[i].transform == 1) { 82 if (s->chgroup[i].transform == 1) {
83 /** M/S stereo decoding */ 83 /** M/S stereo decoding */
84 int16_t* sfb_offsets = s->cur_sfb_offsets; 84 int16_t* sfb_offsets = s->cur_sfb_offsets;
85 float* ch0 = *sfb_offsets + s->channel[0].coeffs; 85 float* ch0 = *sfb_offsets + s->channel[0].coeffs;
117 for (sfb = s->cur_sfb_offsets ; 117 for (sfb = s->cur_sfb_offsets ;
118 sfb < s->cur_sfb_offsets + s->num_bands;sfb++) { 118 sfb < s->cur_sfb_offsets + s->num_bands;sfb++) {
119 if (*tb++ == 1) { 119 if (*tb++ == 1) {
120 int y; 120 int y;
121 /** multiply values with the decorrelation_matrix */ 121 /** multiply values with the decorrelation_matrix */
122 for (y=sfb[0];y<FFMIN(sfb[1], s->subframe_len);y++) { 122 for (y = sfb[0]; y < FFMIN(sfb[1], s->subframe_len); y++) {
123 const float* mat = s->chgroup[i].decorrelation_matrix; 123 const float* mat = s->chgroup[i].decorrelation_matrix;
124 const float* data_end= data + num_channels; 124 const float* data_end = data + num_channels;
125 float* data_ptr= data; 125 float* data_ptr = data;
126 float** ch; 126 float** ch;
127 127
128 for (ch = ch_data;ch < ch_end; ch++) 128 for (ch = ch_data;ch < ch_end; ch++)
129 *data_ptr++ = (*ch)[y]; 129 *data_ptr++ = (*ch)[y];
130 130