Mercurial > mplayer.hg
changeset 30043:6e9c29e16658
Set fast_bilinear functions in sws_init_swScale().
author | ramiro |
---|---|
date | Sun, 20 Dec 2009 17:09:46 +0000 |
parents | 70b37e4475b6 |
children | 601cc3ad5cb2 |
files | libswscale/swscale_template.c |
diffstat | 1 files changed, 10 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/libswscale/swscale_template.c Sun Dec 20 17:09:20 2009 +0000 +++ b/libswscale/swscale_template.c Sun Dec 20 17:09:46 2009 +0000 @@ -2293,12 +2293,7 @@ src= formatConvBuffer; } -#if COMPILE_TEMPLATE_MMX - // Use the new MMX scaler if the MMX2 one can't be used (it is faster than the x86 ASM one). - if (!(flags&SWS_FAST_BILINEAR) || (!canMMX2BeUsed)) -#else - if (!(flags&SWS_FAST_BILINEAR)) -#endif + if (!c->hyscale_fast) { c->hScale(dst, dstWidth, src, srcW, xInc, hLumFilter, hLumFilterPos, hLumFilterSize); } else { // fast bilinear upscale / crap downscale @@ -2455,12 +2450,7 @@ src2= formatConvBuffer+VOFW; } -#if COMPILE_TEMPLATE_MMX - // Use the new MMX scaler if the MMX2 one can't be used (it is faster than the x86 ASM one). - if (!(flags&SWS_FAST_BILINEAR) || (!canMMX2BeUsed)) -#else - if (!(flags&SWS_FAST_BILINEAR)) -#endif + if (!c->hcscale_fast) { c->hScale(dst , dstWidth, src1, srcW, xInc, hChrFilter, hChrFilterPos, hChrFilterSize); c->hScale(dst+VOFW, dstWidth, src2, srcW, xInc, hChrFilter, hChrFilterPos, hChrFilterSize); @@ -2948,8 +2938,16 @@ c->hScale = RENAME(hScale ); +#if COMPILE_TEMPLATE_MMX + // Use the new MMX scaler if the MMX2 one can't be used (it is faster than the x86 ASM one). + if (c->flags & SWS_FAST_BILINEAR && c->canMMX2BeUsed) +#else + if (c->flags & SWS_FAST_BILINEAR) +#endif + { c->hyscale_fast = RENAME(hyscale_fast); c->hcscale_fast = RENAME(hcscale_fast); + } c->hcscale_internal = NULL; switch(srcFormat) {