Do not use the unscaled yuv->rgb converters if SWS_ACCURATE_RND is set,

because they do not accurately round.

Originally committed as revision 27584 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
pull/126/head
Michael Niedermayer 17 years ago
parent a8fd7e764a
commit 4155ece530
  1. 3
      libswscale/swscale.c

@ -2160,7 +2160,8 @@ SwsContext *sws_getContext(int srcW, int srcH, int srcFormat, int dstW, int dstH
}
#ifdef CONFIG_GPL
/* yuv2bgr */
if ((srcFormat==PIX_FMT_YUV420P || srcFormat==PIX_FMT_YUV422P) && (isBGR(dstFormat) || isRGB(dstFormat)))
if ((srcFormat==PIX_FMT_YUV420P || srcFormat==PIX_FMT_YUV422P) && (isBGR(dstFormat) || isRGB(dstFormat))
&& !(flags & SWS_ACCURATE_RND))
{
c->swScale= yuv2rgb_get_func_ptr(c);
}

Loading…
Cancel
Save