From 247f485448d8030b18abf534823a3b2d6e55497a Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 14 Feb 2024 21:47:30 +0100 Subject: [PATCH] swscale/tests/swscale: Split sws_getContext() Signed-off-by: Michael Niedermayer --- libswscale/tests/swscale.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/libswscale/tests/swscale.c b/libswscale/tests/swscale.c index f853bc4c91..6792fcaa3d 100644 --- a/libswscale/tests/swscale.c +++ b/libswscale/tests/swscale.c @@ -30,6 +30,7 @@ #include "libavutil/mem.h" #include "libavutil/avutil.h" #include "libavutil/crc.h" +#include "libavutil/opt.h" #include "libavutil/pixdesc.h" #include "libavutil/lfg.h" @@ -165,10 +166,26 @@ static int doTest(const uint8_t * const ref[4], int refStride[4], int w, int h, } } - dstContext = sws_getContext(srcW, srcH, srcFormat, dstW, dstH, dstFormat, - flags, NULL, NULL, NULL); + dstContext = sws_alloc_context(); if (!dstContext) { - fprintf(stderr, "Failed to get %s ---> %s\n", + fprintf(stderr, "Failed to alloc %s ---> %s\n", + desc_src->name, desc_dst->name); + res = -1; + goto end; + } + + av_opt_set_int(dstContext, "sws_flags", flags, 0); + av_opt_set_int(dstContext, "srcw", srcW, 0); + av_opt_set_int(dstContext, "srch", srcH, 0); + av_opt_set_int(dstContext, "dstw", dstW, 0); + av_opt_set_int(dstContext, "dsth", dstH, 0); + av_opt_set_int(dstContext, "src_format", srcFormat, 0); + av_opt_set_int(dstContext, "dst_format", dstFormat, 0); + av_opt_set(dstContext, "alphablend", "none", 0); + + if (sws_init_context(dstContext, NULL, NULL) < 0) { + sws_freeContext(dstContext); + fprintf(stderr, "Failed to init %s ---> %s\n", desc_src->name, desc_dst->name); res = -1; goto end;