]> granicus.if.org Git - libvpx/commitdiff
fix vp9 fdct_quant
authorJohann <johannkoenig@google.com>
Mon, 7 Jan 2019 17:53:18 +0000 (09:53 -0800)
committerJohann <johannkoenig@google.com>
Mon, 7 Jan 2019 17:53:18 +0000 (09:53 -0800)
Values in [q]coeff1 were not correctly stored. This caused a segfault
in the sse2 libvpx__nightly_optimization jobs.

Broken in:
commit 85032bac388917916f7a149173db8b34e93e8f6e
Author: Johann <johannkoenig@google.com>
Date:   Fri Dec 21 00:27:00 2018 +0000

    fdct_quant: resolve missing declarations

BUG=webm:1584

Change-Id: I5f5fad34ec5e32023f5b40ff3691125754c11ced

vp9/encoder/x86/vp9_dct_intrin_sse2.c

index cae524e25afc060f276682d2843d3958ab06be9f..8426b94759d9e05190735eba922ef212d324c23e 100644 (file)
@@ -499,14 +499,14 @@ void vp9_fdct8x8_quant_sse2(const int16_t *input, int stride,
         qcoeff1 = _mm_sub_epi16(qcoeff1, coeff1_sign);
 
         store_tran_low(qcoeff0, qcoeff_ptr + n_coeffs);
-        store_tran_low(qcoeff0, qcoeff_ptr + n_coeffs + 8);
+        store_tran_low(qcoeff1, qcoeff_ptr + n_coeffs + 8);
 
         coeff0 = _mm_mullo_epi16(qcoeff0, dequant);
         dequant = _mm_unpackhi_epi64(dequant, dequant);
         coeff1 = _mm_mullo_epi16(qcoeff1, dequant);
 
         store_tran_low(coeff0, dqcoeff_ptr + n_coeffs);
-        store_tran_low(coeff0, dqcoeff_ptr + n_coeffs + 8);
+        store_tran_low(coeff1, dqcoeff_ptr + n_coeffs + 8);
       }
 
       {