shithub: libvpx

Download patch

ref: eac33bb791197ed449853a7b89dbceffe519b71e
parent: c5edbfa92c5ec1ba15a42e93b14385807a48290d
parent: 07ab3c642ccf4e90c72741f865bdf28ff632ffbb
author: Sai Deng <sdeng@google.com>
date: Fri Nov 30 14:09:28 EST 2018

Merge "Use 16 bit ints in Hadamard highbd col8 first pass"

--- a/vpx_dsp/avg.c
+++ b/vpx_dsp/avg.c
@@ -37,7 +37,7 @@
 // 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 @@
 
 // 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 @@
 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]