Commit 74ed8963 authored by bellard's avatar bellard

align fixes for sse/altivec


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@1414 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 7de6cf97
...@@ -87,15 +87,15 @@ typedef struct WMADecodeContext { ...@@ -87,15 +87,15 @@ typedef struct WMADecodeContext {
int block_pos; /* current position in frame */ int block_pos; /* current position in frame */
uint8_t ms_stereo; /* true if mid/side stereo mode */ uint8_t ms_stereo; /* true if mid/side stereo mode */
uint8_t channel_coded[MAX_CHANNELS]; /* true if channel is coded */ uint8_t channel_coded[MAX_CHANNELS]; /* true if channel is coded */
float exponents[MAX_CHANNELS][BLOCK_MAX_SIZE]; float exponents[MAX_CHANNELS][BLOCK_MAX_SIZE] __attribute__((aligned(16)));
float max_exponent[MAX_CHANNELS]; float max_exponent[MAX_CHANNELS];
int16_t coefs1[MAX_CHANNELS][BLOCK_MAX_SIZE]; int16_t coefs1[MAX_CHANNELS][BLOCK_MAX_SIZE];
float coefs[MAX_CHANNELS][BLOCK_MAX_SIZE]; float coefs[MAX_CHANNELS][BLOCK_MAX_SIZE] __attribute__((aligned(16)));
MDCTContext mdct_ctx[BLOCK_NB_SIZES]; MDCTContext mdct_ctx[BLOCK_NB_SIZES];
float *windows[BLOCK_NB_SIZES]; float *windows[BLOCK_NB_SIZES] __attribute__((aligned(16)));
FFTSample mdct_tmp[BLOCK_MAX_SIZE]; /* temporary storage for imdct */ FFTSample mdct_tmp[BLOCK_MAX_SIZE] __attribute__((aligned(16))); /* temporary storage for imdct */
/* output buffer for one frame and the last for IMDCT windowing */ /* output buffer for one frame and the last for IMDCT windowing */
float frame_out[MAX_CHANNELS][BLOCK_MAX_SIZE * 2]; float frame_out[MAX_CHANNELS][BLOCK_MAX_SIZE * 2] __attribute__((aligned(16)));
/* last frame info */ /* last frame info */
uint8_t last_superframe[MAX_CODED_SUPERFRAME_SIZE + 4]; /* padding added */ uint8_t last_superframe[MAX_CODED_SUPERFRAME_SIZE + 4]; /* padding added */
int last_bitoffset; int last_bitoffset;
...@@ -1118,7 +1118,7 @@ static int wma_decode_block(WMADecodeContext *s) ...@@ -1118,7 +1118,7 @@ static int wma_decode_block(WMADecodeContext *s)
for(ch = 0; ch < s->nb_channels; ch++) { for(ch = 0; ch < s->nb_channels; ch++) {
if (s->channel_coded[ch]) { if (s->channel_coded[ch]) {
FFTSample output[BLOCK_MAX_SIZE * 2]; FFTSample output[BLOCK_MAX_SIZE * 2] __attribute__((aligned(16)));
float *ptr; float *ptr;
int i, n4, index, n; int i, n4, index, n;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment