diff options
author | James Almer <jamrial@gmail.com> | 2015-12-24 05:51:45 +0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2015-12-24 19:05:21 +0300 |
commit | 0988c68cf9cd39680b1e49cc2873ec38c8199905 (patch) | |
tree | 261a6301e9f8ed2d61e6c791f3a2c94a0b0f5a75 /libavfilter/x86/vf_blend_init.c | |
parent | ce4c85de6a402cdc8d5320184eb3694346f58909 (diff) |
x86/vf_blend: simplify using macros
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavfilter/x86/vf_blend_init.c')
-rw-r--r-- | libavfilter/x86/vf_blend_init.c | 102 |
1 files changed, 20 insertions, 82 deletions
diff --git a/libavfilter/x86/vf_blend_init.c b/libavfilter/x86/vf_blend_init.c index 454d03030d..82b88487d8 100644 --- a/libavfilter/x86/vf_blend_init.c +++ b/libavfilter/x86/vf_blend_init.c @@ -23,90 +23,28 @@ #include "libavutil/x86/cpu.h" #include "libavfilter/blend.h" -void ff_blend_addition_sse2(const uint8_t *top, ptrdiff_t top_linesize, - const uint8_t *bottom, ptrdiff_t bottom_linesize, - uint8_t *dst, ptrdiff_t dst_linesize, - ptrdiff_t width, ptrdiff_t start, ptrdiff_t end, - struct FilterParams *param, double *values); - -void ff_blend_addition128_sse2(const uint8_t *top, ptrdiff_t top_linesize, - const uint8_t *bottom, ptrdiff_t bottom_linesize, - uint8_t *dst, ptrdiff_t dst_linesize, - ptrdiff_t width, ptrdiff_t start, ptrdiff_t end, - struct FilterParams *param, double *values); - -void ff_blend_average_sse2(const uint8_t *top, ptrdiff_t top_linesize, - const uint8_t *bottom, ptrdiff_t bottom_linesize, - uint8_t *dst, ptrdiff_t dst_linesize, - ptrdiff_t width, ptrdiff_t start, ptrdiff_t end, - struct FilterParams *param, double *values); - -void ff_blend_and_sse2(const uint8_t *top, ptrdiff_t top_linesize, - const uint8_t *bottom, ptrdiff_t bottom_linesize, - uint8_t *dst, ptrdiff_t dst_linesize, - ptrdiff_t width, ptrdiff_t start, ptrdiff_t end, - struct FilterParams *param, double *values); - -void ff_blend_darken_sse2(const uint8_t *top, ptrdiff_t top_linesize, - const uint8_t *bottom, ptrdiff_t bottom_linesize, - uint8_t *dst, ptrdiff_t dst_linesize, - ptrdiff_t width, ptrdiff_t start, ptrdiff_t end, - struct FilterParams *param, double *values); - -void ff_blend_difference128_sse2(const uint8_t *top, ptrdiff_t top_linesize, - const uint8_t *bottom, ptrdiff_t bottom_linesize, - uint8_t *dst, ptrdiff_t dst_linesize, - ptrdiff_t width, ptrdiff_t start, ptrdiff_t end, - struct FilterParams *param, double *values); - -void ff_blend_hardmix_sse2(const uint8_t *top, ptrdiff_t top_linesize, - const uint8_t *bottom, ptrdiff_t bottom_linesize, - uint8_t *dst, ptrdiff_t dst_linesize, - ptrdiff_t width, ptrdiff_t start, ptrdiff_t end, - struct FilterParams *param, double *values); - -void ff_blend_lighten_sse2(const uint8_t *top, ptrdiff_t top_linesize, - const uint8_t *bottom, ptrdiff_t bottom_linesize, - uint8_t *dst, ptrdiff_t dst_linesize, - ptrdiff_t width, ptrdiff_t start, ptrdiff_t end, - struct FilterParams *param, double *values); - -void ff_blend_or_sse2(const uint8_t *top, ptrdiff_t top_linesize, - const uint8_t *bottom, ptrdiff_t bottom_linesize, - uint8_t *dst, ptrdiff_t dst_linesize, - ptrdiff_t width, ptrdiff_t start, ptrdiff_t end, - struct FilterParams *param, double *values); - -void ff_blend_phoenix_sse2(const uint8_t *top, ptrdiff_t top_linesize, - const uint8_t *bottom, ptrdiff_t bottom_linesize, - uint8_t *dst, ptrdiff_t dst_linesize, - ptrdiff_t width, ptrdiff_t start, ptrdiff_t end, - struct FilterParams *param, double *values); - -void ff_blend_subtract_sse2(const uint8_t *top, ptrdiff_t top_linesize, - const uint8_t *bottom, ptrdiff_t bottom_linesize, - uint8_t *dst, ptrdiff_t dst_linesize, - ptrdiff_t width, ptrdiff_t start, ptrdiff_t end, - struct FilterParams *param, double *values); - -void ff_blend_xor_sse2(const uint8_t *top, ptrdiff_t top_linesize, - const uint8_t *bottom, ptrdiff_t bottom_linesize, - uint8_t *dst, ptrdiff_t dst_linesize, - ptrdiff_t width, ptrdiff_t start, ptrdiff_t end, - struct FilterParams *param, double *values); - -void ff_blend_difference_ssse3(const uint8_t *top, ptrdiff_t top_linesize, - const uint8_t *bottom, ptrdiff_t bottom_linesize, - uint8_t *dst, ptrdiff_t dst_linesize, - ptrdiff_t width, ptrdiff_t start, ptrdiff_t end, - struct FilterParams *param, double *values); - -void ff_blend_negation_ssse3(const uint8_t *top, ptrdiff_t top_linesize, - const uint8_t *bottom, ptrdiff_t bottom_linesize, - uint8_t *dst, ptrdiff_t dst_linesize, - ptrdiff_t width, ptrdiff_t start, ptrdiff_t end, +#define BLEND_FUNC(name, opt) \ +void ff_blend_##name##_##opt(const uint8_t *top, ptrdiff_t top_linesize, \ + const uint8_t *bottom, ptrdiff_t bottom_linesize, \ + uint8_t *dst, ptrdiff_t dst_linesize, \ + ptrdiff_t width, ptrdiff_t start, ptrdiff_t end, \ struct FilterParams *param, double *values); +BLEND_FUNC(addition, sse2) +BLEND_FUNC(addition128, sse2) +BLEND_FUNC(average, sse2) +BLEND_FUNC(and, sse2) +BLEND_FUNC(darken, sse2) +BLEND_FUNC(difference128, sse2) +BLEND_FUNC(hardmix, sse2) +BLEND_FUNC(lighten, sse2) +BLEND_FUNC(or, sse2) +BLEND_FUNC(phoenix, sse2) +BLEND_FUNC(subtract, sse2) +BLEND_FUNC(xor, sse2) +BLEND_FUNC(difference, ssse3) +BLEND_FUNC(negation, ssse3) + av_cold void ff_blend_init_x86(FilterParams *param, int is_16bit) { int cpu_flags = av_get_cpu_flags(); |