From 45686da26db54f1ca7195b360230574f7be3b2f3 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 22 Oct 2003 12:01:21 +0000 Subject: [PATCH] move blocks away MpegEncContext (7.4 -> 5.8k) Originally committed as revision 2413 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/mpegvideo.c | 2 ++ libavcodec/mpegvideo.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index b0580cb757..0af668d053 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -448,6 +448,7 @@ int MPV_common_init(MpegEncContext *s) CHECKED_ALLOCZ(s->q_intra_matrix16, 64*32*2 * sizeof(uint16_t)) CHECKED_ALLOCZ(s->q_inter_matrix16, 64*32*2 * sizeof(uint16_t)) } + CHECKED_ALLOCZ(s->blocks, 64*6*2 * sizeof(DCTELEM)) CHECKED_ALLOCZ(s->picture, MAX_PICTURE_COUNT * sizeof(Picture)) @@ -569,6 +570,7 @@ void MPV_common_end(MpegEncContext *s) av_freep(&s->q_inter_matrix); av_freep(&s->q_intra_matrix16); av_freep(&s->q_inter_matrix16); + av_freep(&s->blocks); for(i=0; ipicture[i]); diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index b7eed584f3..af01cba210 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -657,7 +657,7 @@ typedef struct MpegEncContext { uint8_t *ptr_lastgob; DCTELEM (*block)[64]; ///< points to one of the following blocks - DCTELEM blocks[2][6][64] __align8; // for HQ mode we need to keep the best block + DCTELEM (*blocks)[6][64]; // for HQ mode we need to keep the best block int (*decode_mb)(struct MpegEncContext *s, DCTELEM block[6][64]); // used by some codecs to avoid a switch() #define SLICE_OK 0 #define SLICE_ERROR -1