shithub: libvpx

Download patch

ref: 07436abb86b3e2a981d563ecd628c1781004ebb7
parent: d56b3eb0cff6161413df9bf9ab259cf569d5dc3c
author: Jingning Han <[email protected]>
date: Mon Oct 27 08:03:47 EDT 2014

Use zero motion vector in choose_partitioning

The zero motion vector was effectively used in the subsampled pixel
based variance calculation. This commit makes it directly use zero
mv to generate prediction.

Change-Id: Ica83dc843e9f8da2f89c3ef451e50f16214c0def

--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -467,7 +467,6 @@
   int sp;
   int dp;
   int pixels_wide = 64, pixels_high = 64;
-  int_mv nearest_mv, near_mv;
   const YV12_BUFFER_CONFIG *yv12 = get_ref_frame_buffer(cpi, LAST_FRAME);
   const struct scale_factors *const sf = &cm->frame_refs[LAST_FRAME - 1].sf;
 
@@ -488,11 +487,7 @@
 
     xd->mi[0].src_mi->mbmi.ref_frame[0] = LAST_FRAME;
     xd->mi[0].src_mi->mbmi.sb_type = BLOCK_64X64;
-    vp9_find_best_ref_mvs(xd, cm->allow_high_precision_mv,
-                          xd->mi[0].src_mi->mbmi.ref_mvs[LAST_FRAME],
-                          &nearest_mv, &near_mv);
-
-    xd->mi[0].src_mi->mbmi.mv[0] = nearest_mv;
+    xd->mi[0].src_mi->mbmi.mv[0].as_int = 0;
     vp9_build_inter_predictors_sby(xd, mi_row, mi_col, BLOCK_64X64);
 
     d = xd->plane[0].dst.buf;