swscale/utils: check chroma width for fast bilinear scaler

Fixes artifacts where fast bilinear was used for downscaling chroma

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2013-12-15 14:13:55 +01:00
parent 554e913fd7
commit 037fc3b054

View File

@ -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)