From 6e695da2d9ef45ceca716ab8da9ae7e62f151e39 Mon Sep 17 00:00:00 2001 From: Yaowu Xu Date: Sun, 21 Feb 2016 18:49:01 -0800 Subject: [PATCH] Move psnrhvs function declaration to psnr.h From "ssim.h" Change-Id: Ie53378794149ef8a844b4eb47ad4f08579de4b60 --- test/hbd_metrics_test.cc | 4 ++-- vp10/encoder/encoder.c | 2 +- vp9/encoder/vp9_encoder.c | 4 +--- vpx_dsp/psnr.h | 5 +++++ vpx_dsp/psnrhvs.c | 28 ++++++++++++++-------------- vpx_dsp/ssim.h | 5 ----- 6 files changed, 23 insertions(+), 25 deletions(-) diff --git a/test/hbd_metrics_test.cc b/test/hbd_metrics_test.cc index e6ceaf125..5d0d47364 100644 --- a/test/hbd_metrics_test.cc +++ b/test/hbd_metrics_test.cc @@ -53,14 +53,14 @@ double compute_hbd_psnrhvs(const YV12_BUFFER_CONFIG *source, uint32_t in_bd, uint32_t bd) { double tempy, tempu, tempv; return vpx_psnrhvs(source, dest, - &tempy, &tempu, &tempv, bd); + &tempy, &tempu, &tempv, bd, in_bd); } double compute_psnrhvs(const YV12_BUFFER_CONFIG *source, const YV12_BUFFER_CONFIG *dest) { double tempy, tempu, tempv; return vpx_psnrhvs(source, dest, - &tempy, &tempu, &tempv, 8); + &tempy, &tempu, &tempv, 8, 8); } double compute_hbd_fastssim(const YV12_BUFFER_CONFIG *source, diff --git a/vp10/encoder/encoder.c b/vp10/encoder/encoder.c index 55ec9c17e..c718aeb65 100644 --- a/vp10/encoder/encoder.c +++ b/vp10/encoder/encoder.c @@ -4006,7 +4006,7 @@ static void compute_internal_stats(VP10_COMP *cpi) { frame_all = vpx_calc_fastssim(orig, recon, &y, &u, &v, bit_depth); adjust_image_stat(y, u, v, frame_all, &cpi->fastssim); - frame_all = vpx_psnrhvs(orig, recon, &y, &u, &v, bit_depth); + frame_all = vpx_psnrhvs(orig, recon, &y, &u, &v, bit_depth, in_bit_depth); adjust_image_stat(y, u, v, frame_all, &cpi->psnrhvs); } } diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c index 713b5f7e1..9bae1a1f0 100644 --- a/vp9/encoder/vp9_encoder.c +++ b/vp9/encoder/vp9_encoder.c @@ -4314,9 +4314,7 @@ int vp9_get_compressed_data(VP9_COMP *cpi, unsigned int *frame_flags, if (cm->show_frame) { uint32_t bit_depth = 8; -#if CONFIG_VP9_HIGHBITDEPTH uint32_t in_bit_depth = 8; -#endif cpi->count++; #if CONFIG_VP9_HIGHBITDEPTH if (cm->use_highbitdepth) { @@ -4460,7 +4458,7 @@ int vp9_get_compressed_data(VP9_COMP *cpi, unsigned int *frame_flags, { double y, u, v, frame_all; frame_all = vpx_psnrhvs(cpi->Source, cm->frame_to_show, &y, &u, &v, - bit_depth); + bit_depth, in_bit_depth); adjust_image_stat(y, u, v, frame_all, &cpi->psnrhvs); } } diff --git a/vpx_dsp/psnr.h b/vpx_dsp/psnr.h index c8da94f8f..14d256fcf 100644 --- a/vpx_dsp/psnr.h +++ b/vpx_dsp/psnr.h @@ -56,6 +56,11 @@ void calc_psnr(const YV12_BUFFER_CONFIG *a, const YV12_BUFFER_CONFIG *b, PSNR_STATS *psnr); +double vpx_psnrhvs(const YV12_BUFFER_CONFIG *source, + const YV12_BUFFER_CONFIG *dest, + double *phvs_y, double *phvs_u, + double *phvs_v, uint32_t bd, uint32_t in_bd); + int64_t highbd_get_sse(const uint8_t *a, int a_stride, const uint8_t *b, int b_stride, int width, int height); diff --git a/vpx_dsp/psnrhvs.c b/vpx_dsp/psnrhvs.c index 9b70c6a49..7015c0987 100644 --- a/vpx_dsp/psnrhvs.c +++ b/vpx_dsp/psnrhvs.c @@ -248,27 +248,27 @@ static double calc_psnrhvs(const unsigned char *src, int _systride, return ret; } -double vpx_psnrhvs(const YV12_BUFFER_CONFIG *source, +double vpx_psnrhvs(const YV12_BUFFER_CONFIG *src, const YV12_BUFFER_CONFIG *dest, double *y_psnrhvs, - double *u_psnrhvs, double *v_psnrhvs, uint32_t bit_depth) { + double *u_psnrhvs, double *v_psnrhvs, + uint32_t bd, uint32_t in_bd) { double psnrhvs; const double par = 1.0; const int step = 7; vpx_clear_system_state(); - assert(bit_depth == 8 || bit_depth == 10 || bit_depth == 12); + assert(bd == 8 || bd == 10 || bd == 12); - *y_psnrhvs = calc_psnrhvs(source->y_buffer, source->y_stride, dest->y_buffer, - dest->y_stride, par, source->y_crop_width, - source->y_crop_height, step, csf_y, bit_depth); - *u_psnrhvs = calc_psnrhvs(source->u_buffer, source->uv_stride, dest->u_buffer, - dest->uv_stride, par, source->uv_crop_width, - source->uv_crop_height, step, csf_cb420, bit_depth); - - *v_psnrhvs = calc_psnrhvs(source->v_buffer, source->uv_stride, dest->v_buffer, - dest->uv_stride, par, source->uv_crop_width, - source->uv_crop_height, step, csf_cr420, bit_depth); + *y_psnrhvs = calc_psnrhvs(src->y_buffer, src->y_stride, dest->y_buffer, + dest->y_stride, par, src->y_crop_width, + src->y_crop_height, step, csf_y, bd); + *u_psnrhvs = calc_psnrhvs(src->u_buffer, src->uv_stride, dest->u_buffer, + dest->uv_stride, par, src->uv_crop_width, + src->uv_crop_height, step, csf_cb420, bd); + *v_psnrhvs = calc_psnrhvs(src->v_buffer, src->uv_stride, dest->v_buffer, + dest->uv_stride, par, src->uv_crop_width, + src->uv_crop_height, step, csf_cr420, bd); psnrhvs = (*y_psnrhvs) * .8 + .1 * ((*u_psnrhvs) + (*v_psnrhvs)); - return convert_score_db(psnrhvs, 1.0, bit_depth); + return convert_score_db(psnrhvs, 1.0, bd); } diff --git a/vpx_dsp/ssim.h b/vpx_dsp/ssim.h index 6c59540ea..e0328e97f 100644 --- a/vpx_dsp/ssim.h +++ b/vpx_dsp/ssim.h @@ -75,11 +75,6 @@ double vpx_calc_fastssim(const YV12_BUFFER_CONFIG *source, double *ssim_y, double *ssim_u, double *ssim_v, uint32_t bit_depth); -double vpx_psnrhvs(const YV12_BUFFER_CONFIG *source, - const YV12_BUFFER_CONFIG *dest, - double *phvs_y, double *phvs_u, - double *phvs_v, uint32_t bit_depth); - #if CONFIG_VP9_HIGHBITDEPTH double vpx_highbd_calc_ssim(const YV12_BUFFER_CONFIG *source, const YV12_BUFFER_CONFIG *dest, -- 2.40.0