Don't build calc_psnr for high bit depth.
Change-Id: I63a7da7857534dcb4c69ed316c1feadea9ffb45b
This commit is contained in:
parent
f642ee891b
commit
bd89a34c3a
@ -2145,42 +2145,6 @@ typedef struct {
|
|||||||
uint32_t samples[4]; // total/y/u/v
|
uint32_t samples[4]; // total/y/u/v
|
||||||
} PSNR_STATS;
|
} PSNR_STATS;
|
||||||
|
|
||||||
static void calc_psnr(const YV12_BUFFER_CONFIG *a, const YV12_BUFFER_CONFIG *b,
|
|
||||||
PSNR_STATS *psnr) {
|
|
||||||
static const double peak = 255.0;
|
|
||||||
const int widths[3] = {
|
|
||||||
a->y_crop_width, a->uv_crop_width, a->uv_crop_width};
|
|
||||||
const int heights[3] = {
|
|
||||||
a->y_crop_height, a->uv_crop_height, a->uv_crop_height};
|
|
||||||
const uint8_t *a_planes[3] = {a->y_buffer, a->u_buffer, a->v_buffer};
|
|
||||||
const int a_strides[3] = {a->y_stride, a->uv_stride, a->uv_stride};
|
|
||||||
const uint8_t *b_planes[3] = {b->y_buffer, b->u_buffer, b->v_buffer};
|
|
||||||
const int b_strides[3] = {b->y_stride, b->uv_stride, b->uv_stride};
|
|
||||||
int i;
|
|
||||||
uint64_t total_sse = 0;
|
|
||||||
uint32_t total_samples = 0;
|
|
||||||
|
|
||||||
for (i = 0; i < 3; ++i) {
|
|
||||||
const int w = widths[i];
|
|
||||||
const int h = heights[i];
|
|
||||||
const uint32_t samples = w * h;
|
|
||||||
const uint64_t sse = get_sse(a_planes[i], a_strides[i],
|
|
||||||
b_planes[i], b_strides[i],
|
|
||||||
w, h);
|
|
||||||
psnr->sse[1 + i] = sse;
|
|
||||||
psnr->samples[1 + i] = samples;
|
|
||||||
psnr->psnr[1 + i] = vpx_sse_to_psnr(samples, peak, (double)sse);
|
|
||||||
|
|
||||||
total_sse += sse;
|
|
||||||
total_samples += samples;
|
|
||||||
}
|
|
||||||
|
|
||||||
psnr->sse[0] = total_sse;
|
|
||||||
psnr->samples[0] = total_samples;
|
|
||||||
psnr->psnr[0] = vpx_sse_to_psnr((double)total_samples, peak,
|
|
||||||
(double)total_sse);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if CONFIG_VP9_HIGHBITDEPTH
|
#if CONFIG_VP9_HIGHBITDEPTH
|
||||||
static void calc_highbd_psnr(const YV12_BUFFER_CONFIG *a,
|
static void calc_highbd_psnr(const YV12_BUFFER_CONFIG *a,
|
||||||
const YV12_BUFFER_CONFIG *b,
|
const YV12_BUFFER_CONFIG *b,
|
||||||
@ -2233,6 +2197,44 @@ static void calc_highbd_psnr(const YV12_BUFFER_CONFIG *a,
|
|||||||
psnr->psnr[0] = vpx_sse_to_psnr((double)total_samples, peak,
|
psnr->psnr[0] = vpx_sse_to_psnr((double)total_samples, peak,
|
||||||
(double)total_sse);
|
(double)total_sse);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else // !CONFIG_VP9_HIGHBITDEPTH
|
||||||
|
|
||||||
|
static void calc_psnr(const YV12_BUFFER_CONFIG *a, const YV12_BUFFER_CONFIG *b,
|
||||||
|
PSNR_STATS *psnr) {
|
||||||
|
static const double peak = 255.0;
|
||||||
|
const int widths[3] = {
|
||||||
|
a->y_crop_width, a->uv_crop_width, a->uv_crop_width};
|
||||||
|
const int heights[3] = {
|
||||||
|
a->y_crop_height, a->uv_crop_height, a->uv_crop_height};
|
||||||
|
const uint8_t *a_planes[3] = {a->y_buffer, a->u_buffer, a->v_buffer};
|
||||||
|
const int a_strides[3] = {a->y_stride, a->uv_stride, a->uv_stride};
|
||||||
|
const uint8_t *b_planes[3] = {b->y_buffer, b->u_buffer, b->v_buffer};
|
||||||
|
const int b_strides[3] = {b->y_stride, b->uv_stride, b->uv_stride};
|
||||||
|
int i;
|
||||||
|
uint64_t total_sse = 0;
|
||||||
|
uint32_t total_samples = 0;
|
||||||
|
|
||||||
|
for (i = 0; i < 3; ++i) {
|
||||||
|
const int w = widths[i];
|
||||||
|
const int h = heights[i];
|
||||||
|
const uint32_t samples = w * h;
|
||||||
|
const uint64_t sse = get_sse(a_planes[i], a_strides[i],
|
||||||
|
b_planes[i], b_strides[i],
|
||||||
|
w, h);
|
||||||
|
psnr->sse[1 + i] = sse;
|
||||||
|
psnr->samples[1 + i] = samples;
|
||||||
|
psnr->psnr[1 + i] = vpx_sse_to_psnr(samples, peak, (double)sse);
|
||||||
|
|
||||||
|
total_sse += sse;
|
||||||
|
total_samples += samples;
|
||||||
|
}
|
||||||
|
|
||||||
|
psnr->sse[0] = total_sse;
|
||||||
|
psnr->samples[0] = total_samples;
|
||||||
|
psnr->psnr[0] = vpx_sse_to_psnr((double)total_samples, peak,
|
||||||
|
(double)total_sse);
|
||||||
|
}
|
||||||
#endif // CONFIG_VP9_HIGHBITDEPTH
|
#endif // CONFIG_VP9_HIGHBITDEPTH
|
||||||
|
|
||||||
static void generate_psnr_packet(VP10_COMP *cpi) {
|
static void generate_psnr_packet(VP10_COMP *cpi) {
|
||||||
|
@ -2248,42 +2248,6 @@ typedef struct {
|
|||||||
uint32_t samples[4]; // total/y/u/v
|
uint32_t samples[4]; // total/y/u/v
|
||||||
} PSNR_STATS;
|
} PSNR_STATS;
|
||||||
|
|
||||||
static void calc_psnr(const YV12_BUFFER_CONFIG *a, const YV12_BUFFER_CONFIG *b,
|
|
||||||
PSNR_STATS *psnr) {
|
|
||||||
static const double peak = 255.0;
|
|
||||||
const int widths[3] = {
|
|
||||||
a->y_crop_width, a->uv_crop_width, a->uv_crop_width};
|
|
||||||
const int heights[3] = {
|
|
||||||
a->y_crop_height, a->uv_crop_height, a->uv_crop_height};
|
|
||||||
const uint8_t *a_planes[3] = {a->y_buffer, a->u_buffer, a->v_buffer};
|
|
||||||
const int a_strides[3] = {a->y_stride, a->uv_stride, a->uv_stride};
|
|
||||||
const uint8_t *b_planes[3] = {b->y_buffer, b->u_buffer, b->v_buffer};
|
|
||||||
const int b_strides[3] = {b->y_stride, b->uv_stride, b->uv_stride};
|
|
||||||
int i;
|
|
||||||
uint64_t total_sse = 0;
|
|
||||||
uint32_t total_samples = 0;
|
|
||||||
|
|
||||||
for (i = 0; i < 3; ++i) {
|
|
||||||
const int w = widths[i];
|
|
||||||
const int h = heights[i];
|
|
||||||
const uint32_t samples = w * h;
|
|
||||||
const uint64_t sse = get_sse(a_planes[i], a_strides[i],
|
|
||||||
b_planes[i], b_strides[i],
|
|
||||||
w, h);
|
|
||||||
psnr->sse[1 + i] = sse;
|
|
||||||
psnr->samples[1 + i] = samples;
|
|
||||||
psnr->psnr[1 + i] = vpx_sse_to_psnr(samples, peak, (double)sse);
|
|
||||||
|
|
||||||
total_sse += sse;
|
|
||||||
total_samples += samples;
|
|
||||||
}
|
|
||||||
|
|
||||||
psnr->sse[0] = total_sse;
|
|
||||||
psnr->samples[0] = total_samples;
|
|
||||||
psnr->psnr[0] = vpx_sse_to_psnr((double)total_samples, peak,
|
|
||||||
(double)total_sse);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if CONFIG_VP9_HIGHBITDEPTH
|
#if CONFIG_VP9_HIGHBITDEPTH
|
||||||
static void calc_highbd_psnr(const YV12_BUFFER_CONFIG *a,
|
static void calc_highbd_psnr(const YV12_BUFFER_CONFIG *a,
|
||||||
const YV12_BUFFER_CONFIG *b,
|
const YV12_BUFFER_CONFIG *b,
|
||||||
@ -2336,6 +2300,44 @@ static void calc_highbd_psnr(const YV12_BUFFER_CONFIG *a,
|
|||||||
psnr->psnr[0] = vpx_sse_to_psnr((double)total_samples, peak,
|
psnr->psnr[0] = vpx_sse_to_psnr((double)total_samples, peak,
|
||||||
(double)total_sse);
|
(double)total_sse);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else // !CONFIG_VP9_HIGHBITDEPTH
|
||||||
|
|
||||||
|
static void calc_psnr(const YV12_BUFFER_CONFIG *a, const YV12_BUFFER_CONFIG *b,
|
||||||
|
PSNR_STATS *psnr) {
|
||||||
|
static const double peak = 255.0;
|
||||||
|
const int widths[3] = {
|
||||||
|
a->y_crop_width, a->uv_crop_width, a->uv_crop_width};
|
||||||
|
const int heights[3] = {
|
||||||
|
a->y_crop_height, a->uv_crop_height, a->uv_crop_height};
|
||||||
|
const uint8_t *a_planes[3] = {a->y_buffer, a->u_buffer, a->v_buffer};
|
||||||
|
const int a_strides[3] = {a->y_stride, a->uv_stride, a->uv_stride};
|
||||||
|
const uint8_t *b_planes[3] = {b->y_buffer, b->u_buffer, b->v_buffer};
|
||||||
|
const int b_strides[3] = {b->y_stride, b->uv_stride, b->uv_stride};
|
||||||
|
int i;
|
||||||
|
uint64_t total_sse = 0;
|
||||||
|
uint32_t total_samples = 0;
|
||||||
|
|
||||||
|
for (i = 0; i < 3; ++i) {
|
||||||
|
const int w = widths[i];
|
||||||
|
const int h = heights[i];
|
||||||
|
const uint32_t samples = w * h;
|
||||||
|
const uint64_t sse = get_sse(a_planes[i], a_strides[i],
|
||||||
|
b_planes[i], b_strides[i],
|
||||||
|
w, h);
|
||||||
|
psnr->sse[1 + i] = sse;
|
||||||
|
psnr->samples[1 + i] = samples;
|
||||||
|
psnr->psnr[1 + i] = vpx_sse_to_psnr(samples, peak, (double)sse);
|
||||||
|
|
||||||
|
total_sse += sse;
|
||||||
|
total_samples += samples;
|
||||||
|
}
|
||||||
|
|
||||||
|
psnr->sse[0] = total_sse;
|
||||||
|
psnr->samples[0] = total_samples;
|
||||||
|
psnr->psnr[0] = vpx_sse_to_psnr((double)total_samples, peak,
|
||||||
|
(double)total_sse);
|
||||||
|
}
|
||||||
#endif // CONFIG_VP9_HIGHBITDEPTH
|
#endif // CONFIG_VP9_HIGHBITDEPTH
|
||||||
|
|
||||||
static void generate_psnr_packet(VP9_COMP *cpi) {
|
static void generate_psnr_packet(VP9_COMP *cpi) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user