1b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian/* 2b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * Copyright (c) 2014 The WebM project authors. All Rights Reserved. 3b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * 4b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * Use of this source code is governed by a BSD-style license 5b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * that can be found in the LICENSE file in the root of the source 6b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * tree. An additional intellectual property rights grant can be found 7b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * in the file PATENTS. All contributing project authors may 8b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * be found in the AUTHORS file in the root of the source tree. 9b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian */ 10b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 11b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#ifndef VPX_INTERNAL_VPX_PSNR_H_ 12b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#define VPX_INTERNAL_VPX_PSNR_H_ 13b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 14b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#ifdef __cplusplus 15b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianextern "C" { 16b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#endif 17b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 18b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian// TODO(dkovalev) change vpx_sse_to_psnr signature: double -> int64_t 19b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 20b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian/*!\brief Converts SSE to PSNR 21b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * 22b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * Converts sum of squared errros (SSE) to peak signal-to-noise ratio (PNSR). 23b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * 24b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * \param[in] samples Number of samples 25b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * \param[in] peak Max sample value 26b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * \param[in] sse Sum of squared errors 27b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian */ 28b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramaniandouble vpx_sse_to_psnr(double samples, double peak, double sse); 29b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 30b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#ifdef __cplusplus 31b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian} // extern "C" 32b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#endif 33b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 34b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#endif // VPX_INTERNAL_VPX_PSNR_H_ 35