diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2015-10-06 11:01:48 -0400 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2015-10-13 11:05:57 -0400 |
commit | 1c3be32533e506d66b5a8eb7b93b12d4442146fb (patch) | |
tree | fbf58728fc53de783207be0e22b035514d22eb0d /libavcodec/x86/vp9dsp_init_16bpp_template.c | |
parent | b6594a9605debcfddc049627808d5319f1df537f (diff) |
vp9: add 10/12bpp mmxext-optimized iwht_iwht_4x4 function.
Diffstat (limited to 'libavcodec/x86/vp9dsp_init_16bpp_template.c')
-rw-r--r-- | libavcodec/x86/vp9dsp_init_16bpp_template.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/libavcodec/x86/vp9dsp_init_16bpp_template.c b/libavcodec/x86/vp9dsp_init_16bpp_template.c index f486caf1a1..7a56c3bc32 100644 --- a/libavcodec/x86/vp9dsp_init_16bpp_template.c +++ b/libavcodec/x86/vp9dsp_init_16bpp_template.c @@ -123,9 +123,11 @@ lpf_mix2_wrappers_set(BPC, ssse3); lpf_mix2_wrappers_set(BPC, avx); decl_ipred_fns(tm, BPC, mmxext, sse2); + +decl_itxfm_func(iwht, iwht, 4, BPC, mmxext); #endif /* HAVE_YASM */ -av_cold void INIT_FUNC(VP9DSPContext *dsp) +av_cold void INIT_FUNC(VP9DSPContext *dsp, int bitexact) { #if HAVE_YASM int cpu_flags = av_get_cpu_flags(); @@ -155,8 +157,20 @@ av_cold void INIT_FUNC(VP9DSPContext *dsp) init_lpf_mix2_func(1, 0, 1, v, 8, 4, bpp, opt); \ init_lpf_mix2_func(1, 1, 1, v, 8, 8, bpp, opt) +#define init_itx_func(idxa, idxb, typea, typeb, size, bpp, opt) \ + dsp->itxfm_add[idxa][idxb] = \ + ff_vp9_##typea##_##typeb##_##size##x##size##_add_##bpp##_##opt; +#define init_itx_func_one(idx, typea, typeb, size, bpp, opt) \ + init_itx_func(idx, DCT_DCT, typea, typeb, size, bpp, opt); \ + init_itx_func(idx, ADST_DCT, typea, typeb, size, bpp, opt); \ + init_itx_func(idx, DCT_ADST, typea, typeb, size, bpp, opt); \ + init_itx_func(idx, ADST_ADST, typea, typeb, size, bpp, opt) + if (EXTERNAL_MMXEXT(cpu_flags)) { init_ipred_func(tm, TM_VP8, 4, BPC, mmxext); + if (!bitexact) { + init_itx_func_one(4 /* lossless */, iwht, iwht, 4, BPC, mmxext); + } } if (EXTERNAL_SSE2(cpu_flags)) { |