summaryrefslogtreecommitdiff
path: root/vp8/common/x86/vp8_asm_stubs.c
diff options
context:
space:
mode:
authorScott LaVarnway <slavarnway@google.com>2010-08-11 13:49:00 -0400
committerScott LaVarnway <slavarnway@google.com>2010-08-11 13:49:00 -0400
commitb07e5b6fa1e9d6b873636a97f2638ddffd8a8e02 (patch)
tree1ca06433ccf951ccadf1df973ae92e74827dcb31 /vp8/common/x86/vp8_asm_stubs.c
parent99f46d62d95ffbbdc2a5aebc699a316457725682 (diff)
downloadlibvpx-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.c53
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);
+ }
}