From 037fc3b054b10aee0f11fdbe835e5dffa8e95b37 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 15 Dec 2013 14:13:55 +0100 Subject: swscale/utils: check chroma width for fast bilinear scaler Fixes artifacts where fast bilinear was used for downscaling chroma Signed-off-by: Michael Niedermayer --- libswscale/utils.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libswscale/utils.c b/libswscale/utils.c index baf2c591ca..80c789fef8 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@ -1342,8 +1342,9 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter, if (INLINE_MMXEXT(cpu_flags) && c->srcBpc == 8 && c->dstBpc <= 14) { c->canMMXEXTBeUsed = dstW >= srcW && (dstW & 31) == 0 && + c->chrDstW >= c->chrSrcW && (srcW & 15) == 0; - if (!c->canMMXEXTBeUsed && dstW >= srcW && (srcW & 15) == 0 + if (!c->canMMXEXTBeUsed && dstW >= srcW && c->chrDstW >= c->chrSrcW && (srcW & 15) == 0 && (flags & SWS_FAST_BILINEAR)) { if (flags & SWS_PRINT_INFO) -- cgit v1.2.3