media/libvpx/vp8/encoder/psnr.c

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:3c2c237a3782
1 /*
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11
12 #include "vpx_scale/yv12config.h"
13 #include "math.h"
14 #include "vp8/common/systemdependent.h" /* for vp8_clear_system_state() */
15
16 #define MAX_PSNR 100
17
18 double vp8_mse2psnr(double Samples, double Peak, double Mse)
19 {
20 double psnr;
21
22 if ((double)Mse > 0.0)
23 psnr = 10.0 * log10(Peak * Peak * Samples / Mse);
24 else
25 psnr = MAX_PSNR; /* Limit to prevent / 0 */
26
27 if (psnr > MAX_PSNR)
28 psnr = MAX_PSNR;
29
30 return psnr;
31 }

mercurial