summaryrefslogtreecommitdiff
path: root/libavfilter/vf_transpose.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2019-10-21 16:43:26 +0200
committerPaul B Mahol <onemda@gmail.com>2019-10-21 20:37:51 +0200
commitccd9bca15a46a1de4fb536dd097153a270ae3b9c (patch)
tree81822ec78a06c60da60974811dab834fb65adc62 /libavfilter/vf_transpose.c
parentf7f4691f9f745f6a087879ab855dd65f9f16879d (diff)
downloadffmpeg-ccd9bca15a46a1de4fb536dd097153a270ae3b9c.tar.gz
avfilter/vf_transpose: add x86 SIMD
Diffstat (limited to 'libavfilter/vf_transpose.c')
-rw-r--r--libavfilter/vf_transpose.c16
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,