X-Git-Url: https://git.libav.org/?p=libav.git;a=blobdiff_plain;f=libavcodec%2Fwmadec.c;h=a6fa2f8b2a1049057e0cb9fa9b0adaf6f1a22f4c;hp=ceeb3717911220835381794854bc8e626abf4eae;hb=b35a02d5278f1050f64020382635ae181909bb61;hpb=bbbb6d6fc3a1f8feeb5dc2f42a830203fce45afb diff --git a/libavcodec/wmadec.c b/libavcodec/wmadec.c index ceeb371791..a6fa2f8b2a 100644 --- a/libavcodec/wmadec.c +++ b/libavcodec/wmadec.c @@ -87,15 +87,15 @@ typedef struct WMADecodeContext { int block_pos; /* current position in frame */ uint8_t ms_stereo; /* true if mid/side stereo mode */ 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]; 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]; - float *windows[BLOCK_NB_SIZES]; - FFTSample mdct_tmp[BLOCK_MAX_SIZE]; /* temporary storage for imdct */ + float *windows[BLOCK_NB_SIZES] __attribute__((aligned(16))); + FFTSample mdct_tmp[BLOCK_MAX_SIZE] __attribute__((aligned(16))); /* temporary storage for imdct */ /* 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 */ uint8_t last_superframe[MAX_CODED_SUPERFRAME_SIZE + 4]; /* padding added */ int last_bitoffset; @@ -1118,7 +1118,7 @@ static int wma_decode_block(WMADecodeContext *s) for(ch = 0; ch < s->nb_channels; ch++) { if (s->channel_coded[ch]) { - FFTSample output[BLOCK_MAX_SIZE * 2]; + FFTSample output[BLOCK_MAX_SIZE * 2] __attribute__((aligned(16))); float *ptr; int i, n4, index, n;