From: Reimar Döffinger Date: Fri, 22 May 2009 18:39:00 +0000 (+0000) Subject: Move eatgq blocks array from the stack to the codec context and make sure X-Git-Tag: v0.6~4354 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f2a875db871247f03a1ff2d0670d2f46661c3375;p=platform%2Fupstream%2Flibav.git Move eatgq blocks array from the stack to the codec context and make sure it is aligned as necessary for DSPContext's idct_put. Just aligning it on the stack would have been possible but less reliable and without any real benefit. Originally committed as revision 18896 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavcodec/eatgq.c b/libavcodec/eatgq.c index a854d5f..3c8be15 100644 --- a/libavcodec/eatgq.c +++ b/libavcodec/eatgq.c @@ -42,6 +42,7 @@ typedef struct TgqContext { int width,height; ScanTable scantable; int qtable[64]; + DECLARE_ALIGNED_16(DCTELEM, block[6][64]); } TgqContext; static av_cold int tgq_decode_init(AVCodecContext *avctx){ @@ -144,7 +145,6 @@ static void tgq_decode_mb(TgqContext *s, int mb_y, int mb_x, const uint8_t **bs, int mode; int i; int8_t dc[6]; - DCTELEM block[6][64]; mode = bytestream_get_byte(bs); if (mode>buf_end-*bs) { @@ -156,8 +156,8 @@ static void tgq_decode_mb(TgqContext *s, int mb_y, int mb_x, const uint8_t **bs, GetBitContext gb; init_get_bits(&gb, *bs, mode*8); for(i=0; i<6; i++) - tgq_decode_block(s, block[i], &gb); - tgq_idct_put_mb(s, block, mb_x, mb_y); + tgq_decode_block(s, s->block[i], &gb); + tgq_idct_put_mb(s, s->block, mb_x, mb_y); }else{ if (mode==3) { memset(dc, (*bs)[0], 4);