diff --git a/libavcodec/mpegpicture.c b/libavcodec/mpegpicture.c index 9308fce97c..43d35934c8 100644 --- a/libavcodec/mpegpicture.c +++ b/libavcodec/mpegpicture.c @@ -175,7 +175,6 @@ int ff_mpeg_framesize_alloc(AVCodecContext *avctx, MotionEstContext *me, sc->linesize = linesizeabs; me->temp = me->scratchpad; - sc->rd_scratchpad = me->scratchpad; sc->b_scratchpad = me->scratchpad; sc->obmc_scratchpad = me->scratchpad + 16; diff --git a/libavcodec/mpegpicture.h b/libavcodec/mpegpicture.h index f9633e11db..ddb3ac5a2b 100644 --- a/libavcodec/mpegpicture.h +++ b/libavcodec/mpegpicture.h @@ -33,9 +33,11 @@ typedef struct ScratchpadContext { uint8_t *edge_emu_buffer; ///< temporary buffer for if MVs point to out-of-frame data - uint8_t *rd_scratchpad; ///< scratchpad for rate distortion mb decision uint8_t *obmc_scratchpad; - uint8_t *b_scratchpad; ///< scratchpad used for writing into write only buffers + union { + uint8_t *b_scratchpad; ///< scratchpad used for writing into write only buffers + uint8_t *rd_scratchpad; ///< scratchpad for rate distortion mb decision + }; int linesize; ///< linesize that the buffers in this context have been allocated for } ScratchpadContext; diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 42b4d7f395..36947c6e31 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -440,7 +440,6 @@ static void free_duplicate_context(MpegEncContext *s) av_freep(&s->sc.edge_emu_buffer); av_freep(&s->me.scratchpad); s->me.temp = - s->sc.rd_scratchpad = s->sc.b_scratchpad = s->sc.obmc_scratchpad = NULL; s->sc.linesize = 0;