[FFmpeg-cvslog] swscale/tests/swscale: Split sws_getContext()

Michael Niedermayer git at videolan.org
Fri Feb 16 00:08:56 EET 2024


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Wed Feb 14 21:47:30 2024 +0100| [247f485448d8030b18abf534823a3b2d6e55497a] | committer: Michael Niedermayer

swscale/tests/swscale: Split sws_getContext()

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

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

 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;



More information about the ffmpeg-cvslog mailing list