diff options
author | Angie Chiang <angiebird@google.com> | 2019-01-31 15:01:06 -0800 |
---|---|---|
committer | Angie Chiang <angiebird@google.com> | 2019-01-31 15:01:06 -0800 |
commit | 2b6f7cb3f2b06aff3bd9f352509640951eb9e941 (patch) | |
tree | 3d5b83c301633bf861f2bfe9be320d5c2ce7a5a9 | |
parent | 9d86430ed5fd90971cffb2d060b329345fadb0ab (diff) | |
download | libvpx-2b6f7cb3f2b06aff3bd9f352509640951eb9e941.tar libvpx-2b6f7cb3f2b06aff3bd9f352509640951eb9e941.tar.gz libvpx-2b6f7cb3f2b06aff3bd9f352509640951eb9e941.tar.bz2 libvpx-2b6f7cb3f2b06aff3bd9f352509640951eb9e941.zip |
Add dist scale in get_mv_dist
Add MACRO VP9_DIST_SCALE_LOG2 represents distortion's log scale
Change-Id: Ic496a31e6d3f04626510f8c4661af464a002e361
-rw-r--r-- | vp9/encoder/vp9_encoder.c | 2 | ||||
-rw-r--r-- | vp9/encoder/vp9_rd.h | 3 | ||||
-rw-r--r-- | vp9/encoder/vp9_rdopt.c | 4 |
3 files changed, 6 insertions, 3 deletions
diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c index b8c86ea43..362077a6c 100644 --- a/vp9/encoder/vp9_encoder.c +++ b/vp9/encoder/vp9_encoder.c @@ -6146,7 +6146,7 @@ static double get_mv_dist(int mv_mode, VP9_COMP *cpi, MACROBLOCKD *xd, // TODO(angiebird): Consider subpixel when computing the sse. cpi->fn_ptr[bsize].vf(src.buf, src.stride, get_buf_from_mv(&pre, &full_mv), pre.stride, &sse); - return (double)sse; + return (double)(sse << VP9_DIST_SCALE_LOG2); } else { assert(0); return 0; diff --git a/vp9/encoder/vp9_rd.h b/vp9/encoder/vp9_rd.h index fa85f2176..062ca3277 100644 --- a/vp9/encoder/vp9_rd.h +++ b/vp9/encoder/vp9_rd.h @@ -42,6 +42,9 @@ extern "C" { #define RD_THRESH_MAX_FACT 64 #define RD_THRESH_INC 1 +#define VP9_DIST_SCALE_LOG2 4 +#define VP9_DIST_SCALE (1 << VP9_DIST_SCALE_LOG2) + // This enumerator type needs to be kept aligned with the mode order in // const MODE_DEFINITION vp9_mode_order[MAX_MODES] used in the rd code. typedef enum { diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index c1a079ff0..031401e1b 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -273,9 +273,9 @@ static void model_rd_for_sb(VP9_COMP *cpi, BLOCK_SIZE bsize, MACROBLOCK *x, } *skip_txfm_sb = skip_flag; - *skip_sse_sb = total_sse << 4; + *skip_sse_sb = total_sse << VP9_DIST_SCALE_LOG2; *out_rate_sum = (int)rate_sum; - *out_dist_sum = dist_sum << 4; + *out_dist_sum = dist_sum << VP9_DIST_SCALE_LOG2; } #if CONFIG_VP9_HIGHBITDEPTH |