Mercurial > mplayer.hg
changeset 31901:989b68128b45
swscale-test: add CRC output
author | ramiro |
---|---|
date | Thu, 19 Aug 2010 14:36:16 +0000 |
parents | 275c14fdfd80 |
children | 8b84595bcfd8 |
files | libswscale/swscale-test.c |
diffstat | 1 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/libswscale/swscale-test.c Wed Aug 18 23:20:23 2010 +0000 +++ b/libswscale/swscale-test.c Thu Aug 19 14:36:16 2010 +0000 @@ -28,6 +28,7 @@ #include "libavcore/imgutils.h" #include "libavutil/mem.h" #include "libavutil/avutil.h" +#include "libavutil/crc.h" #include "libavutil/pixdesc.h" #include "libavutil/lfg.h" #include "swscale.h" @@ -83,6 +84,7 @@ int i; uint64_t ssdY, ssdU=0, ssdV=0, ssdA=0; struct SwsContext *dstContext = NULL, *outContext = NULL; + uint32_t crc = 0; int res = 0; av_fill_image_linesizes(dstStride, dstFormat, dstW); @@ -135,6 +137,10 @@ sws_scale(dstContext, src, srcStride, 0, srcH, dst, dstStride); sws_scale(outContext, dst, dstStride, 0, dstH, out, refStride); + for (i = 0; i < 4 && dstStride[i]; i++) { + crc = av_crc(av_crc_get_table(AV_CRC_32_IEEE), crc, dst[i], dstStride[i] * dstH); + } + ssdY= getSSD(ref[0], out[0], refStride[0], refStride[0], w, h); if (hasChroma(srcFormat) && hasChroma(dstFormat)) { //FIXME check that output is really gray @@ -149,8 +155,8 @@ ssdV/= w*h/4; ssdA/= w*h; - printf(" SSD=%5"PRId64",%5"PRId64",%5"PRId64",%5"PRId64"\n", - ssdY, ssdU, ssdV, ssdA); + printf(" CRC=%08x SSD=%5"PRId64",%5"PRId64",%5"PRId64",%5"PRId64"\n", + crc, ssdY, ssdU, ssdV, ssdA); end: