Commit 005e0a9f authored by reimar's avatar reimar

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.


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@18896 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent e1a58fd3
......@@ -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);
......
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