shithub: libvpx

Download patch

ref: 23d1c06268e884ee65d3d67943c62c26a7e369b7
parent: 87b2495f952b86709c673d923d6f60dfe5df852d
author: Scott LaVarnway <[email protected]>
date: Mon Oct 5 02:33:42 EDT 2015

VPX: refactor vpx_idct32x32_1_add_sse2()

Change-Id: Ia1a2cac0e9dc05f3207b3433a6c1589fa7f2aee3

--- a/vpx_dsp/x86/inv_txfm_sse2.c
+++ b/vpx_dsp/x86/inv_txfm_sse2.c
@@ -3474,7 +3474,7 @@
                               int stride) {
   __m128i dc_value;
   const __m128i zero = _mm_setzero_si128();
-  int a, i;
+  int a, j;
 
   a = dct_const_round_shift(input[0] * cospi_16_64);
   a = dct_const_round_shift(a * cospi_16_64);
@@ -3482,12 +3482,11 @@
 
   dc_value = _mm_set1_epi16(a);
 
-  for (i = 0; i < 4; ++i) {
-    int j;
-    for (j = 0; j < 32; ++j) {
-      RECON_AND_STORE(dest + j * stride, dc_value);
-    }
-    dest += 8;
+  for (j = 0; j < 32; ++j) {
+    RECON_AND_STORE(dest +  0 + j * stride, dc_value);
+    RECON_AND_STORE(dest +  8 + j * stride, dc_value);
+    RECON_AND_STORE(dest + 16 + j * stride, dc_value);
+    RECON_AND_STORE(dest + 24 + j * stride, dc_value);
   }
 }