From a87b17f3283aada762820f1b797eeb7a2dff6c61 Mon Sep 17 00:00:00 2001 From: Mans Rullgard Date: Sun, 1 Jul 2012 13:08:17 +0100 Subject: vf_yadif: move x86 init code to x86/yadif.c Signed-off-by: Mans Rullgard --- libavfilter/yadif.h | 45 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 36 insertions(+), 9 deletions(-) (limited to 'libavfilter/yadif.h') diff --git a/libavfilter/yadif.h b/libavfilter/yadif.h index d658b683d7..9d23870cd1 100644 --- a/libavfilter/yadif.h +++ b/libavfilter/yadif.h @@ -19,18 +19,45 @@ #ifndef AVFILTER_YADIF_H #define AVFILTER_YADIF_H +#include "libavutil/pixdesc.h" #include "avfilter.h" -void ff_yadif_filter_line_mmx(uint8_t *dst, - uint8_t *prev, uint8_t *cur, uint8_t *next, - int w, int prefs, int mrefs, int parity, int mode); +typedef struct { + /** + * 0: send 1 frame for each frame + * 1: send 1 frame for each field + * 2: like 0 but skips spatial interlacing check + * 3: like 1 but skips spatial interlacing check + */ + int mode; -void ff_yadif_filter_line_sse2(uint8_t *dst, - uint8_t *prev, uint8_t *cur, uint8_t *next, - int w, int prefs, int mrefs, int parity, int mode); + /** + * 0: top field first + * 1: bottom field first + * -1: auto-detection + */ + int parity; -void ff_yadif_filter_line_ssse3(uint8_t *dst, - uint8_t *prev, uint8_t *cur, uint8_t *next, - int w, int prefs, int mrefs, int parity, int mode); + int frame_pending; + + /** + * 0: deinterlace all frames + * 1: only deinterlace frames marked as interlaced + */ + int auto_enable; + + AVFilterBufferRef *cur; + AVFilterBufferRef *next; + AVFilterBufferRef *prev; + AVFilterBufferRef *out; + void (*filter_line)(uint8_t *dst, + uint8_t *prev, uint8_t *cur, uint8_t *next, + int w, int prefs, int mrefs, int parity, int mode); + + const AVPixFmtDescriptor *csp; + int eof; +} YADIFContext; + +void ff_yadif_init_x86(YADIFContext *yadif); #endif /* AVFILTER_YADIF_H */ -- cgit v1.2.3