From 79a06ac5fe72f06e4e5e7a62b26ed907288fa2d8 Mon Sep 17 00:00:00 2001 From: "fbarchard@google.com" Date: Mon, 6 Feb 2012 22:33:09 +0000 Subject: [PATCH] omp friendly version of psnr BUG=none TEST=none Review URL: https://webrtc-codereview.appspot.com/378007 git-svn-id: http://libyuv.googlecode.com/svn/trunk@167 16f28f9a-4ce2-e073-06de-1de4eb20be90 --- README.chromium | 2 +- include/libyuv/version.h | 2 +- source/compare.cc | 9 +++++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/README.chromium b/README.chromium index 7c8a10242..c755e1faa 100644 --- a/README.chromium +++ b/README.chromium @@ -1,6 +1,6 @@ Name: libyuv URL: http://code.google.com/p/libyuv/ -Version: 165 +Version: 167 License: BSD License File: LICENSE diff --git a/include/libyuv/version.h b/include/libyuv/version.h index fc3eca98a..1cc1e3f7f 100644 --- a/include/libyuv/version.h +++ b/include/libyuv/version.h @@ -16,7 +16,7 @@ namespace libyuv { extern "C" { #endif -#define LIBYUV_VERSION 165 +#define LIBYUV_VERSION 167 #ifdef __cplusplus } // extern "C" diff --git a/source/compare.cc b/source/compare.cc index 04322021f..dbb576cbf 100644 --- a/source/compare.cc +++ b/source/compare.cc @@ -12,6 +12,9 @@ #include #include +#ifdef _OPENMP +#include +#endif #include "libyuv/basic_types.h" #include "libyuv/cpu_id.h" @@ -23,7 +26,7 @@ extern "C" { #endif // hash seed of 5381 recommended. -uint32 HashDjb2(const uint8* src, size_t len, uint32 seed) { +uint32 HashDjb2(const uint8* src, uint64 count, uint32 seed) { uint32 hash = seed; if (len > 0) { do { @@ -190,7 +193,9 @@ uint64 ComputeSumSquareError(const uint8* src_a, { SumSquareError = SumSquareError_C; } - const int kBlockSize = 32768; + // 32K values will fit a 32bit int return value from SumSquareError. + // After each block of 32K, accumulate into 64 bit int. + const int kBlockSize = 1 << 15; // 32768; uint64 sse = 0; #ifdef _OPENMP #pragma omp parallel for reduction(+: sse)