diff --git a/libswscale/utils.c b/libswscale/utils.c index 83883b721a..6365522cbc 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;