Fixed the MSVC compiling error with correct cast
authorScott LaVarnway <slavarnway@google.com>
Tue, 23 Oct 2012 20:35:13 +0000 (13:35 -0700)
committerYaowu Xu <yaowu@google.com>
Tue, 23 Oct 2012 21:25:01 +0000 (14:25 -0700)
Change-Id: Ia904f4ec72500d29f1361ce305d8f3231e592f47

vp8/common/x86/loopfilter_x86.c

index 1fa8ed4..4d490a6 100644 (file)
@@ -335,7 +335,6 @@ static __inline void transpose(unsigned char *src[], int in_p,
                                int num_8x8_to_transpose) {
   int idx8x8 = 0;
   __m128i x0, x1, x2, x3, x4, x5, x6, x7;
-
   do {
     unsigned char *in = src[idx8x8];
     unsigned char *out = dst[idx8x8];
@@ -366,13 +365,13 @@ static __inline void transpose(unsigned char *src[], int in_p,
     x7 = _mm_unpackhi_epi32(x4, x5);
 
     _mm_storel_pd((double *)(out + 0*out_p),
-                  (__m128d)x6);  // 00 10 20 30 40 50 60 70
+                  _mm_castsi128_pd(x6));  // 00 10 20 30 40 50 60 70
     _mm_storeh_pd((double *)(out + 1*out_p),
-                  (__m128d)x6);  // 01 11 21 31 41 51 61 71
+                  _mm_castsi128_pd(x6));  // 01 11 21 31 41 51 61 71
     _mm_storel_pd((double *)(out + 2*out_p),
-                  (__m128d)x7);  // 02 12 22 32 42 52 62 72
+                  _mm_castsi128_pd(x7));  // 02 12 22 32 42 52 62 72
     _mm_storeh_pd((double *)(out + 3*out_p),
-                  (__m128d)x7);  // 03 13 23 33 43 53 63 73
+                  _mm_castsi128_pd(x7));  // 03 13 23 33 43 53 63 73
 
     // 04 14 24 34 05 15 25 35 06 16 26 36 07 17 27 37
     x4 = _mm_unpackhi_epi16(x0, x1);
@@ -384,13 +383,13 @@ static __inline void transpose(unsigned char *src[], int in_p,
     x7 = _mm_unpackhi_epi32(x4, x5);
 
     _mm_storel_pd((double *)(out + 4*out_p),
-                  (__m128d)x6);  // 04 14 24 34 44 54 64 74
+                  _mm_castsi128_pd(x6));  // 04 14 24 34 44 54 64 74
     _mm_storeh_pd((double *)(out + 5*out_p),
-                  (__m128d)x6);  // 05 15 25 35 45 55 65 75
+                  _mm_castsi128_pd(x6));  // 05 15 25 35 45 55 65 75
     _mm_storel_pd((double *)(out + 6*out_p),
-                  (__m128d)x7);  // 06 16 26 36 46 56 66 76
+                  _mm_castsi128_pd(x7));  // 06 16 26 36 46 56 66 76
     _mm_storeh_pd((double *)(out + 7*out_p),
-                  (__m128d)x7);  // 07 17 27 37 47 57 67 77
+                  _mm_castsi128_pd(x7));  // 07 17 27 37 47 57 67 77
   } while (++idx8x8 < num_8x8_to_transpose);
 }
 void vp8_mbloop_filter_vertical_edge_c_sse2