From ff2d69573ef31cf1b85c3425551538534f5029e2 Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Tue, 30 Apr 2013 17:34:02 -0700 Subject: [PATCH] Use more restrictive block radius for 8x8 block MV references. Change-Id: If02e006aa8a89da9de23da92362bd2e7718ea07c --- vp9/common/vp9_mvref_common.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/vp9/common/vp9_mvref_common.c b/vp9/common/vp9_mvref_common.c index b6ccb8bd9..7a7ebe64f 100644 --- a/vp9/common/vp9_mvref_common.c +++ b/vp9/common/vp9_mvref_common.c @@ -13,6 +13,11 @@ #define MVREF_NEIGHBOURS 8 #if CONFIG_SB8X8 +static int b_mv_ref_search[MVREF_NEIGHBOURS][2] = { + {0, -1}, {-1, 0}, {-1, -1}, {0, -2}, + {-2, 0}, {-1, -2}, {-2, -1}, {-2, -2} +}; + static int mb_mv_ref_search[MVREF_NEIGHBOURS][2] = { {0, -1}, {-1, 0}, {-1, -1}, {0, -3}, {-3, 0}, {-1, -3}, {-3, -1}, {-3, -3} @@ -185,8 +190,15 @@ void vp9_find_mv_refs(VP9_COMMON *cm, MACROBLOCKD *xd, MODE_INFO *here, mv_ref_search = sb64_mv_ref_search; } else if (mbmi->sb_type >= BLOCK_SIZE_SB32X32) { mv_ref_search = sb_mv_ref_search; +#if CONFIG_SB8X8 + } else if (mbmi->sb_type >= BLOCK_SIZE_MB16X16) { + mv_ref_search = mb_mv_ref_search; + } else { + mv_ref_search = b_mv_ref_search; +#else } else { mv_ref_search = mb_mv_ref_search; +#endif } // We first scan for candidate vectors that match the current reference frame -- 2.40.0