diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-12-15 14:13:55 +0100 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2013-12-16 02:21:37 +0100 |
commit | 85ea8465802152c7bd20550ac449fb9049d92182 (patch) | |
tree | e06c3a4094989f401f85938819901b8b7e9ea097 | |
parent | 5b52b4962e22e3202901a2d89ab34376adf4c928 (diff) | |
download | ffmpeg-85ea8465802152c7bd20550ac449fb9049d92182.tar.gz |
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>
(cherry picked from commit 037fc3b054b10aee0f11fdbe835e5dffa8e95b37)
-rw-r--r-- | libswscale/utils.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libswscale/utils.c b/libswscale/utils.c index 2cad0c810d..6c5fa56fce 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@ -1332,8 +1332,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) |