diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2009-05-22 18:39:00 +0000 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2009-05-22 18:39:00 +0000 |
commit | f2a875db871247f03a1ff2d0670d2f46661c3375 (patch) | |
tree | 3f559d8026e0d023c8e62f8ddacee32c1c3792d3 | |
parent | 533c3c84e7a814bf2ec9157b2563083f061cccf8 (diff) | |
download | ffmpeg-f2a875db871247f03a1ff2d0670d2f46661c3375.tar.gz |
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
-rw-r--r-- | libavcodec/eatgq.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/eatgq.c b/libavcodec/eatgq.c index a854d5f4f8..3c8be15911 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); |