[FFmpeg-cvslog] checkasm/motion: Don't allocate AVCodecContext

Andreas Rheinhardt git at videolan.org
Thu Sep 28 01:30:02 EEST 2023


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Mon Sep 25 17:55:40 2023 +0200| [0228e27dedc66c98e5b25dee0f95e664a185bbf1] | committer: Andreas Rheinhardt

checkasm/motion: Don't allocate AVCodecContext

Instead use one on the stack to avoid pulling in all
of libavcodec.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0228e27dedc66c98e5b25dee0f95e664a185bbf1
---

 tests/checkasm/motion.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/tests/checkasm/motion.c b/tests/checkasm/motion.c
index 87b20d1c10..71a0ee3fc0 100644
--- a/tests/checkasm/motion.c
+++ b/tests/checkasm/motion.c
@@ -118,16 +118,14 @@ static void test_motion(const char *name, me_cmp_func test_func)
 static void check_motion(void)
 {
     char buf[64];
-    AVCodecContext *av_ctx;
+    /* Setup AVCodecContext in a way that does not pull in all of libavcodec */
+    AVCodecContext av_ctx = { .codec_id = AV_CODEC_ID_NONE, .flags = AV_CODEC_FLAG_BITEXACT };
     MECmpContext me_ctx;
 
     memset(&me_ctx, 0, sizeof(me_ctx));
 
-    /* allocate AVCodecContext */
-    av_ctx = avcodec_alloc_context3(NULL);
-    av_ctx->flags |= AV_CODEC_FLAG_BITEXACT;
 
-    ff_me_cmp_init(&me_ctx, av_ctx);
+    ff_me_cmp_init(&me_ctx, &av_ctx);
 
     for (int i = 0; i < FF_ARRAY_ELEMS(me_ctx.pix_abs); i++) {
         for (int j = 0; j < FF_ARRAY_ELEMS(me_ctx.pix_abs[0]); j++) {
@@ -143,8 +141,6 @@ static void check_motion(void)
     }
     ME_CMP_1D_ARRAYS(XX)
 #undef XX
-
-    avcodec_free_context(&av_ctx);
 }
 
 void checkasm_check_motion(void)



More information about the ffmpeg-cvslog mailing list