Bug fix: fadst4() in vp9/encoder/vp9_dct.c
authorLinfeng Zhang <linfengz@google.com>
Wed, 20 Sep 2017 16:18:04 +0000 (09:18 -0700)
committerLinfeng Zhang <linfengz@google.com>
Wed, 20 Sep 2017 19:27:29 +0000 (12:27 -0700)
A new bug was introduced in a80bdfd "Change sinpi_{1,2,3,4}_9 from
tran_high_t to int16_t". Reverted the change in this file.

BUG=webm:1450

Failed test C/TransHT.AccuracyCheck/26.

Change-Id: Id001f57aad811803ef7d367d2b2bc008d8499991

vp9/encoder/vp9_dct.c

index 2b7eec1..5c66562 100644 (file)
@@ -246,14 +246,13 @@ static void fadst4(const tran_low_t *input, tran_low_t *output) {
     return;
   }
 
-  // 32-bit result is enough for the following multiplications.
-  s0 = sinpi_1_9 * input[0];
-  s1 = sinpi_4_9 * input[0];
-  s2 = sinpi_2_9 * input[1];
-  s3 = sinpi_1_9 * input[1];
-  s4 = sinpi_3_9 * input[2];
-  s5 = sinpi_4_9 * input[3];
-  s6 = sinpi_2_9 * input[3];
+  s0 = sinpi_1_9 * x0;
+  s1 = sinpi_4_9 * x0;
+  s2 = sinpi_2_9 * x1;
+  s3 = sinpi_1_9 * x1;
+  s4 = sinpi_3_9 * x2;
+  s5 = sinpi_4_9 * x3;
+  s6 = sinpi_2_9 * x3;
   s7 = x0 + x1 - x3;
 
   x0 = s0 + s2 + s5;