shithub: libvpx

Download patch

ref: 1799f2f81dc0da5359139ff4375fbe29772f0e37
parent: 5b4805d6e9161d4fe28879bc5e5eaff8a2da89c0
author: Ronald S. Bultje <[email protected]>
date: Fri Oct 2 11:07:04 EDT 2015

vp10: remove ref-MV-dependent use of HP.

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

--- a/configure
+++ b/configure
@@ -265,6 +265,7 @@
     fp_mb_stats
     emulate_hardware
     misc_fixes
+    universal_hp
 "
 CONFIG_LIST="
     dependency_tracking
--- a/vp10/common/entropymv.c
+++ b/vp10/common/entropymv.c
@@ -128,8 +128,12 @@
 }
 
 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,