--- libavcodec/x86/v210enc.asm | 5 +++++ libavcodec/x86/v210enc_init.c | 7 +++++++ 2 files changed, 12 insertions(+)
diff --git a/libavcodec/x86/v210enc.asm b/libavcodec/x86/v210enc.asm index 965f2bea3c..5068af27f8 100644 --- a/libavcodec/x86/v210enc.asm +++ b/libavcodec/x86/v210enc.asm @@ -103,6 +103,11 @@ INIT_YMM avx2 v210_planar_pack_10 %endif +%if HAVE_AVX512_EXTERNAL +INIT_YMM avx512 +v210_planar_pack_10 +%endif + %macro v210_planar_pack_8 0 ; v210_planar_pack_8(const uint8_t *y, const uint8_t *u, const uint8_t *v, uint8_t *dst, ptrdiff_t width) diff --git a/libavcodec/x86/v210enc_init.c b/libavcodec/x86/v210enc_init.c index e997b4b67a..e8aac373a0 100644 --- a/libavcodec/x86/v210enc_init.c +++ b/libavcodec/x86/v210enc_init.c @@ -32,6 +32,9 @@ void ff_v210_planar_pack_10_ssse3(const uint16_t *y, const uint16_t *u, void ff_v210_planar_pack_10_avx2(const uint16_t *y, const uint16_t *u, const uint16_t *v, uint8_t *dst, ptrdiff_t width); +void ff_v210_planar_pack_10_avx512(const uint16_t *y, const uint16_t *u, + const uint16_t *v, uint8_t *dst, + ptrdiff_t width); av_cold void ff_v210enc_init_x86(V210EncContext *s) { @@ -51,4 +54,8 @@ av_cold void ff_v210enc_init_x86(V210EncContext *s) s->sample_factor_10 = 2; s->pack_line_10 = ff_v210_planar_pack_10_avx2; } + + if (EXTERNAL_AVX512(cpu_flags)) { + s->pack_line_10 = ff_v210_planar_pack_10_avx512; + } } -- 2.15.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel