Store src/dstFormat after calling handle_jpeg
authorMartin Storsjö <martin@martin.st>
Fri, 29 Oct 2010 13:48:12 +0000 (13:48 +0000)
committerMartin Storsjö <martin@martin.st>
Fri, 29 Oct 2010 13:48:12 +0000 (13:48 +0000)
handle_jpeg may update the src/dstFormat variables, this makes sure the
updated version is stored in the context.

This fixes roundup issue 2302.

Patch by Troot, all_crap_goes_here at hotmail

Originally committed as revision 32562 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

libswscale/utils.c

index 6365522..166e983 100644 (file)
@@ -1554,15 +1554,15 @@ struct SwsContext *sws_getCachedContext(struct SwsContext *context,
             return NULL;
         context->srcW      = srcW;
         context->srcH      = srcH;
+        context->srcRange  = handle_jpeg(&srcFormat);
         context->srcFormat = srcFormat;
         context->dstW      = dstW;
         context->dstH      = dstH;
+        context->dstRange  = handle_jpeg(&dstFormat);
         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);