diff options
author | Jingning Han <jingning@google.com> | 2014-05-28 10:51:09 -0700 |
---|---|---|
committer | Jingning Han <jingning@google.com> | 2014-05-28 10:53:33 -0700 |
commit | 6d21cbd20b07dd66f60add80cadd330470f5f529 (patch) | |
tree | 13a13cb5bbf5bdd4c5c9b56736a18d31302e921c /vp9/common/vp9_idct.h | |
parent | 239e68ddbfa038e29b9e332503721d6bbae806c3 (diff) | |
download | libvpx-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.h | 3 |
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, |