rtc: Fix issues in aom_get_var_sse_sum_16x16_dual()
This patch fixes the size of sum16x16 array present in
aom_get_var_sse_sum_16x16_dual_c() function. Furthermore,
this patch also fixes the array size used in unit test of
aom_get_var_sse_sum_8x8_quad() function for of sse, var
and sum.
Change-Id: Ia69cf34d67c565e93d3ce5620514621dde4a39d2
diff --git a/aom_dsp/variance.c b/aom_dsp/variance.c
index f72feea..7b28844 100644
--- a/aom_dsp/variance.c
+++ b/aom_dsp/variance.c
@@ -231,7 +231,7 @@
const uint8_t *ref_ptr, int ref_stride,
uint32_t *sse16x16, unsigned int *tot_sse,
int *tot_sum, uint32_t *var16x16) {
- int sum16x16[64] = { 0 };
+ int sum16x16[2] = { 0 };
// Loop over two consecutive 16x16 blocks and process as one 16x32 block.
for (int k = 0; k < 2; k++) {
variance(src_ptr + (k * 16), source_stride, ref_ptr + (k * 16), ref_stride,
diff --git a/test/variance_test.cc b/test/variance_test.cc
index 25b8c8d..6b7fd13 100644
--- a/test/variance_test.cc
+++ b/test/variance_test.cc
@@ -976,12 +976,12 @@
ref_[j] = rnd_.Rand8();
}
- unsigned int sse1 = 0;
- unsigned int sse2 = 0;
- unsigned int var1 = 0;
- unsigned int var2 = 0;
- int sum1 = 0;
- int sum2 = 0;
+ unsigned int sse1[4] = { 0 };
+ unsigned int sse2[4] = { 0 };
+ unsigned int var1[4] = { 0 };
+ unsigned int var2[4] = { 0 };
+ int sum1[4] = { 0 };
+ int sum2[4] = { 0 };
unsigned int sse_tot_c = 0;
unsigned int sse_tot_simd = 0;
int sum_tot_c = 0;
@@ -994,8 +994,8 @@
for (int i = 0; i < height(); i += 8) {
for (int j = 0; j < width(); j += 32) {
aom_get_var_sse_sum_8x8_quad_c(src_ + stride * i + j, stride,
- ref_ + stride * i + j, stride, &sse2,
- &sum2, &sse_tot_c, &sum_tot_c, &var2);
+ ref_ + stride * i + j, stride, sse2,
+ sum2, &sse_tot_c, &sum_tot_c, var2);
}
}
}
@@ -1008,7 +1008,7 @@
for (int i = 0; i < height(); i += 8) {
for (int j = 0; j < width(); j += 32) {
params_.func(src_ + stride * i + j, stride, ref_ + stride * i + j,
- stride, &sse1, &sum1, &sse_tot_simd, &sum_tot_simd, &var1);
+ stride, sse1, sum1, &sse_tot_simd, &sum_tot_simd, var1);
}
}
}