summaryrefslogtreecommitdiff
path: root/vp9/common/vp9_idct.h
diff options
context:
space:
mode:
authorJingning Han <jingning@google.com>2014-05-28 10:51:09 -0700
committerJingning Han <jingning@google.com>2014-05-28 10:53:33 -0700
commit6d21cbd20b07dd66f60add80cadd330470f5f529 (patch)
tree13a13cb5bbf5bdd4c5c9b56736a18d31302e921c /vp9/common/vp9_idct.h
parent239e68ddbfa038e29b9e332503721d6bbae806c3 (diff)
downloadlibvpx-6d21cbd20b07dd66f60add80cadd330470f5f529.tar
libvpx-6d21cbd20b07dd66f60add80cadd330470f5f529.tar.gz
libvpx-6d21cbd20b07dd66f60add80cadd330470f5f529.tar.bz2
libvpx-6d21cbd20b07dd66f60add80cadd330470f5f529.zip
Enable SSSE3 inverse 2D-DCT with 10 non-zero coeffs
This commit enables SSSE3 implementation of the inverse 2D-DCT with only first 10 coefficients non-zero. It reduces the runtime of SSE2 version from 745 cycles to 538 cycles, i.e., 27% speed-up. Change-Id: I18ba4128859b09c704a6ee361d69a86c09fe8dfe
Diffstat (limited to 'vp9/common/vp9_idct.h')
-rw-r--r--vp9/common/vp9_idct.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/vp9/common/vp9_idct.h b/vp9/common/vp9_idct.h
index d86877622..3253bcbf4 100644
--- a/vp9/common/vp9_idct.h
+++ b/vp9/common/vp9_idct.h
@@ -33,6 +33,9 @@ extern "C" {
#define pair_set_epi16(a, b) \
_mm_set_epi16(b, a, b, a, b, a, b, a)
+#define dual_set_epi16(a, b) \
+ _mm_set_epi16(b, b, b, b, a, a, a, a)
+
// Constants:
// for (int i = 1; i< 32; ++i)
// printf("static const int cospi_%d_64 = %.0f;\n", i,