aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2009-05-22 18:39:00 +0000
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2009-05-22 18:39:00 +0000
commitf2a875db871247f03a1ff2d0670d2f46661c3375 (patch)
tree3f559d8026e0d023c8e62f8ddacee32c1c3792d3
parent533c3c84e7a814bf2ec9157b2563083f061cccf8 (diff)
downloadffmpeg-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.c6
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);