shithub: libvpx

Download patch

ref: 97ec6291ee97c20d7c6168b3e82b2a5db9019ebd
parent: 755fb3d4ec69dc6087113de292cfb409776c511d
author: Jerome Jiang <jianj@google.com>
date: Fri Nov 18 12:11:59 EST 2016

Change C/MSA post proc to match SSE2.

BUG=webm:1321

Change-Id: I719023375dc48cf7d8ed72188853f0f1ccc4ad7f

--- a/test/pp_filter_test.cc
+++ b/test/pp_filter_test.cc
@@ -177,7 +177,7 @@
   delete[] expected_output;
 }
 
-TEST_P(VpxMbPostProcAcrossIpTest, DISABLED_CheckMediumFilterOutput) {
+TEST_P(VpxMbPostProcAcrossIpTest, CheckMediumFilterOutput) {
   const int rows = 16;
   const int cols = 16;
   const int src_left_padding = 8;
@@ -227,7 +227,7 @@
   delete[] src;
 }
 
-TEST_P(VpxMbPostProcAcrossIpTest, DISABLED_CheckCvsAssembly) {
+TEST_P(VpxMbPostProcAcrossIpTest, CheckCvsAssembly) {
   const int rows = 16;
   const int cols = 16;
   const int src_left_padding = 8;
@@ -379,7 +379,7 @@
   delete[] c_mem;
 }
 
-TEST_P(VpxMbPostProcDownTest, DISABLED_CheckMediumFilterOutput) {
+TEST_P(VpxMbPostProcDownTest, CheckMediumFilterOutput) {
   const int rows = 16;
   const int cols = 16;
   const int src_pitch = cols;
@@ -441,7 +441,7 @@
   delete[] expected_output;
 }
 
-TEST_P(VpxMbPostProcDownTest, DISABLED_CheckCvsAssembly) {
+TEST_P(VpxMbPostProcDownTest, CheckCvsAssembly) {
   const int rows = 16;
   const int cols = 16;
   const int src_pitch = cols;
--- a/vpx_dsp/deblock.c
+++ b/vpx_dsp/deblock.c
@@ -117,7 +117,7 @@
   unsigned char d[16];
 
   for (r = 0; r < rows; r++) {
-    int sumsq = 0;
+    int sumsq = 16;
     int sum = 0;
 
     for (i = -8; i < 0; i++) s[i] = s[0];
--- a/vpx_dsp/mips/deblock_msa.c
+++ b/vpx_dsp/mips/deblock_msa.c
@@ -459,7 +459,7 @@
 
   flimit_vec = __msa_fill_w(flimit);
   for (row = rows; row--;) {
-    int32_t sum_sq = 0;
+    int32_t sum_sq;
     int32_t sum = 0;
     src0 = (v16u8)__msa_fill_b(src_dup[0]);
     ST8x1_UB(src0, (src_dup - 8));
@@ -474,7 +474,7 @@
     ILVRL_B2_UH(zero, src, src_r_h, src_l_h);
     src_r_w = __msa_dotp_u_w(src_r_h, src_r_h);
     src_r_w += __msa_dotp_u_w(src_l_h, src_l_h);
-    sum_sq = HADD_SW_S32(src_r_w);
+    sum_sq = HADD_SW_S32(src_r_w) + 16;
     sum_h = __msa_hadd_u_h(src, src);
     sum = HADD_UH_U32(sum_h);
     {