summaryrefslogtreecommitdiffstats
path: root/libswscale
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-09-12 02:05:37 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-09-12 02:05:37 +0000
commitcc3ec5b4f215a988c2d18080e55e157cb49e2dc0 (patch)
tree9e05e334f231f6b668b2ab38fd4d6b731e190b1b /libswscale
parentfa93e449fc1cfdc29c3e6a926db8192d3bf88f5a (diff)
downloadmpv-cc3ec5b4f215a988c2d18080e55e157cb49e2dc0.tar.bz2
mpv-cc3ec5b4f215a988c2d18080e55e157cb49e2dc0.tar.xz
Do not use the unscaled yuv->rgb converters if SWS_ACCURATE_RND is set,
because they do not accurately round. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27584 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libswscale')
-rw-r--r--libswscale/swscale.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libswscale/swscale.c b/libswscale/swscale.c
index 83373fcffe..9dcb6f93e4 100644
--- a/libswscale/swscale.c
+++ b/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);
}