Change C and msa to match results from sse2.
Re-enable the tests to check CvsAssembly. BUG=webm:1321 Change-Id: Id7f7d74b06c469fb6c8f5d04e91359e9cd9097a6
This commit is contained in:
@@ -272,7 +272,7 @@ TEST_P(VpxMbPostProcDownTest, CheckFilterOutput) {
|
|||||||
delete[] c_mem;
|
delete[] c_mem;
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(VpxMbPostProcDownTest, DISABLED_CheckCvsAssembly) {
|
TEST_P(VpxMbPostProcDownTest, CheckCvsAssembly) {
|
||||||
const int rows = 16;
|
const int rows = 16;
|
||||||
const int cols = 16;
|
const int cols = 16;
|
||||||
const int src_pitch = cols;
|
const int src_pitch = cols;
|
||||||
@@ -308,6 +308,10 @@ INSTANTIATE_TEST_CASE_P(
|
|||||||
|
|
||||||
INSTANTIATE_TEST_CASE_P(C, VpxMbPostProcAcrossIpTest,
|
INSTANTIATE_TEST_CASE_P(C, VpxMbPostProcAcrossIpTest,
|
||||||
::testing::Values(vpx_mbpost_proc_across_ip_c));
|
::testing::Values(vpx_mbpost_proc_across_ip_c));
|
||||||
|
|
||||||
|
INSTANTIATE_TEST_CASE_P(C, VpxMbPostProcDownTest,
|
||||||
|
::testing::Values(vpx_mbpost_proc_down_c));
|
||||||
|
|
||||||
#if HAVE_SSE2
|
#if HAVE_SSE2
|
||||||
INSTANTIATE_TEST_CASE_P(
|
INSTANTIATE_TEST_CASE_P(
|
||||||
SSE2, VpxPostProcDownAndAcrossMbRowTest,
|
SSE2, VpxPostProcDownAndAcrossMbRowTest,
|
||||||
@@ -327,6 +331,9 @@ INSTANTIATE_TEST_CASE_P(
|
|||||||
|
|
||||||
INSTANTIATE_TEST_CASE_P(MSA, VpxMbPostProcAcrossIpTest,
|
INSTANTIATE_TEST_CASE_P(MSA, VpxMbPostProcAcrossIpTest,
|
||||||
::testing::Values(vpx_mbpost_proc_across_ip_msa));
|
::testing::Values(vpx_mbpost_proc_across_ip_msa));
|
||||||
|
|
||||||
|
INSTANTIATE_TEST_CASE_P(MSA, VpxMbPostProcDownTest,
|
||||||
|
::testing::Values(vpx_mbpost_proc_down_msa));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
@@ -156,14 +156,12 @@ void vpx_mbpost_proc_across_ip_c(unsigned char *src, int pitch, int rows,
|
|||||||
void vpx_mbpost_proc_down_c(unsigned char *dst, int pitch, int rows, int cols,
|
void vpx_mbpost_proc_down_c(unsigned char *dst, int pitch, int rows, int cols,
|
||||||
int flimit) {
|
int flimit) {
|
||||||
int r, c, i;
|
int r, c, i;
|
||||||
const int16_t *rv3 = &vpx_rv[63 & rand()];
|
|
||||||
|
|
||||||
for (c = 0; c < cols; c++) {
|
for (c = 0; c < cols; c++) {
|
||||||
unsigned char *s = &dst[c];
|
unsigned char *s = &dst[c];
|
||||||
int sumsq = 0;
|
int sumsq = 0;
|
||||||
int sum = 0;
|
int sum = 0;
|
||||||
unsigned char d[16];
|
unsigned char d[16];
|
||||||
const int16_t *rv2 = rv3 + ((c * 17) & 127);
|
|
||||||
|
|
||||||
for (i = -8; i < 0; i++) s[i * pitch] = s[0];
|
for (i = -8; i < 0; i++) s[i * pitch] = s[0];
|
||||||
|
|
||||||
@@ -183,7 +181,7 @@ void vpx_mbpost_proc_down_c(unsigned char *dst, int pitch, int rows, int cols,
|
|||||||
d[r & 15] = s[0];
|
d[r & 15] = s[0];
|
||||||
|
|
||||||
if (sumsq * 15 - sum * sum < flimit) {
|
if (sumsq * 15 - sum * sum < flimit) {
|
||||||
d[r & 15] = (rv2[r & 127] + sum + s[0]) >> 4;
|
d[r & 15] = (vpx_rv[(r & 127) + (c & 7)] + sum + s[0]) >> 4;
|
||||||
}
|
}
|
||||||
if (r >= 8) s[-8 * pitch] = d[(r - 8) & 15];
|
if (r >= 8) s[-8 * pitch] = d[(r - 8) & 15];
|
||||||
s += pitch;
|
s += pitch;
|
||||||
|
|||||||
@@ -573,7 +573,6 @@ void vpx_mbpost_proc_across_ip_msa(uint8_t *src_ptr, int32_t pitch,
|
|||||||
void vpx_mbpost_proc_down_msa(uint8_t *dst_ptr, int32_t pitch, int32_t rows,
|
void vpx_mbpost_proc_down_msa(uint8_t *dst_ptr, int32_t pitch, int32_t rows,
|
||||||
int32_t cols, int32_t flimit) {
|
int32_t cols, int32_t flimit) {
|
||||||
int32_t row, col, cnt, i;
|
int32_t row, col, cnt, i;
|
||||||
const int16_t *rv3 = &vpx_rv[63 & rand()];
|
|
||||||
v4i32 flimit_vec;
|
v4i32 flimit_vec;
|
||||||
v16u8 dst7, dst8, dst_r_b, dst_l_b;
|
v16u8 dst7, dst8, dst_r_b, dst_l_b;
|
||||||
v16i8 mask;
|
v16i8 mask;
|
||||||
@@ -601,7 +600,7 @@ void vpx_mbpost_proc_down_msa(uint8_t *dst_ptr, int32_t pitch, int32_t rows,
|
|||||||
|
|
||||||
dst = LD_UB(dst_tmp);
|
dst = LD_UB(dst_tmp);
|
||||||
for (cnt = (col << 4), i = 0; i < 16; ++cnt) {
|
for (cnt = (col << 4), i = 0; i < 16; ++cnt) {
|
||||||
rv2[i] = rv3 + ((cnt * 17) & 127);
|
rv2[i] = vpx_rv + (i & 7);
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
for (cnt = -8; cnt < 0; ++cnt) {
|
for (cnt = -8; cnt < 0; ++cnt) {
|
||||||
|
|||||||
Reference in New Issue
Block a user