ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinha...@outlook.com> | Thu Apr 18 23:13:58 2024 +0200| [d0f76e6a11a17f211584aa56dba0e3f785c97f2e] | committer: Andreas Rheinhardt
avcodec/mpegpicture: Use union for b_scratchpad and rd_scratchpad These pointers point to the same buffers, so one can just use a union for them and avoid synchronising one of them. Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d0f76e6a11a17f211584aa56dba0e3f785c97f2e --- libavcodec/mpegpicture.c | 1 - libavcodec/mpegpicture.h | 6 ++++-- libavcodec/mpegvideo.c | 1 - 3 files changed, 4 insertions(+), 4 deletions(-) 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; _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".