summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorLinfeng Zhang <linfengz@google.com>2017-06-23 16:04:27 -0700
committerLinfeng Zhang <linfengz@google.com>2017-06-26 13:38:33 -0700
commita76b6b232cb612c786f80823d371e1518ce0da64 (patch)
tree1dde0c7d5fcb9a0a8a79bd3d3b39ef9ca860de36 /vp9
parentf749905d0ad0c5dba4f85d8e003a4a317b9a98ec (diff)
downloadlibvpx-a76b6b232cb612c786f80823d371e1518ce0da64.tar
libvpx-a76b6b232cb612c786f80823d371e1518ce0da64.tar.gz
libvpx-a76b6b232cb612c786f80823d371e1518ce0da64.tar.bz2
libvpx-a76b6b232cb612c786f80823d371e1518ce0da64.zip
Update load_input_data() in x86
Split to load_input_data4() and load_input_data8(). Use pack with signed saturation instruction for high bitdepth. Change-Id: Icda3e0129a6fdb4a51d1cafbdc652ae3a65f4e06
Diffstat (limited to 'vp9')
-rw-r--r--vp9/common/x86/vp9_idct_intrin_sse2.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/vp9/common/x86/vp9_idct_intrin_sse2.c b/vp9/common/x86/vp9_idct_intrin_sse2.c
index 7e8089b51..7f0ddb0ec 100644
--- a/vp9/common/x86/vp9_idct_intrin_sse2.c
+++ b/vp9/common/x86/vp9_idct_intrin_sse2.c
@@ -18,8 +18,8 @@ void vp9_iht4x4_16_add_sse2(const tran_low_t *input, uint8_t *dest, int stride,
__m128i in[2];
const __m128i eight = _mm_set1_epi16(8);
- in[0] = load_input_data(input);
- in[1] = load_input_data(input + 8);
+ in[0] = load_input_data8(input);
+ in[1] = load_input_data8(input + 8);
switch (tx_type) {
case 0: // DCT_DCT
@@ -57,14 +57,14 @@ void vp9_iht8x8_64_add_sse2(const tran_low_t *input, uint8_t *dest, int stride,
const __m128i final_rounding = _mm_set1_epi16(1 << 4);
// load input data
- in[0] = load_input_data(input);
- in[1] = load_input_data(input + 8 * 1);
- in[2] = load_input_data(input + 8 * 2);
- in[3] = load_input_data(input + 8 * 3);
- in[4] = load_input_data(input + 8 * 4);
- in[5] = load_input_data(input + 8 * 5);
- in[6] = load_input_data(input + 8 * 6);
- in[7] = load_input_data(input + 8 * 7);
+ in[0] = load_input_data8(input);
+ in[1] = load_input_data8(input + 8 * 1);
+ in[2] = load_input_data8(input + 8 * 2);
+ in[3] = load_input_data8(input + 8 * 3);
+ in[4] = load_input_data8(input + 8 * 4);
+ in[5] = load_input_data8(input + 8 * 5);
+ in[6] = load_input_data8(input + 8 * 6);
+ in[7] = load_input_data8(input + 8 * 7);
switch (tx_type) {
case 0: // DCT_DCT