diff options
author | Johann <johannkoenig@google.com> | 2017-02-16 11:12:31 -0800 |
---|---|---|
committer | Johann <johannkoenig@google.com> | 2017-02-16 12:39:02 -0800 |
commit | 21044546074fa2c8a00ada0391c33309518f0a4d (patch) | |
tree | d034795719ebe7f9b3e616bd64aa10a26816208b /vp9/encoder | |
parent | 0bf6b51572442cf6a8ee33a6011a34f1cc74a9dc (diff) | |
download | libvpx-21044546074fa2c8a00ada0391c33309518f0a4d.tar libvpx-21044546074fa2c8a00ada0391c33309518f0a4d.tar.gz libvpx-21044546074fa2c8a00ada0391c33309518f0a4d.tar.bz2 libvpx-21044546074fa2c8a00ada0391c33309518f0a4d.zip |
block error avx2: use tran_low_t
Change-Id: Ic5f3a1f569d6f82afeaf4fcd7235374bb460db3c
Diffstat (limited to 'vp9/encoder')
-rw-r--r-- | vp9/encoder/x86/vp9_error_intrin_avx2.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/vp9/encoder/x86/vp9_error_intrin_avx2.c b/vp9/encoder/x86/vp9_error_intrin_avx2.c index 453af2a40..e39027f25 100644 --- a/vp9/encoder/x86/vp9_error_intrin_avx2.c +++ b/vp9/encoder/x86/vp9_error_intrin_avx2.c @@ -12,8 +12,10 @@ #include "./vp9_rtcd.h" #include "vpx/vpx_integer.h" +#include "vpx_dsp/vpx_dsp_common.h" +#include "vpx_dsp/x86/bitdepth_conversion_avx2.h" -int64_t vp9_block_error_avx2(const int16_t *coeff, const int16_t *dqcoeff, +int64_t vp9_block_error_avx2(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz) { __m256i sse_reg, ssz_reg, coeff_reg, dqcoeff_reg; __m256i exp_dqcoeff_lo, exp_dqcoeff_hi, exp_coeff_lo, exp_coeff_hi; @@ -29,8 +31,8 @@ int64_t vp9_block_error_avx2(const int16_t *coeff, const int16_t *dqcoeff, for (i = 0; i < block_size; i += 16) { // load 32 bytes from coeff and dqcoeff - coeff_reg = _mm256_loadu_si256((const __m256i *)(coeff + i)); - dqcoeff_reg = _mm256_loadu_si256((const __m256i *)(dqcoeff + i)); + coeff_reg = load_tran_low(coeff + i); + dqcoeff_reg = load_tran_low(dqcoeff + i); // dqcoeff - coeff dqcoeff_reg = _mm256_sub_epi16(dqcoeff_reg, coeff_reg); // madd (dqcoeff - coeff) |