[SCM] libav/experimental: 100l, fix sws_getCachedContext. It did not set the colorspace details, but worse it did not set up destination dimensions, thus every user of it would necessarily fail.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:16:53 UTC 2013


The following commit has been merged in the experimental branch:
commit 12eef0d1ba55dd0eb36893a0d6e0fa7e04dda122
Author: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
Date:   Sun Oct 3 07:53:40 2010 +0000

    100l, fix sws_getCachedContext. It did not set the colorspace details,
    but worse it did not set up destination dimensions, thus every user
    of it would necessarily fail.
    
    Originally committed as revision 32424 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

diff --git a/libswscale/utils.c b/libswscale/utils.c
index 83883b7..6365522 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -1555,10 +1555,15 @@ struct SwsContext *sws_getCachedContext(struct SwsContext *context,
         context->srcW      = srcW;
         context->srcH      = srcH;
         context->srcFormat = srcFormat;
+        context->dstW      = dstW;
+        context->dstH      = dstH;
         context->dstFormat = dstFormat;
         context->flags     = flags;
         context->param[0]  = param[0];
         context->param[1]  = param[1];
+        context->srcRange = handle_jpeg(&srcFormat);
+        context->dstRange = handle_jpeg(&dstFormat);
+        sws_setColorspaceDetails(context, ff_yuv2rgb_coeffs[SWS_CS_DEFAULT], context->srcRange, ff_yuv2rgb_coeffs[SWS_CS_DEFAULT] /* FIXME*/, context->dstRange, 0, 1<<16, 1<<16);
         if (sws_init_context(context, srcFilter, dstFilter) < 0) {
             sws_freeContext(context);
             return NULL;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list