From 76d90125cdc09a029f7fe87f1c272aaa1a8a808e Mon Sep 17 00:00:00 2001 From: Diego Biurrun Date: Tue, 22 Jan 2013 01:39:37 +0100 Subject: vf_hqdn3d: x86: Add proper arch optimization initialization --- libavfilter/vf_hqdn3d.c | 25 ++++--------------------- 1 file changed, 4 insertions(+), 21 deletions(-) (limited to 'libavfilter/vf_hqdn3d.c') diff --git a/libavfilter/vf_hqdn3d.c b/libavfilter/vf_hqdn3d.c index 085900fbce..6161b5e6f4 100644 --- a/libavfilter/vf_hqdn3d.c +++ b/libavfilter/vf_hqdn3d.c @@ -26,6 +26,7 @@ * libmpcodecs/vf_hqdn3d.c. */ +#include "config.h" #include "libavutil/common.h" #include "libavutil/pixdesc.h" #include "libavutil/intreadwrite.h" @@ -33,21 +34,7 @@ #include "formats.h" #include "internal.h" #include "video.h" - -typedef struct { - int16_t *coefs[4]; - uint16_t *line; - uint16_t *frame_prev[3]; - double strength[4]; - int hsub, vsub; - int depth; - void (*denoise_row[17])(uint8_t *src, uint8_t *dst, uint16_t *line_ant, uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial, int16_t *temporal); -} HQDN3DContext; - -void ff_hqdn3d_row_8_x86(uint8_t *src, uint8_t *dst, uint16_t *line_ant, uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial, int16_t *temporal); -void ff_hqdn3d_row_9_x86(uint8_t *src, uint8_t *dst, uint16_t *line_ant, uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial, int16_t *temporal); -void ff_hqdn3d_row_10_x86(uint8_t *src, uint8_t *dst, uint16_t *line_ant, uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial, int16_t *temporal); -void ff_hqdn3d_row_16_x86(uint8_t *src, uint8_t *dst, uint16_t *line_ant, uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial, int16_t *temporal); +#include "vf_hqdn3d.h" #define LUT_BITS (depth==16 ? 8 : 4) #define RIGHTSHIFT(a,b) (((a)+(((1<<(b))-1)>>1))>>(b)) @@ -312,12 +299,8 @@ static int config_input(AVFilterLink *inlink) return AVERROR(ENOMEM); } -#if HAVE_YASM - hqdn3d->denoise_row[ 8] = ff_hqdn3d_row_8_x86; - hqdn3d->denoise_row[ 9] = ff_hqdn3d_row_9_x86; - hqdn3d->denoise_row[10] = ff_hqdn3d_row_10_x86; - hqdn3d->denoise_row[16] = ff_hqdn3d_row_16_x86; -#endif + if (ARCH_X86) + ff_hqdn3d_init_x86(hqdn3d); return 0; } -- cgit v1.2.3