diff options
author | Paul B Mahol <onemda@gmail.com> | 2019-10-21 16:43:26 +0200 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2019-10-21 20:37:51 +0200 |
commit | ccd9bca15a46a1de4fb536dd097153a270ae3b9c (patch) | |
tree | 81822ec78a06c60da60974811dab834fb65adc62 /libavfilter/vf_transpose.c | |
parent | f7f4691f9f745f6a087879ab855dd65f9f16879d (diff) | |
download | ffmpeg-ccd9bca15a46a1de4fb536dd097153a270ae3b9c.tar.gz |
avfilter/vf_transpose: add x86 SIMD
Diffstat (limited to 'libavfilter/vf_transpose.c')
-rw-r--r-- | libavfilter/vf_transpose.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/libavfilter/vf_transpose.c b/libavfilter/vf_transpose.c index dd54947bd9..cb49c4a301 100644 --- a/libavfilter/vf_transpose.c +++ b/libavfilter/vf_transpose.c @@ -40,14 +40,6 @@ #include "video.h" #include "transpose.h" -typedef struct TransVtable { - void (*transpose_8x8)(uint8_t *src, ptrdiff_t src_linesize, - uint8_t *dst, ptrdiff_t dst_linesize); - void (*transpose_block)(uint8_t *src, ptrdiff_t src_linesize, - uint8_t *dst, ptrdiff_t dst_linesize, - int w, int h); -} TransVtable; - typedef struct TransContext { const AVClass *class; int hsub, vsub; @@ -243,6 +235,14 @@ static int config_props_output(AVFilterLink *outlink) } } + if (ARCH_X86) { + for (int i = 0; i < 4; i++) { + TransVtable *v = &s->vtables[i]; + + ff_transpose_init_x86(v, s->pixsteps[i]); + } + } + av_log(ctx, AV_LOG_VERBOSE, "w:%d h:%d dir:%d -> w:%d h:%d rotation:%s vflip:%d\n", inlink->w, inlink->h, s->dir, outlink->w, outlink->h, |