summaryrefslogtreecommitdiff
path: root/vp8/encoder/x86/x86_csystemdependent.c
diff options
context:
space:
mode:
authorScott LaVarnway <slavarnway@google.com>2010-11-02 06:27:29 -0700
committerCode Review <code-review@webmproject.org>2010-11-02 06:27:29 -0700
commitb8f43aec66ed451a19962602fb6c19d6fc8454d6 (patch)
tree918593908c3c1b8b448a53b5f7c72ce593353a9a /vp8/encoder/x86/x86_csystemdependent.c
parent90c505f2183be98d19fa106fb7164cd1708b45e1 (diff)
parentff4a71f4c20b7b2047d17872747aed6e98586b13 (diff)
downloadlibvpx-b8f43aec66ed451a19962602fb6c19d6fc8454d6.tar
libvpx-b8f43aec66ed451a19962602fb6c19d6fc8454d6.tar.gz
libvpx-b8f43aec66ed451a19962602fb6c19d6fc8454d6.tar.bz2
libvpx-b8f43aec66ed451a19962602fb6c19d6fc8454d6.zip
Merge "SSSE3 version of fast quantizer"
Diffstat (limited to 'vp8/encoder/x86/x86_csystemdependent.c')
-rw-r--r--vp8/encoder/x86/x86_csystemdependent.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/vp8/encoder/x86/x86_csystemdependent.c b/vp8/encoder/x86/x86_csystemdependent.c
index ed0e71ed0..fb1b37ccb 100644
--- a/vp8/encoder/x86/x86_csystemdependent.c
+++ b/vp8/encoder/x86/x86_csystemdependent.c
@@ -179,6 +179,25 @@ void vp8_subtract_b_sse2(BLOCK *be, BLOCKD *bd, int pitch)
#endif
+#if HAVE_SSSE3
+int vp8_fast_quantize_b_impl_ssse3(short *coeff_ptr,
+ short *qcoeff_ptr, short *dequant_ptr,
+ short *round_ptr,
+ short *quant_ptr, short *dqcoeff_ptr);
+void vp8_fast_quantize_b_ssse3(BLOCK *b, BLOCKD *d)
+{
+ d->eob = vp8_fast_quantize_b_impl_ssse3(
+ b->coeff,
+ d->qcoeff,
+ d->dequant,
+ b->round,
+ b->quant,
+ d->dqcoeff
+ );
+}
+#endif
+
+
void vp8_arch_x86_encoder_init(VP8_COMP *cpi)
{
#if CONFIG_RUNTIME_CPU_DETECT
@@ -333,6 +352,9 @@ void vp8_arch_x86_encoder_init(VP8_COMP *cpi)
{
cpi->rtcd.variance.sad16x16x3 = vp8_sad16x16x3_ssse3;
cpi->rtcd.variance.sad16x8x3 = vp8_sad16x8x3_ssse3;
+
+ cpi->rtcd.quantize.fastquantb = vp8_fast_quantize_b_ssse3;
+
}
#endif