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: