summaryrefslogtreecommitdiff
path: root/vp9/encoder
diff options
context:
space:
mode:
authorLuc Trudeau <luc@trud.ca>2018-06-27 16:09:48 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-06-27 16:09:48 +0000
commit244b16685f9dbfd91efce49d13def58c94d43826 (patch)
tree4be530a60738abebd6aab92b445156cc2772dace /vp9/encoder
parentf7b368dc5a41d5be020d6b738142256b8725c786 (diff)
parentb0adbb6c22f514ac66ef32ee1265983a52eb2934 (diff)
downloadlibvpx-244b16685f9dbfd91efce49d13def58c94d43826.tar
libvpx-244b16685f9dbfd91efce49d13def58c94d43826.tar.gz
libvpx-244b16685f9dbfd91efce49d13def58c94d43826.tar.bz2
libvpx-244b16685f9dbfd91efce49d13def58c94d43826.zip
Merge changes Ic2183e8b,If906ec9b
* changes: [VSX] Replace vec_pack and vec_perm with single vec_perm VSX Version of fdct32x32_rd
Diffstat (limited to 'vp9/encoder')
-rw-r--r--vp9/encoder/ppc/vp9_quantize_vsx.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/vp9/encoder/ppc/vp9_quantize_vsx.c b/vp9/encoder/ppc/vp9_quantize_vsx.c
index f6fdb55a6..3720b0876 100644
--- a/vp9/encoder/ppc/vp9_quantize_vsx.c
+++ b/vp9/encoder/ppc/vp9_quantize_vsx.c
@@ -154,7 +154,6 @@ static INLINE int32x4_t vec_is_neg(int32x4_t a) {
// vec_mladd results in overflow.
static INLINE int16x8_t dequantize_coeff_32(int16x8_t qcoeff,
int16x8_t dequant) {
- int16x8_t dqcoeff;
int32x4_t dqcoeffe = vec_mule(qcoeff, dequant);
int32x4_t dqcoeffo = vec_mulo(qcoeff, dequant);
// Add 1 if negative to round towards zero because the C uses division.
@@ -162,8 +161,7 @@ static INLINE int16x8_t dequantize_coeff_32(int16x8_t qcoeff,
dqcoeffo = vec_add(dqcoeffo, vec_is_neg(dqcoeffo));
dqcoeffe = vec_sra(dqcoeffe, vec_ones_u32);
dqcoeffo = vec_sra(dqcoeffo, vec_ones_u32);
- dqcoeff = vec_pack(dqcoeffe, dqcoeffo);
- return vec_perm(dqcoeff, dqcoeff, vec_perm_merge);
+ return (int16x8_t)vec_perm(dqcoeffe, dqcoeffo, vec_perm_odd_even_pack);
}
void vp9_quantize_fp_32x32_vsx(const tran_low_t *coeff_ptr, intptr_t n_coeffs,