diff options
author | Robert Krüger <krueger@lesspain.de> | 2014-01-04 16:49:38 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-01-14 17:19:14 +0400 |
commit | 4a38eeec38c5afd8216bf0a613198b3390cc0b46 (patch) | |
tree | a82053825d7ce2852298d6d5ab51d70a626a9fc8 /libavfilter/yadif.h | |
parent | 0b54bc24db8b4b78b89ae0d8b4e6edac4fb6b6c7 (diff) |
Revert "Revert "vf_yadif: move x86 init code to x86/yadif.c""
This reverts commit 975110a85ef8e794fdc041455ff41b0ad30bc01e.
Signed-off-by: Robert Krüger <krueger@lesspain.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter/yadif.h')
-rw-r--r-- | libavfilter/yadif.h | 59 |
1 files changed, 29 insertions, 30 deletions
diff --git a/libavfilter/yadif.h b/libavfilter/yadif.h index 5afe01424b..3ddf0050a6 100644 --- a/libavfilter/yadif.h +++ b/libavfilter/yadif.h @@ -19,6 +19,7 @@ #ifndef AVFILTER_YADIF_H #define AVFILTER_YADIF_H +#include "libavutil/pixdesc.h" #include "avfilter.h" enum YADIFMode { @@ -39,37 +40,35 @@ enum YADIFDeint { YADIF_DEINT_INTERLACED = 1, ///< only deinterlace frames marked as interlaced }; -void ff_yadif_filter_line_mmxext(void *dst, void *prev, void *cur, - void *next, int w, int prefs, - int mrefs, int parity, int mode); -void ff_yadif_filter_line_sse2(void *dst, void *prev, void *cur, - void *next, int w, int prefs, - int mrefs, int parity, int mode); -void ff_yadif_filter_line_ssse3(void *dst, void *prev, void *cur, - void *next, int w, int prefs, - int mrefs, int parity, int mode); +typedef struct YADIFContext { + const AVClass *class; -void ff_yadif_filter_line_16bit_mmxext(void *dst, void *prev, void *cur, - void *next, int w, int prefs, - int mrefs, int parity, int mode); -void ff_yadif_filter_line_16bit_sse2(void *dst, void *prev, void *cur, - void *next, int w, int prefs, - int mrefs, int parity, int mode); -void ff_yadif_filter_line_16bit_ssse3(void *dst, void *prev, void *cur, - void *next, int w, int prefs, - int mrefs, int parity, int mode); -void ff_yadif_filter_line_16bit_sse4(void *dst, void *prev, void *cur, - void *next, int w, int prefs, - int mrefs, int parity, int mode); + enum YADIFMode mode; + enum YADIFParity parity; + enum YADIFDeint deint; -void ff_yadif_filter_line_10bit_mmxext(void *dst, void *prev, void *cur, - void *next, int w, int prefs, - int mrefs, int parity, int mode); -void ff_yadif_filter_line_10bit_sse2(void *dst, void *prev, void *cur, - void *next, int w, int prefs, - int mrefs, int parity, int mode); -void ff_yadif_filter_line_10bit_ssse3(void *dst, void *prev, void *cur, - void *next, int w, int prefs, - int mrefs, int parity, int mode); + int frame_pending; + + AVFrame *cur; + AVFrame *next; + AVFrame *prev; + AVFrame *out; + + /** + * Required alignment for filter_line + */ + void (*filter_line)(void *dst, + void *prev, void *cur, void *next, + int w, int prefs, int mrefs, int parity, int mode); + void (*filter_edges)(void *dst, void *prev, void *cur, void *next, + int w, int prefs, int mrefs, int parity, int mode); + + const AVPixFmtDescriptor *csp; + int eof; + uint8_t *temp_line; + int temp_line_size; +} YADIFContext; + +void ff_yadif_init_x86(YADIFContext *yadif); #endif /* AVFILTER_YADIF_H */ |