summaryrefslogtreecommitdiff
path: root/vp8/encoder/x86/x86_csystemdependent.c
diff options
context:
space:
mode:
authorFritz Koenig <frkoenig@google.com>2011-08-22 11:31:12 -0700
committerCode Review <code-review@webmproject.org>2011-08-22 11:31:12 -0700
commit734b1b2041a209ace033481c0fc919164177a3fc (patch)
treeeffd257932a085b5eaa80e27d14ec05cc76af4b4 /vp8/encoder/x86/x86_csystemdependent.c
parent01376858cd184d820ff4c2d8390361a8679c0e87 (diff)
downloadlibvpx-734b1b2041a209ace033481c0fc919164177a3fc.tar
libvpx-734b1b2041a209ace033481c0fc919164177a3fc.tar.gz
libvpx-734b1b2041a209ace033481c0fc919164177a3fc.tar.bz2
libvpx-734b1b2041a209ace033481c0fc919164177a3fc.zip
Revert "Reclasify optimized ssim calculations as SSE2."
This reverts commit 01376858cd184d820ff4c2d8390361a8679c0e87
Diffstat (limited to 'vp8/encoder/x86/x86_csystemdependent.c')
-rw-r--r--vp8/encoder/x86/x86_csystemdependent.c38
1 files changed, 31 insertions, 7 deletions
diff --git a/vp8/encoder/x86/x86_csystemdependent.c b/vp8/encoder/x86/x86_csystemdependent.c
index 36b7b7194..badb9f044 100644
--- a/vp8/encoder/x86/x86_csystemdependent.c
+++ b/vp8/encoder/x86/x86_csystemdependent.c
@@ -111,6 +111,29 @@ void vp8_subtract_b_sse2(BLOCK *be, BLOCKD *bd, int pitch)
#endif
+#if HAVE_SSSE3
+#if CONFIG_INTERNAL_STATS
+#if ARCH_X86_64
+typedef void ssimpf
+(
+ unsigned char *s,
+ int sp,
+ unsigned char *r,
+ int rp,
+ unsigned long *sum_s,
+ unsigned long *sum_r,
+ unsigned long *sum_sq_s,
+ unsigned long *sum_sq_r,
+ unsigned long *sum_sxr
+);
+
+extern ssimpf vp8_ssim_parms_16x16_sse3;
+extern ssimpf vp8_ssim_parms_8x8_sse3;
+#endif
+#endif
+#endif
+
+
void vp8_arch_x86_encoder_init(VP8_COMP *cpi)
{
#if CONFIG_RUNTIME_CPU_DETECT
@@ -223,13 +246,6 @@ void vp8_arch_x86_encoder_init(VP8_COMP *cpi)
#if !(CONFIG_REALTIME_ONLY)
cpi->rtcd.temporal.apply = vp8_temporal_filter_apply_sse2;
#endif
-
-#if CONFIG_INTERNAL_STATS
-#if ARCH_X86_64
- cpi->rtcd.variance.ssimpf_8x8 = vp8_ssim_parms_8x8_sse2;
- cpi->rtcd.variance.ssimpf_16x16 = vp8_ssim_parms_16x16_sse2;
-#endif
-#endif
}
#endif
@@ -264,6 +280,14 @@ void vp8_arch_x86_encoder_init(VP8_COMP *cpi)
cpi->rtcd.variance.subpixvar16x16 = vp8_sub_pixel_variance16x16_ssse3;
cpi->rtcd.quantize.fastquantb = vp8_fast_quantize_b_ssse3;
+
+#if CONFIG_INTERNAL_STATS
+#if ARCH_X86_64
+ cpi->rtcd.variance.ssimpf_8x8 = vp8_ssim_parms_8x8_sse3;
+ cpi->rtcd.variance.ssimpf = vp8_ssim_parms_16x16_sse3;
+#endif
+#endif
+
}
#endif