shithub: libvpx

Download patch

ref: b29369856198c911a0e6a658d361936c178047d0
parent: e2c5e78ad929d4a6f91895505425b00c5736bd16
author: Yunqing Wang <yunqingwang@google.com>
date: Mon Jul 2 10:47:47 EDT 2012

Fix subpixel_predict initialization

xd->subpixel_predict16x16 is called in first pass, but isn't
initialized in first pass, which causes segfault. This patch
fixed that problem.

Change-Id: Ibd2cad4e2d32ea589fc3e0876d60d3079ae836e7

--- a/vp8/encoder/firstpass.c
+++ b/vp8/encoder/firstpass.c
@@ -545,6 +545,21 @@
 
     xd->mode_info_context = cm->mi;
 
+    if(!cm->use_bilinear_mc_filter)
+    {
+         xd->subpixel_predict        = vp8_sixtap_predict4x4;
+         xd->subpixel_predict8x4     = vp8_sixtap_predict8x4;
+         xd->subpixel_predict8x8     = vp8_sixtap_predict8x8;
+         xd->subpixel_predict16x16   = vp8_sixtap_predict16x16;
+     }
+     else
+     {
+         xd->subpixel_predict        = vp8_bilinear_predict4x4;
+         xd->subpixel_predict8x4     = vp8_bilinear_predict8x4;
+         xd->subpixel_predict8x8     = vp8_bilinear_predict8x8;
+         xd->subpixel_predict16x16   = vp8_bilinear_predict16x16;
+     }
+
     vp8_build_block_offsets(x);
 
     vp8_setup_block_dptrs(&x->e_mbd);