diff options
author | Mirage Abeysekara <mirage.12@cse.mrt.ac.lk> | 2017-03-19 01:20:53 +0530 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2017-03-20 09:45:42 -0400 |
commit | 5eb4f95bef2f95c4e776c60613b2825064d02ba9 (patch) | |
tree | 6565a5dc34ab32ae2fcb3ae5c84a3d7efdb71b6c /libavcodec/x86/h264_intrapred_init.c | |
parent | f3cd2302a9c9724f57fda4afb5ad7a588fb8b304 (diff) | |
download | ffmpeg-5eb4f95bef2f95c4e776c60613b2825064d02ba9.tar.gz |
h264pred: added AVX2 implementation for tm_vp8 16x16.
checkasm --bench results with 5000 runs
pred16x16_tm_vp8_c: 302.8
pred16x16_tm_vp8_mmx: 101.4
pred16x16_tm_vp8_mmxext: 95.5
pred16x16_tm_vp8_sse2: 95.1
pred16x16_tm_vp8_avx2: 38.2
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Diffstat (limited to 'libavcodec/x86/h264_intrapred_init.c')
-rw-r--r-- | libavcodec/x86/h264_intrapred_init.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libavcodec/x86/h264_intrapred_init.c b/libavcodec/x86/h264_intrapred_init.c index 528b92e497..bdd5125d68 100644 --- a/libavcodec/x86/h264_intrapred_init.c +++ b/libavcodec/x86/h264_intrapred_init.c @@ -127,6 +127,7 @@ PRED16x16(plane_svq3, 8, ssse3) PRED16x16(tm_vp8, 8, mmx) PRED16x16(tm_vp8, 8, mmxext) PRED16x16(tm_vp8, 8, sse2) +PRED16x16(tm_vp8, 8, avx2) PRED8x8(top_dc, 8, mmxext) PRED8x8(dc_rv40, 8, mmxext) @@ -323,6 +324,12 @@ av_cold void ff_h264_pred_init_x86(H264PredContext *h, int codec_id, } } } + + if(EXTERNAL_AVX2(cpu_flags)){ + if (codec_id == AV_CODEC_ID_VP8) { + h->pred16x16[PLANE_PRED8x8 ] = ff_pred16x16_tm_vp8_8_avx2; + } + } } else if (bit_depth == 10) { if (EXTERNAL_MMXEXT(cpu_flags)) { h->pred4x4[DC_PRED ] = ff_pred4x4_dc_10_mmxext; |