vp10: remove ref-MV-dependent use of HP.
authorRonald S. Bultje <rsbultje@gmail.com>
Fri, 2 Oct 2015 19:07:04 +0000 (15:07 -0400)
committerRonald S. Bultje <rsbultje@gmail.com>
Mon, 12 Oct 2015 18:45:18 +0000 (14:45 -0400)
This change (in a new config experiment: universal_hp) removes the
bitstream parsing dependency of the HP MV bit on the ref MV to be
coded. It also cleans up clearing of the HP bit in near/nearestMV,
since HP is always on if it's set in the frame header.

This admittedly doesn't clean up the crap that could be cleaned up,
but that's mostly because I think this needs some careful review;
not so much for coding style, but more from hardware people and from
the codec team on what we/you want. It would also be nice to get some
actual numbers on the real quality impact of this change. If, for
example, hardware people come up and tell us they don't actually care
anymore, we should probably just this code as-is and do nothing (i.e.
discard this patch).

See issue 1036.

Change-Id: Ic9b106f34422aa0f79de0c28125b72d566bd511a

configure
vp10/common/entropymv.c

index a40f3ab..beedbdd 100755 (executable)
--- a/configure
+++ b/configure
@@ -265,6 +265,7 @@ EXPERIMENT_LIST="
     fp_mb_stats
     emulate_hardware
     misc_fixes
+    universal_hp
 "
 CONFIG_LIST="
     dependency_tracking
index 6b99606..2ef08a6 100644 (file)
@@ -128,8 +128,12 @@ MV_CLASS_TYPE vp10_get_mv_class(int z, int *offset) {
 }
 
 int vp10_use_mv_hp(const MV *ref) {
+#if CONFIG_UNIVERSAL_HP
+  return 1;
+#else
   return (abs(ref->row) >> 3) < COMPANDED_MVREF_THRESH &&
          (abs(ref->col) >> 3) < COMPANDED_MVREF_THRESH;
+#endif
 }
 
 static void inc_mv_component(int v, nmv_component_counts *comp_counts,