diff --git a/vp8/common/arm/neon/bilinearpredict_neon.c b/vp8/common/arm/neon/bilinearpredict_neon.c index e1c3c2be7..d77f2baf6 100644 --- a/vp8/common/arm/neon/bilinearpredict_neon.c +++ b/vp8/common/arm/neon/bilinearpredict_neon.c @@ -30,7 +30,6 @@ void vp8_bilinear_predict4x4_neon( int dst_pitch) { uint8x8_t d0u8, d1u8, d2u8, d3u8, d4u8, d5u8, d6u8; uint8x8_t d26u8, d27u8, d28u8, d29u8, d30u8; - uint32x2_t d28u32, d29u32, d30u32; uint8x16_t q1u8, q2u8; uint16x8_t q1u16, q2u16; uint16x8_t q7u16, q8u16, q9u16; @@ -39,6 +38,10 @@ void vp8_bilinear_predict4x4_neon( uint32x2x2_t d0u32x2, d1u32x2, d2u32x2, d3u32x2; if (xoffset == 0) { // skip_1stpass_filter + uint32x2_t d28u32 = vdup_n_u32(0); + uint32x2_t d29u32 = vdup_n_u32(0); + uint32x2_t d30u32 = vdup_n_u32(0); + d28u32 = vld1_lane_u32((const uint32_t *)src_ptr, d28u32, 0); src_ptr += src_pixels_per_line; d28u32 = vld1_lane_u32((const uint32_t *)src_ptr, d28u32, 1); diff --git a/vp8/common/arm/neon/sixtappredict_neon.c b/vp8/common/arm/neon/sixtappredict_neon.c index 7a4d9e051..aad6133f5 100644 --- a/vp8/common/arm/neon/sixtappredict_neon.c +++ b/vp8/common/arm/neon/sixtappredict_neon.c @@ -36,7 +36,6 @@ void vp8_sixtap_predict4x4_neon( uint8x8_t d0u8, d1u8, d2u8, d3u8, d4u8, d5u8, d18u8, d19u8, d20u8, d21u8; uint8x8_t d23u8, d24u8, d25u8, d26u8, d27u8, d28u8, d29u8, d30u8, d31u8; int8x8_t dtmps8, d0s8, d1s8, d2s8, d3s8, d4s8, d5s8; - uint32x2_t d27u32, d28u32, d29u32, d30u32, d31u32; uint16x8_t q3u16, q4u16, q5u16, q6u16, q7u16; uint16x8_t q8u16, q9u16, q10u16, q11u16, q12u16; int16x8_t q3s16, q4s16, q5s16, q6s16, q7s16; @@ -46,6 +45,12 @@ void vp8_sixtap_predict4x4_neon( uint32x2x2_t d0u32x2, d1u32x2; if (xoffset == 0) { // secondpass_filter4x4_only + uint32x2_t d27u32 = vdup_n_u32(0); + uint32x2_t d28u32 = vdup_n_u32(0); + uint32x2_t d29u32 = vdup_n_u32(0); + uint32x2_t d30u32 = vdup_n_u32(0); + uint32x2_t d31u32 = vdup_n_u32(0); + // load second_pass filter dtmps8 = vld1_s8(vp8_sub_pel_filters[yoffset]); d0s8 = vdup_lane_s8(dtmps8, 0);