2017-11-09 20:37 GMT+01:00 Martin Vignali <martin.vign...@gmail.com>:
> > > 2017-11-09 12:58 GMT+01:00 James Darnley <jdarn...@obe.tv>: > >> --- >> libavcodec/x86/lossless_videodsp.asm | 5 +++++ >> libavcodec/x86/lossless_videodsp_init.c | 5 +++++ >> 2 files changed, 10 insertions(+) >> >> diff --git a/libavcodec/x86/lossless_videodsp.asm >> b/libavcodec/x86/lossless_videodsp.asm >> index ba4d4f0153..5649348f86 100644 >> --- a/libavcodec/x86/lossless_videodsp.asm >> +++ b/libavcodec/x86/lossless_videodsp.asm >> @@ -229,6 +229,11 @@ INIT_YMM avx2 >> ADD_BYTES >> %endif >> >> +%if HAVE_AVX512_EXTERNAL >> +INIT_ZMM avx512 >> +ADD_BYTES >> +%endif >> + >> %macro ADD_HFYU_LEFT_LOOP_INT16 2 ; %1 = dst alignment (a/u), %2 = src >> alignment (a/u) >> add wd, wd >> add srcq, wq >> diff --git a/libavcodec/x86/lossless_videodsp_init.c >> b/libavcodec/x86/lossless_videodsp_init.c >> index 4f20c1ce92..80d6972f36 100644 >> --- a/libavcodec/x86/lossless_videodsp_init.c >> +++ b/libavcodec/x86/lossless_videodsp_init.c >> @@ -26,6 +26,7 @@ >> void ff_add_bytes_mmx(uint8_t *dst, uint8_t *src, ptrdiff_t w); >> void ff_add_bytes_sse2(uint8_t *dst, uint8_t *src, ptrdiff_t w); >> void ff_add_bytes_avx2(uint8_t *dst, uint8_t *src, ptrdiff_t w); >> +void ff_add_bytes_avx512(uint8_t *dst, uint8_t *src, ptrdiff_t w); >> >> void ff_add_median_pred_mmxext(uint8_t *dst, const uint8_t *top, >> const uint8_t *diff, ptrdiff_t w, >> @@ -119,4 +120,8 @@ void ff_llviddsp_init_x86(LLVidDSPContext *c) >> if (EXTERNAL_AVX2_FAST(cpu_flags)) { >> c->add_bytes = ff_add_bytes_avx2; >> } >> + >> + if (EXTERNAL_AVX512(cpu_flags)) { >> + c->add_bytes = ff_add_bytes_avx512; >> + } >> } >> >> > lgtm > > Can you post your checkasm benchmark result for this ? Martin _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel