comparison wmadec.c @ 972:19419cb268fe libavcodec

align fixes for sse/altivec
author bellard
date Tue, 07 Jan 2003 17:46:08 +0000
parents 6e6773512288
children 1f9afd8b9131
comparison
equal deleted inserted replaced
971:6d8b45263d6c 972:19419cb268fe
85 int block_len; /* block length in samples */ 85 int block_len; /* block length in samples */
86 int block_num; /* block number in current frame */ 86 int block_num; /* block number in current frame */
87 int block_pos; /* current position in frame */ 87 int block_pos; /* current position in frame */
88 uint8_t ms_stereo; /* true if mid/side stereo mode */ 88 uint8_t ms_stereo; /* true if mid/side stereo mode */
89 uint8_t channel_coded[MAX_CHANNELS]; /* true if channel is coded */ 89 uint8_t channel_coded[MAX_CHANNELS]; /* true if channel is coded */
90 float exponents[MAX_CHANNELS][BLOCK_MAX_SIZE]; 90 float exponents[MAX_CHANNELS][BLOCK_MAX_SIZE] __attribute__((aligned(16)));
91 float max_exponent[MAX_CHANNELS]; 91 float max_exponent[MAX_CHANNELS];
92 int16_t coefs1[MAX_CHANNELS][BLOCK_MAX_SIZE]; 92 int16_t coefs1[MAX_CHANNELS][BLOCK_MAX_SIZE];
93 float coefs[MAX_CHANNELS][BLOCK_MAX_SIZE]; 93 float coefs[MAX_CHANNELS][BLOCK_MAX_SIZE] __attribute__((aligned(16)));
94 MDCTContext mdct_ctx[BLOCK_NB_SIZES]; 94 MDCTContext mdct_ctx[BLOCK_NB_SIZES];
95 float *windows[BLOCK_NB_SIZES]; 95 float *windows[BLOCK_NB_SIZES] __attribute__((aligned(16)));
96 FFTSample mdct_tmp[BLOCK_MAX_SIZE]; /* temporary storage for imdct */ 96 FFTSample mdct_tmp[BLOCK_MAX_SIZE] __attribute__((aligned(16))); /* temporary storage for imdct */
97 /* output buffer for one frame and the last for IMDCT windowing */ 97 /* output buffer for one frame and the last for IMDCT windowing */
98 float frame_out[MAX_CHANNELS][BLOCK_MAX_SIZE * 2]; 98 float frame_out[MAX_CHANNELS][BLOCK_MAX_SIZE * 2] __attribute__((aligned(16)));
99 /* last frame info */ 99 /* last frame info */
100 uint8_t last_superframe[MAX_CODED_SUPERFRAME_SIZE + 4]; /* padding added */ 100 uint8_t last_superframe[MAX_CODED_SUPERFRAME_SIZE + 4]; /* padding added */
101 int last_bitoffset; 101 int last_bitoffset;
102 int last_superframe_len; 102 int last_superframe_len;
103 float noise_table[NOISE_TAB_SIZE]; 103 float noise_table[NOISE_TAB_SIZE];
1116 } 1116 }
1117 1117
1118 1118
1119 for(ch = 0; ch < s->nb_channels; ch++) { 1119 for(ch = 0; ch < s->nb_channels; ch++) {
1120 if (s->channel_coded[ch]) { 1120 if (s->channel_coded[ch]) {
1121 FFTSample output[BLOCK_MAX_SIZE * 2]; 1121 FFTSample output[BLOCK_MAX_SIZE * 2] __attribute__((aligned(16)));
1122 float *ptr; 1122 float *ptr;
1123 int i, n4, index, n; 1123 int i, n4, index, n;
1124 1124
1125 n = s->block_len; 1125 n = s->block_len;
1126 n4 = s->block_len / 2; 1126 n4 = s->block_len / 2;