aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/x86/vp9dsp_init_16bpp_template.c
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2015-10-06 11:03:45 -0400
committerRonald S. Bultje <rsbultje@gmail.com>2015-10-13 11:05:58 -0400
commit6b579cf547a75a0cbda5cb7f10eab9ca07522b0a (patch)
tree6dc311271278288af98f9d886d39684c62949355 /libavcodec/x86/vp9dsp_init_16bpp_template.c
parent1c3be32533e506d66b5a8eb7b93b12d4442146fb (diff)
downloadffmpeg-6b579cf547a75a0cbda5cb7f10eab9ca07522b0a.tar.gz
vp9: add 10bpp simd (mmxext/ssse3) for idct_idct_4x4.
Diffstat (limited to 'libavcodec/x86/vp9dsp_init_16bpp_template.c')
-rw-r--r--libavcodec/x86/vp9dsp_init_16bpp_template.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libavcodec/x86/vp9dsp_init_16bpp_template.c b/libavcodec/x86/vp9dsp_init_16bpp_template.c
index 7a56c3bc32..6e12af3d3d 100644
--- a/libavcodec/x86/vp9dsp_init_16bpp_template.c
+++ b/libavcodec/x86/vp9dsp_init_16bpp_template.c
@@ -125,6 +125,10 @@ lpf_mix2_wrappers_set(BPC, avx);
decl_ipred_fns(tm, BPC, mmxext, sse2);
decl_itxfm_func(iwht, iwht, 4, BPC, mmxext);
+#if BPC == 10
+decl_itxfm_func(idct, idct, 4, BPC, mmxext);
+decl_itxfm_func(idct, idct, 4, BPC, ssse3);
+#endif
#endif /* HAVE_YASM */
av_cold void INIT_FUNC(VP9DSPContext *dsp, int bitexact)
@@ -170,6 +174,9 @@ av_cold void INIT_FUNC(VP9DSPContext *dsp, int bitexact)
init_ipred_func(tm, TM_VP8, 4, BPC, mmxext);
if (!bitexact) {
init_itx_func_one(4 /* lossless */, iwht, iwht, 4, BPC, mmxext);
+#if BPC == 10
+ init_itx_func(TX_4X4, DCT_DCT, idct, idct, 4, 10, mmxext);
+#endif
}
}
@@ -182,6 +189,11 @@ av_cold void INIT_FUNC(VP9DSPContext *dsp, int bitexact)
if (EXTERNAL_SSSE3(cpu_flags)) {
init_lpf_funcs(BPC, ssse3);
+#if BPC == 10
+ if (!bitexact) {
+ init_itx_func(TX_4X4, DCT_DCT, idct, idct, 4, 10, ssse3);
+ }
+#endif
}
if (EXTERNAL_AVX(cpu_flags)) {