summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/libvpx/source/libvpx/vpx/src/vpx_psnr.c
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/libvpx/source/libvpx/vpx/src/vpx_psnr.c')
-rw-r--r--chromium/third_party/libvpx/source/libvpx/vpx/src/vpx_psnr.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/chromium/third_party/libvpx/source/libvpx/vpx/src/vpx_psnr.c b/chromium/third_party/libvpx/source/libvpx/vpx/src/vpx_psnr.c
new file mode 100644
index 00000000000..05843acb61f
--- /dev/null
+++ b/chromium/third_party/libvpx/source/libvpx/vpx/src/vpx_psnr.c
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2014 The WebM project authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file in the root of the source
+ * tree. An additional intellectual property rights grant can be found
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+#include <math.h>
+
+#include "vpx/internal/vpx_psnr.h"
+
+#define MAX_PSNR 100.0
+
+double vpx_sse_to_psnr(double samples, double peak, double sse) {
+ if (sse > 0.0) {
+ const double psnr = 10.0 * log10(samples * peak * peak / sse);
+ return psnr > MAX_PSNR ? MAX_PSNR : psnr;
+ } else {
+ return MAX_PSNR;
+ }
+}