diff options
author | Scott LaVarnway <slavarnway@google.com> | 2010-08-11 13:49:00 -0400 |
---|---|---|
committer | Scott LaVarnway <slavarnway@google.com> | 2010-08-11 13:49:00 -0400 |
commit | b07e5b6fa1e9d6b873636a97f2638ddffd8a8e02 (patch) | |
tree | 1ca06433ccf951ccadf1df973ae92e74827dcb31 /vp8/common/x86/vp8_asm_stubs.c | |
parent | 99f46d62d95ffbbdc2a5aebc699a316457725682 (diff) | |
download | libvpx-b07e5b6fa1e9d6b873636a97f2638ddffd8a8e02.tar libvpx-b07e5b6fa1e9d6b873636a97f2638ddffd8a8e02.tar.gz libvpx-b07e5b6fa1e9d6b873636a97f2638ddffd8a8e02.tar.bz2 libvpx-b07e5b6fa1e9d6b873636a97f2638ddffd8a8e02.zip |
Finished vp8_sixtap_predict4x4_ssse3 function
Added vp8_filter_block1d4_h6_ssse3 and vp8_filter_block1d4_v6_ssse3
assembly routines. Also removed unused assembly.
Change-Id: I01c1021835f2edda9da706822345f217087ca0d0
Diffstat (limited to 'vp8/common/x86/vp8_asm_stubs.c')
-rw-r--r-- | vp8/common/x86/vp8_asm_stubs.c | 53 |
1 files changed, 38 insertions, 15 deletions
diff --git a/vp8/common/x86/vp8_asm_stubs.c b/vp8/common/x86/vp8_asm_stubs.c index 2c99cb64f..8b54b2327 100644 --- a/vp8/common/x86/vp8_asm_stubs.c +++ b/vp8/common/x86/vp8_asm_stubs.c @@ -402,6 +402,26 @@ extern void vp8_filter_block1d8_v6_ssse3 unsigned int vp8_filter_index ); +extern void vp8_filter_block1d4_h6_ssse3 +( + unsigned char *src_ptr, + unsigned int src_pixels_per_line, + unsigned char *output_ptr, + unsigned int output_pitch, + unsigned int output_height, + unsigned int vp8_filter_index +); + +extern void vp8_filter_block1d4_v6_ssse3 +( + unsigned char *src_ptr, + unsigned int src_pitch, + unsigned char *output_ptr, + unsigned int out_pitch, + unsigned int output_height, + unsigned int vp8_filter_index +); + void vp8_sixtap_predict16x16_ssse3 ( unsigned char *src_ptr, @@ -509,21 +529,24 @@ void vp8_sixtap_predict4x4_ssse3 int dst_pitch ) { - DECLARE_ALIGNED_ARRAY(16, unsigned char, FData2, 16*16); - - if (xoffset) - { - if (yoffset) - { - - } - else - { - } - } - else - { - } + DECLARE_ALIGNED_ARRAY(16, unsigned char, FData2, 4*9); + + if (xoffset) + { + if (yoffset) + { + vp8_filter_block1d4_h6_ssse3(src_ptr - (2 * src_pixels_per_line), src_pixels_per_line, FData2, 4, 9, xoffset); + vp8_filter_block1d4_v6_ssse3(FData2, 4, dst_ptr, dst_pitch, 4, yoffset); + } + else + { + vp8_filter_block1d4_h6_ssse3(src_ptr, src_pixels_per_line, dst_ptr, dst_pitch, 4, xoffset); + } + } + else + { + vp8_filter_block1d4_v6_ssse3(src_ptr - (2 * src_pixels_per_line), src_pixels_per_line, dst_ptr, dst_pitch, 4, yoffset); + } } |