From: Yunqing Wang Date: Mon, 2 Jul 2012 21:47:47 +0000 (-0700) Subject: Fix subpixel_predict initialization X-Git-Tag: v1.2.0~152^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b29369856198c911a0e6a658d361936c178047d0;p=libvpx 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 --- diff --git a/vp8/encoder/firstpass.c b/vp8/encoder/firstpass.c index a6db5af28..f0d2d3807 100644 --- a/vp8/encoder/firstpass.c +++ b/vp8/encoder/firstpass.c @@ -545,6 +545,21 @@ void vp8_first_pass(VP8_COMP *cpi) 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);