From e178ce25958b765ca67e72093d3248d4cbae7967 Mon Sep 17 00:00:00 2001 From: Jerome Jiang Date: Fri, 22 Mar 2019 17:27:24 -0700 Subject: [PATCH] Cherry-pick changes related to highbd substract func. d6e40b6 Use high bd path to substract blocks in hbd build. 0d2299c Change PSNR threshold for high bitdepth. BUG=945084 Change-Id: I3909e9e48b031b6d7ceb3fffe4ebe5bd43fcde5e --- test/vp9_end_to_end_test.cc | 4 ++-- vp9/encoder/vp9_pickmode.c | 12 +++++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/test/vp9_end_to_end_test.cc b/test/vp9_end_to_end_test.cc index 76fc5b4d8..2d7bd70a5 100644 --- a/test/vp9_end_to_end_test.cc +++ b/test/vp9_end_to_end_test.cc @@ -30,8 +30,8 @@ const int kBitrate = 500; const double kPsnrThreshold[][5] = { { 36.0, 37.0, 37.0, 37.0, 37.0 }, { 35.0, 36.0, 36.0, 36.0, 36.0 }, { 34.0, 35.0, 35.0, 35.0, 35.0 }, { 33.0, 34.0, 34.0, 34.0, 34.0 }, - { 32.0, 33.0, 33.0, 33.0, 33.0 }, { 31.0, 32.0, 32.0, 32.0, 32.0 }, - { 30.0, 31.0, 31.0, 31.0, 31.0 }, { 29.0, 30.0, 30.0, 30.0, 30.0 }, + { 32.0, 33.0, 33.0, 33.0, 33.0 }, { 28.0, 32.0, 32.0, 32.0, 32.0 }, + { 28.5, 31.0, 31.0, 31.0, 31.0 }, { 28.0, 30.0, 30.0, 30.0, 30.0 }, }; typedef struct { diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c index b799a1160..fcdcdf70d 100644 --- a/vp9/encoder/vp9_pickmode.c +++ b/vp9/encoder/vp9_pickmode.c @@ -717,9 +717,19 @@ static void block_yrd(VP9_COMP *cpi, MACROBLOCK *x, RD_COST *this_rdc, // The max tx_size passed in is TX_16X16. assert(tx_size != TX_32X32); - +#if CONFIG_VP9_HIGHBITDEPTH + if (xd->cur_buf->flags & YV12_FLAG_HIGHBITDEPTH) { + vpx_highbd_subtract_block(bh, bw, p->src_diff, bw, p->src.buf, + p->src.stride, pd->dst.buf, pd->dst.stride, + x->e_mbd.bd); + } else { + vpx_subtract_block(bh, bw, p->src_diff, bw, p->src.buf, p->src.stride, + pd->dst.buf, pd->dst.stride); + } +#else vpx_subtract_block(bh, bw, p->src_diff, bw, p->src.buf, p->src.stride, pd->dst.buf, pd->dst.stride); +#endif *skippable = 1; // Keep track of the row and column of the blocks we use so that we know // if we are in the unrestricted motion border. -- 2.40.0