Go to the documentation of this file.
22 #define CPU_OPTION_ALTIVEC 0x1
23 #define CPU_OPTION_64_BITS 0x2
24 #define CPU_OPTION_MMX 0x4
25 #define CPU_OPTION_XMMX 0x8
26 #define CPU_OPTION_SSE 0x10
27 #define CPU_OPTION_SSE2 0x20
28 #define CPU_OPTION_3DNOW 0x40
static int deinterlace_intercept_frame(post_video_port_t *port, vo_frame_t *frame)
Definition: xine_plugin.c:522
Definition: xine_internal.h:80
#define _x_post_dec_usage(port)
Definition: post.h:406
const char * name
Definition: xine.h:738
#define XINE_IMGFMT_YV12
Definition: xine.h:494
int pitches[3]
Definition: video_out.h:117
int framecounter
Definition: xine_plugin.c:125
@ FRAMERATE_FULL
Definition: tvtime.h:41
int(* intercept_frame)(post_video_port_t *self, vo_frame_t *frame)
Definition: post.h:185
#define VO_INTERLACED_FLAG
Definition: video_out.h:295
float value
Definition: goom_config_param.h:28
#define START_PARAM_DESCR(param_t)
Definition: post.h:431
static const union @44 CONV_MOTIF2
xine_stream_t * stream
Definition: post.h:216
const plugin_info_t xine_plugin_info[] EXPORTED
Definition: xine_plugin.c:937
enabled
Definition: xine_plugin.c:78
Definition: xine_internal.h:123
void * fx_data
Definition: goom_visual_fx.h:21
static int deinterlace_get_property(xine_video_port_t *port_gen, int property)
Definition: xine_plugin.c:450
static unsigned int CPU_NUMBER
Definition: cpu_info.c:26
int64_t pts
Definition: video_out.h:109
int cheap_mode
Definition: xine_plugin.c:68
#define xine_buffer_free(buf)
Definition: xine_buffer.c:149
int method
Definition: xine_plugin.c:60
PluginParam goom_secure_f_param(const char *name)
Definition: config_param.c:34
#define PLUGIN_MUST_PRELOAD
Definition: xine_plugin.h:46
static void apply_chroma_filter(uint8_t *data, int stride, int width, int height)
Definition: xine_plugin.c:545
static void deinterlace_class_dispose(post_class_t *class_gen)
Definition: xine_plugin.c:424
float step
Definition: goom_config_param.h:31
Definition: xine_plugin.h:83
GoomRandom * gRandom
Definition: goom_plugin_info.h:166
int crop_bottom
Definition: video_out.h:129
#define NB_THETA
Definition: convolve_fx.c:25
#define XINE_POST_TYPE_VIDEO_FILTER
Definition: xine.h:815
void xine_list_push_back(xine_list_t *list, void *value)
Definition: list.c:162
enable disable number of frames of telecine pattern sync required before mode change make frames evenly spaced for film use_progressive_frame_flag
Definition: xine_plugin.c:88
static const union @43 CONV_MOTIF1
xine_video_port_t new_port
Definition: post.h:176
const deinterlace_method_t * dscaler_tomsmocomp_get_method(void)
Definition: kdetv_tomsmocomp.c:143
static const char *const enum_framerate[]
Definition: xine_plugin.c:51
post_class_deinterlace_t
Definition: xine_plugin.c:105
const deinterlace_method_t * linearblend_get_method(void)
Definition: linearblend.c:358
static int set_parameters(xine_post_t *this_gen, const void *param_gen)
Definition: xine_plugin.c:149
#define BVAL(p)
Definition: goom_config_param.h:71
void(* init)(struct _VISUAL_FX *_this, PluginInfo *info)
Definition: goom_visual_fx.h:18
float ftheta
Definition: convolve_fx.c:39
float max
Definition: goom_config_param.h:30
int size
Definition: goom_plugin_info.h:87
void _x_extra_info_merge(extra_info_t *dst, extra_info_t *src)
Definition: xine.c:122
int(* get_property)(xine_video_port_t *self, int property)
Definition: video_out.h:220
int tvtime_changed
Definition: xine_plugin.c:121
void filter_deinterlace_methods(deinterlace_methods_t *methodlist, int accel, int fields_available)
Definition: deinterlace.c:103
static void compute_tables(VisualFX *_this, PluginInfo *info)
Definition: convolve_fx.c:50
#define XINE_PARAM_VO_DEINTERLACE
Definition: xine.h:375
#define R_OFFSET
Definition: goom_graphic.h:51
Definition: deinterlace.c:37
Definition: goom_graphic.h:55
xine_video_port_t * original_port
Definition: post.h:179
#define LVAL(p)
Definition: goom_config_param.h:72
#define IMAX(p)
Definition: goom_config_param.h:79
const deinterlace_method_t * vfir_get_method(void)
Definition: vfir.c:160
unsigned int cpu_number(void)
Definition: cpu_info.c:71
#define secure_f_param
Definition: goom_config_param.h:105
@ PARAM_STRVAL
Definition: goom_config_param.h:17
#define _x_post_inc_usage(port)
Definition: post.h:399
static void * deinterlace_init_plugin(xine_t *xine, const void *data)
Definition: xine_plugin.c:284
static unsigned int CPU_DETECTED
Definition: cpu_info.c:27
post_plugin_t post
Definition: xine_plugin.c:109
void(* vfilter_chroma_332_packed422_scanline)(uint8_t *output, int width, uint8_t *m, uint8_t *t, uint8_t *b)
Definition: speedy.c:154
uint32_t type
Definition: xine_plugin.h:84
PluginParam factor_p
Definition: convolve_fx.c:32
int crop_right
Definition: video_out.h:129
SoundInfo sound
Definition: goom_plugin_info.h:90
float visibility
Definition: convolve_fx.c:43
void goom_set_list_param_value(PluginParam *p, const char *str)
Definition: config_param.c:104
#define G_OFFSET
Definition: goom_graphic.h:52
#define CPU_OPTION_MMX
Definition: cpu_info.h:24
int enabled
Definition: xine_plugin.c:113
Definition: video_out.h:176
int top_field_first
Definition: video_out.h:120
#define lprintf(...)
Definition: xineutils.h:620
static void deinterlace_flush(xine_video_port_t *port_gen)
Definition: xine_plugin.c:483
void(* changed)(struct _PARAM *_this)
Definition: goom_config_param.h:63
const char * name
Definition: goom_config_param.h:47
#define POST_PARAM_TYPE_BOOL
Definition: xine.h:904
#define IMIN(p)
Definition: goom_config_param.h:78
@ PARAM_BOOLVAL
Definition: goom_config_param.h:16
static void empty_fct(PluginParam *dummy)
Definition: config_param.c:20
int judder_correction
Definition: xine_plugin.c:65
#define FMAX(p)
Definition: goom_config_param.h:75
enable disable pulldown_error_wait
Definition: xine_plugin.c:82
#define FSTEP(p)
Definition: goom_config_param.h:76
static int deinterlace_set_property(xine_video_port_t *port_gen, int property, int value)
Definition: xine_plugin.c:459
const deinterlace_method_t * greedy2frame_get_method(void)
Definition: greedy2frame.c:108
vo_frame_t * recent_frame[2]
Definition: xine_plugin.c:128
vo_frame_t * new_frame
Definition: post.h:188
PluginParam last_goom_p
Definition: goom_plugin_info.h:63
pthread_mutex_t lock
Definition: xine_plugin.c:130
unsigned int cpu_number(void)
Definition: cpu_info.c:71
#define XINE_EVENT_POST_TVTIME_FILMMODE_CHANGE
Definition: xine.h:1918
void setup_speedy_calls(uint32_t accel, int verbose)
Definition: speedy.c:2586
PluginParam light
Definition: convolve_fx.c:30
Motif conv_motif
Definition: convolve_fx.c:44
PluginParam factor_adj_p
Definition: convolve_fx.c:31
#define CPU_OPTION_64_BITS
Definition: cpu_info.h:23
Definition: xine_plugin.c:108
void _x_post_frame_copy_up(vo_frame_t *to, vo_frame_t *from)
Definition: post.c:695
void tvtime_reset_context(tvtime_t *tvtime)
Definition: tvtime.c:476
int height
Definition: video_out.h:138
static post_plugin_t * deinterlace_open_plugin(post_class_t *class_gen, int inputs, xine_audio_port_t **audio_target, xine_video_port_t **video_target)
Definition: xine_plugin.c:348
struct _PLUGIN_INFO::_SIZE_TYPE screen
int framerate_mode
Definition: xine_plugin.c:64
NULL
Definition: xine_plugin.c:78
void xine_event_send(xine_stream_t *s, const xine_event_t *event)
Definition: events.c:194
@ PARAM_INTVAL
Definition: goom_config_param.h:14
int crop_left
Definition: video_out.h:129
#define XINE_VERBOSITY_LOG
Definition: xine.h:425
uint32_t xine_mm_accel(void)
Definition: cpu_accel.c:390
@ PARAM_FLOATVAL
Definition: goom_config_param.h:15
const char * name
Definition: deinterlace.h:125
static const char * enum_methods[30]
Definition: xine_plugin.c:49
int height
Definition: goom_plugin_info.h:86
int bad_frame
Definition: video_out.h:111
@ FRAMERATE_HALF_BFF
Definition: tvtime.h:43
VisualFX convolve_create(void)
Definition: convolve_fx.c:360
Definition: goom_config_param.h:95
PluginParam goom_power_p
Definition: goom_plugin_info.h:62
static void deinterlace_dispose(post_plugin_t *this_gen)
Definition: xine_plugin.c:437
void(* yv12_to_yuy2)(const unsigned char *y_src, int y_src_pitch, const unsigned char *u_src, int u_src_pitch, const unsigned char *v_src, int v_src_pitch, unsigned char *yuy2_map, int yuy2_pitch, int width, int height, int progressive)
Definition: color.c:104
ParamType type
Definition: goom_config_param.h:50
int progressive_frame
Definition: video_out.h:125
unsigned int width
Definition: gfontrle.c:4
#define XINE_VERSION_CODE
Definition: xine_internal.h:57
int repeat_first_field
Definition: video_out.h:121
int pulldown_error_wait
Definition: xine_plugin.c:63
Definition: goom_visual_fx.h:17
int vo_deinterlace_enabled
Definition: xine_plugin.c:123
#define _(String)
Definition: vcdplayer.h:39
PARAM_ITEM(POST_PARAM_TYPE_INT, method,(char **) enum_methods, 0, 0, 0, "deinterlace method") PARAM_ITEM(POST_PARAM_TYPE_BOOL
const deinterlace_method_t * linear_get_method(void)
Definition: linear.c:75
const char * desc
Definition: goom_config_param.h:97
const deinterlace_method_t * weave_get_method(void)
Definition: weave.c:68
int duration
Definition: video_out.h:112
int cur_method
Definition: xine_plugin.c:112
PluginParam goom_secure_f_feedback(const char *name)
Definition: config_param.c:45
@ PULLDOWN_NONE
Definition: tvtime.h:34
static int filter(const char *in, const char *filter, char **out)
Definition: sdpplin.c:45
#define MAX_NUM_METHODS
Definition: xine_plugin.c:48
int judder_correction
Definition: xine_plugin.c:116
int use_progressive_frame_flag
Definition: xine_plugin.c:66
static const char *const enum_pulldown[]
Definition: xine_plugin.c:50
const deinterlace_method_t * double_get_method(void)
Definition: double.c:67
PluginParam goom_secure_s_param(const char *name)
Definition: config_param.c:51
#define ISTEP(p)
Definition: goom_config_param.h:80
float speedvar
Definition: goom_plugin_info.h:48
int tvtime_build_deinterlaced_frame(tvtime_t *tvtime, uint8_t *output, uint8_t *curframe, uint8_t *lastframe, uint8_t *secondlastframe, int bottom_field, int second_field, int width, int frame_height, int instride, int outstride)
Definition: tvtime.c:152
Definition: deinterlace.h:123
PluginParam goom_secure_i_param(const char *name)
Definition: config_param.c:67
PluginParam goom_secure_param()
Definition: config_param.c:24
Definition: goom_plugin_info.h:75
const char * desc
Definition: goom_config_param.h:48
PluginParam goom_secure_i_feedback(const char *name)
Definition: config_param.c:78
int nbParams
Definition: goom_config_param.h:98
#define VO_BOTH_FIELDS
Definition: video_out.h:293
const char * short_name
Definition: deinterlace.h:126
static void deinterlace_close(xine_video_port_t *port_gen, xine_stream_t *stream)
Definition: xine_plugin.c:507
struct _CONV_DATA ConvData
static void set_motif(ConvData *data, const Motif motif)
Definition: convolve_fx.c:71
void(* change_listener)(struct _PARAM *_this)
Definition: goom_config_param.h:60
#define NUM_RECENT_FRAMES
int pulldown
Definition: xine_plugin.c:62
int framerate_mode
Definition: xine_plugin.c:115
char rw
Definition: goom_config_param.h:49
int h_height
Definition: convolve_fx.c:42
const deinterlace_method_t * dscaler_greedyh_get_method(void)
Definition: kdetv_greedyh.c:128
post_plugin_t * post
Definition: post.h:225
xine_post_out_t xine_out
Definition: post.h:149
PluginParam ** params
Definition: goom_config_param.h:99
const char * name
Definition: xine.h:724
const char name[16]
Definition: memcpy.c:569
int width
Definition: goom_plugin_info.h:85
enable disable number of frames of telecine pattern sync required before mode change judder_correction
Definition: xine_plugin.c:86
#define CPU_OPTION_ALTIVEC
Definition: cpu_info.h:22
#define END_PARAM_DESCR(name)
Definition: post.h:443
#define B_OFFSET
Definition: goom_graphic.h:53
int h_sin[512]
Definition: convolve_fx.c:40
int crop_top
Definition: video_out.h:129
void(* open)(xine_video_port_t *self, xine_stream_t *stream)
Definition: video_out.h:183
void free_deinterlace_methods(deinterlace_methods_t *methodlist)
Definition: deinterlace.c:43
int format
Definition: video_out.h:140
xine_video_port_t * port
Definition: video_out.h:150
@ FRAMERATE_HALF_TFF
Definition: tvtime.h:42
unsigned int height
Definition: gfontrle.c:5
const Motif motif
Definition: motif_goom1.h:3
Definition: audio_out.h:172
enable disable number of frames of telecine pattern sync required before mode change make frames evenly spaced for film mode(24 fps)" ) PARAM_ITEM( POST_PARAM_TYPE_BOOL
static char * get_static_help(void)
Definition: xine_plugin.c:199
struct deinterlace_parameters_s deinterlace_parameters_t
#define secure_i_param
Definition: goom_config_param.h:106
vo_frame_t *(* get_frame)(xine_video_port_t *self, uint32_t width, uint32_t height, double ratio, int format, int flags)
Definition: video_out.h:194
static xine_post_api_descr_t * get_param_descr(void)
Definition: xine_plugin.c:195
uint8_t rff_pattern
Definition: xine_plugin.c:126
extra_info_t * extra_info
Definition: video_out.h:135
PluginParameters * params
Definition: goom_visual_fx.h:23
int _x_post_dispose(post_plugin_t *this)
Definition: post.c:1044
static void autoset_cpu_info(void)
Definition: cpu_info.c:29
void _x_post_init(post_plugin_t *post, int num_audio_inputs, int num_video_inputs)
Definition: post.c:292
void register_deinterlace_method(deinterlace_methods_t *methodlist, const deinterlace_method_t *method)
Definition: deinterlace.c:56
const deinterlace_method_t * greedy_get_method(void)
Definition: greedy.c:200
const deinterlace_method_t * get_deinterlace_method(deinterlace_methods_t methodlist, int i)
Definition: deinterlace.c:90
int(* draw)(vo_frame_t *vo_img, xine_stream_t *stream)
Definition: video_out.h:91
#define secure_f_feedback
Definition: goom_config_param.h:109
void * user_data
Definition: goom_config_param.h:65
post_video_port_t * _x_post_intercept_video_port(post_plugin_t *post, xine_video_port_t *original, post_in_t **input, post_out_t **output)
Definition: post.c:509
int tvtime_last_filmmode
Definition: xine_plugin.c:122
static void create_output_with_brightness(VisualFX *_this, Pixel *src, Pixel *dest, PluginInfo *info, int iff)
Definition: convolve_fx.c:121
const deinterlace_method_t * scalerbob_get_method(void)
Definition: scalerbob.c:63
#define plugin_parameters
Definition: goom_config_param.h:113
#define PLUGIN_NONE
Definition: xine_plugin.h:29
void(* flush)(xine_video_port_t *self)
Definition: video_out.h:211
int use_progressive_frame_flag
Definition: xine_plugin.c:117
void goom_set_str_param_value(PluginParam *p, const char *str)
Definition: config_param.c:95
int inverse_motif
Definition: convolve_fx.c:45
int get_num_deinterlace_methods(deinterlace_methods_t methodlist)
Definition: deinterlace.c:79
int tvtime_build_copied_field(tvtime_t *tvtime, uint8_t *output, uint8_t *curframe, int bottom_field, int width, int frame_height, int instride, int outstride)
Definition: tvtime.c:413
#define CONV_MOTIF_WMASK
Definition: convolve_fx.c:18
static void convolve_free(VisualFX *_this)
Definition: convolve_fx.c:113
PluginParameters params
Definition: convolve_fx.c:33
static int get_parameters(xine_post_t *this_gen, void *param_gen)
Definition: xine_plugin.c:178
#define FVAL(p)
Definition: goom_config_param.h:70
tvtime_t * tvtime_new_context(void)
Definition: tvtime.c:461
#define PLUGIN_POST
Definition: xine_plugin.h:37
static int deinterlace_draw(vo_frame_t *frame, xine_stream_t *stream)
Definition: xine_plugin.c:688
#define CPU_OPTION_XMMX
Definition: cpu_info.h:25
int(* set_property)(xine_video_port_t *self, int property, int value)
Definition: video_out.h:221
int enabled
Definition: xine_plugin.c:61
PluginParameters goom_plugin_parameters(const char *name, int nb)
Definition: config_param.c:84
struct vo_frame_s * next
Definition: video_out.h:164
#define VO_TOP_FIELD
Definition: video_out.h:291
int pulldown
Definition: xine_plugin.c:114
int type
Definition: xine.h:1929
static void * help_string
Definition: xine_plugin.c:53
Definition: video_out.h:59
#define SVAL(p)
Definition: goom_config_param.h:69
static void convolve_init(VisualFX *_this, PluginInfo *info)
Definition: convolve_fx.c:78
@ PULLDOWN_VEKTOR
Definition: tvtime.h:35
unsigned int cpu_flavour(void)
Definition: cpu_info.c:65
void(* lock)(vo_frame_t *vo_img)
Definition: video_out.h:97
static void deinterlace_open(xine_video_port_t *port_gen, xine_stream_t *stream)
Definition: xine_plugin.c:492
int(* set_parameters)(xine_post_t *self, const void *params)
Definition: xine.h:877
Definition: xine_plugin.c:58
static const post_info_t deinterlace_special_info
Definition: xine_plugin.c:933
#define FMIN(p)
Definition: goom_config_param.h:74
double ratio
Definition: video_out.h:139
int data_length
Definition: xine.h:1927
int h_cos[512]
Definition: convolve_fx.c:41
struct FloatVal fval
Definition: goom_config_param.h:53
int cheap_mode
Definition: xine_plugin.c:119
void(* close)(xine_video_port_t *self, xine_stream_t *stream)
Definition: video_out.h:230
Definition: goom_config_param.h:46
int chroma_filter
Definition: xine_plugin.c:67
int width
Definition: video_out.h:138
static void convolve_apply(VisualFX *_this, Pixel *src, Pixel *dest, PluginInfo *info)
Definition: convolve_fx.c:296
#define XINE_POST_DATA_PARAMETERS
Definition: xine.h:851
static int input(void)
Definition: goomsl_lex.c:1495
int theta
Definition: convolve_fx.c:38
uint8_t * base[3]
Definition: video_out.h:116
static int deinterlace_build_output_field(post_plugin_deinterlace_t *this, post_video_port_t *port, xine_stream_t *stream, vo_frame_t *frame, vo_frame_t *yuy2_frame, int bottom_field, int second_field, int64_t pts, int64_t duration, int skip)
Definition: xine_plugin.c:562
int flags
Definition: video_out.h:143
void * xine_buffer_init(int chunk_size)
Definition: xine_buffer.c:129
#define XINE_IMGFMT_YUY2
Definition: xine.h:495
const char * name
Definition: goom_config_param.h:96
PluginParam goom_secure_b_param(const char *name, int value)
Definition: config_param.c:59
void _x_post_frame_copy_down(vo_frame_t *from, vo_frame_t *to)
Definition: post.c:660
Definition: xine_plugin.h:55
#define IVAL(p)
Definition: goom_config_param.h:68
static void _flush_frames(post_plugin_deinterlace_t *this)
Definition: xine_plugin.c:136
#define secure_param
Definition: goom_config_param.h:104
#define xprintf(xine, verbose,...)
Definition: xineutils.h:664
#define xine_buffer_strcat(buf, data)
Definition: xine_buffer.c:266
#define CONV_MOTIF_W
Definition: convolve_fx.c:17
unsigned int cycle
Definition: goom_plugin_info.h:112
tvtime_t * tvtime
Definition: xine_plugin.c:120
#define N_(String)
Definition: xineintl.h:47
void(* free)(vo_frame_t *vo_img)
Definition: video_out.h:100
static char * get_help(void)
Definition: xine_plugin.c:256
Definition: convolve_fx.c:29
unsigned int val
Definition: goom_graphic.h:62
static void _x_post_rewire(post_plugin_t *post)
Definition: post.h:373
unsigned char Motif[128][128]
Definition: convolve_fx.c:20
unsigned int cpu_flavour(void)
Definition: cpu_info.c:65
const char * description
Definition: deinterlace.h:135
#define POST_PARAM_TYPE_INT
Definition: xine.h:899
int chroma_filter
Definition: xine_plugin.c:118
static unsigned int CPU_FLAVOUR
Definition: cpu_info.c:25