diff options
author | Linfeng Zhang <linfengz@google.com> | 2017-06-23 16:04:27 -0700 |
---|---|---|
committer | Linfeng Zhang <linfengz@google.com> | 2017-06-26 13:38:33 -0700 |
commit | a76b6b232cb612c786f80823d371e1518ce0da64 (patch) | |
tree | 1dde0c7d5fcb9a0a8a79bd3d3b39ef9ca860de36 /vp9 | |
parent | f749905d0ad0c5dba4f85d8e003a4a317b9a98ec (diff) | |
download | libvpx-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.c | 20 |
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 |