Mercurial > mplayer.hg
changeset 29485:d252912eaf5b
swscale-example: Make selection of dstW, dstH, and flags more clear.
author | ramiro |
---|---|
date | Mon, 17 Aug 2009 02:06:00 +0000 |
parents | be1d733d84e8 |
children | a373af1e3b24 |
files | libswscale/swscale-example.c |
diffstat | 1 files changed, 12 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/libswscale/swscale-example.c Sun Aug 16 22:44:29 2009 +0000 +++ b/libswscale/swscale-example.c Mon Aug 17 02:06:00 2009 +0000 @@ -182,12 +182,18 @@ static void selfTest(uint8_t *src[4], int stride[4], int w, int h) { + const int flags[] = { SWS_FAST_BILINEAR, + SWS_BILINEAR, SWS_BICUBIC, + SWS_X , SWS_POINT , SWS_AREA, 0 }; + const int srcW = w; + const int srcH = h; + const int dstW[] = { srcW - srcW/3, srcW, srcW + srcW/3, 0 }; + const int dstH[] = { srcH - srcH/3, srcH, srcH + srcH/3, 0 }; enum PixelFormat srcFormat, dstFormat; - int srcW, srcH, dstW, dstH; - int flags; for (srcFormat = 0; srcFormat < PIX_FMT_NB; srcFormat++) { for (dstFormat = 0; dstFormat < PIX_FMT_NB; dstFormat++) { + int i, j, k; int res = 0; printf("%s -> %s\n", @@ -195,13 +201,11 @@ sws_format_name(dstFormat)); fflush(stdout); - srcW= w; - srcH= h; - for (dstW=w - w/3; !res && dstW<= 4*w/3; dstW+= w/3) - for (dstH=h - h/3; !res && dstH<= 4*h/3; dstH+= h/3) - for (flags=1; !res && flags<33; flags*=2) + for (i = 0; dstW[i] && !res; i++) + for (j = 0; dstH[j] && !res; j++) + for (k = 0; flags[k] && !res; k++) res = doTest(src, stride, w, h, srcFormat, dstFormat, - srcW, srcH, dstW, dstH, flags); + srcW, srcH, dstW[i], dstH[j], flags[k]); } } }