shithub: libvpx

Download patch

ref: e5647d68263223c57645450304497025e3543bfd
parent: 6e706ed783762c432befc7db01052bbf8e7be9b0
author: Martin Storsjo <[email protected]>
date: Wed Jan 22 06:13:11 EST 2014

arm: Use vreinterpret instead of a plain cast for converting between neon vector types

This fixes building with MSVC for arm.

Change-Id: Iffae0408e0c68760e87e96b9e17d9df8e8cadb1a

--- a/vp8/encoder/arm/neon/denoising_neon.c
+++ b/vp8/encoder/arm/neon/denoising_neon.c
@@ -119,8 +119,10 @@
                                                      v_abs_adjustment);
         v_running_avg_y = vqaddq_u8(v_sig, v_pos_adjustment);
         v_running_avg_y = vqsubq_u8(v_running_avg_y, v_neg_adjustment);
-        v_sum_diff = vqaddq_s8(v_sum_diff, (int8x16_t)v_pos_adjustment);
-        v_sum_diff = vqsubq_s8(v_sum_diff, (int8x16_t)v_neg_adjustment);
+        v_sum_diff = vqaddq_s8(v_sum_diff,
+                               vreinterpretq_s8_u8(v_pos_adjustment));
+        v_sum_diff = vqsubq_s8(v_sum_diff,
+                               vreinterpretq_s8_u8(v_neg_adjustment));
 
         /* Store results. */
         vst1q_u8(running_avg_y, v_running_avg_y);