[FFmpeg-cvslog] swscale: move format handling to its own function

Michael Niedermayer git at videolan.org
Sun Jul 14 03:49:06 CEST 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Jul 14 03:22:10 2013 +0200| [d5f5e5166216b861d2bfc90f2aa30b7225e8b69d] | committer: Michael Niedermayer

swscale: move format handling to its own function

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libswscale/utils.c |   20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/libswscale/utils.c b/libswscale/utils.c
index 5170321..5c40f00 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -52,6 +52,8 @@
 #include "swscale.h"
 #include "swscale_internal.h"
 
+static void handle_formats(SwsContext *c);
+
 unsigned swscale_version(void)
 {
     av_assert0(LIBSWSCALE_VERSION_MICRO >= 100);
@@ -1039,6 +1041,14 @@ static int handle_xyz(enum AVPixelFormat *format)
     }
 }
 
+static void handle_formats(SwsContext *c)
+{
+    c->src0Alpha = handle_0alpha(&c->srcFormat);
+    c->dst0Alpha = handle_0alpha(&c->dstFormat);
+    c->srcXYZ    = handle_xyz(&c->srcFormat);
+    c->dstXYZ    = handle_xyz(&c->dstFormat);
+}
+
 SwsContext *sws_alloc_context(void)
 {
     SwsContext *c = av_mallocz(sizeof(SwsContext));
@@ -1578,12 +1588,9 @@ SwsContext *sws_getContext(int srcW, int srcH, enum AVPixelFormat srcFormat,
     c->dstH      = dstH;
     c->srcRange  = handle_jpeg(&srcFormat);
     c->dstRange  = handle_jpeg(&dstFormat);
-    c->src0Alpha = handle_0alpha(&srcFormat);
-    c->dst0Alpha = handle_0alpha(&dstFormat);
-    c->srcXYZ    = handle_xyz(&srcFormat);
-    c->dstXYZ    = handle_xyz(&dstFormat);
     c->srcFormat = srcFormat;
     c->dstFormat = dstFormat;
+    handle_formats(c);
 
     if (param) {
         c->param[0] = param[0];
@@ -2022,15 +2029,12 @@ struct SwsContext *sws_getCachedContext(struct SwsContext *context, int srcW,
         context->srcW      = srcW;
         context->srcH      = srcH;
         context->srcRange  = handle_jpeg(&srcFormat);
-        context->src0Alpha = handle_0alpha(&srcFormat);
-        context->srcXYZ    = handle_xyz(&srcFormat);
         context->srcFormat = srcFormat;
         context->dstW      = dstW;
         context->dstH      = dstH;
         context->dstRange  = handle_jpeg(&dstFormat);
-        context->dst0Alpha = handle_0alpha(&dstFormat);
-        context->dstXYZ    = handle_xyz(&dstFormat);
         context->dstFormat = dstFormat;
+        handle_formats(context);
         context->flags     = flags;
         context->param[0]  = param[0];
         context->param[1]  = param[1];



More information about the ffmpeg-cvslog mailing list