aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/x86/h264_intrapred_init.c
diff options
context:
space:
mode:
authorMirage Abeysekara <mirage.12@cse.mrt.ac.lk>2017-03-19 01:20:53 +0530
committerRonald S. Bultje <rsbultje@gmail.com>2017-03-20 09:45:42 -0400
commit5eb4f95bef2f95c4e776c60613b2825064d02ba9 (patch)
tree6565a5dc34ab32ae2fcb3ae5c84a3d7efdb71b6c /libavcodec/x86/h264_intrapred_init.c
parentf3cd2302a9c9724f57fda4afb5ad7a588fb8b304 (diff)
downloadffmpeg-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.c7
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;