]> granicus.if.org Git - libvpx/commitdiff
Use 16 bit ints in Hadamard highbd col8 first pass
authorsdeng <sdeng@google.com>
Thu, 29 Nov 2018 23:20:35 +0000 (15:20 -0800)
committersdeng <sdeng@google.com>
Thu, 29 Nov 2018 23:22:46 +0000 (15:22 -0800)
Change-Id: I2f04937d8a4e171d42b25ee6c6555ccad29eb192

vpx_dsp/avg.c

index 7ab98eab2504b15fde4b318d2bfedf03a81f1219..41a6fd828f18ade03fe5c63733ffa00e3e050ede 100644 (file)
@@ -37,7 +37,7 @@ unsigned int vpx_avg_4x4_c(const uint8_t *s, int p) {
 // coeff: 16 bit
 static void hadamard_highbd_col8_first_pass(const int16_t *src_diff,
                                             ptrdiff_t src_stride,
-                                            int32_t *coeff) {
+                                            int16_t *coeff) {
   int16_t b0 = src_diff[0 * src_stride] + src_diff[1 * src_stride];
   int16_t b1 = src_diff[0 * src_stride] - src_diff[1 * src_stride];
   int16_t b2 = src_diff[2 * src_stride] + src_diff[3 * src_stride];
@@ -68,7 +68,7 @@ static void hadamard_highbd_col8_first_pass(const int16_t *src_diff,
 
 // src_diff: 16 bit, dynamic range [-32760, 32760]
 // coeff: 19 bit
-static void hadamard_highbd_col8_second_pass(const int32_t *src_diff,
+static void hadamard_highbd_col8_second_pass(const int16_t *src_diff,
                                              ptrdiff_t src_stride,
                                              int32_t *coeff) {
   int32_t b0 = src_diff[0 * src_stride] + src_diff[1 * src_stride];
@@ -104,9 +104,9 @@ static void hadamard_highbd_col8_second_pass(const int32_t *src_diff,
 void vpx_highbd_hadamard_8x8_c(const int16_t *src_diff, ptrdiff_t src_stride,
                                tran_low_t *coeff) {
   int idx;
-  int32_t buffer[64];
+  int16_t buffer[64];
   int32_t buffer2[64];
-  int32_t *tmp_buf = &buffer[0];
+  int16_t *tmp_buf = &buffer[0];
   for (idx = 0; idx < 8; ++idx) {
     // src_diff: 13 bit
     // buffer: 16 bit, dynamic range [-32760, 32760]