aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/x86/v210enc_init.c
diff options
context:
space:
mode:
authorJames Darnley <james.darnley@gmail.com>2016-01-15 18:30:03 +0000
committerJames Darnley <james.darnley@gmail.com>2016-01-17 16:03:43 +0100
commit2cba1825f70c301f5513a799302f755967680651 (patch)
treec39ebf1ac76c35ab1852cd4555fa155b78d77f4d /libavcodec/x86/v210enc_init.c
parent3836f404a8c0ffd7c565260434768ef4ebba85a7 (diff)
downloadffmpeg-2cba1825f70c301f5513a799302f755967680651.tar.gz
avcodec/v210: add avx2 version of the 10-bit line encoder
Around 25% faster than the ssse3 version.
Diffstat (limited to 'libavcodec/x86/v210enc_init.c')
-rw-r--r--libavcodec/x86/v210enc_init.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/x86/v210enc_init.c b/libavcodec/x86/v210enc_init.c
index be6698c512..ee48e80538 100644
--- a/libavcodec/x86/v210enc_init.c
+++ b/libavcodec/x86/v210enc_init.c
@@ -29,6 +29,9 @@ void ff_v210_planar_pack_8_avx2(const uint8_t *y, const uint8_t *u,
void ff_v210_planar_pack_10_ssse3(const uint16_t *y, const uint16_t *u,
const uint16_t *v, uint8_t *dst,
ptrdiff_t width);
+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);
av_cold void ff_v210enc_init_x86(V210EncContext *s)
{
@@ -44,6 +47,7 @@ av_cold void ff_v210enc_init_x86(V210EncContext *s)
if (EXTERNAL_AVX2(cpu_flags)) {
s->pack_line_8 = ff_v210_planar_pack_8_avx2;
+ s->pack_line_10 = ff_v210_planar_pack_10_avx2;
s->sample_factor = 2;
}
}