xine-lib  1.2.9
deinterlace.h
Go to the documentation of this file.
1 
19 #ifndef DEINTERLACE_H_INCLUDED
20 #define DEINTERLACE_H_INCLUDED
21 
22 #if HAVE_INTTYPES_H
23 #include <inttypes.h>
24 #else
25 #include <stdint.h>
26 #endif
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
42 
55 {
56  uint8_t *tt0, *t0, *m0, *b0, *bb0;
57  uint8_t *tt1, *t1, *m1, *b1, *bb1;
58  uint8_t *tt2, *t2, *m2, *b2, *bb2;
59  uint8_t *tt3, *t3, *m3, *b3, *bb3;
61 };
62 
78 typedef void (*deinterlace_interp_scanline_t)( uint8_t *output,
80  int width );
93 typedef void (*deinterlace_copy_scanline_t)( uint8_t *output,
95  int width );
96 
102 {
103  uint8_t *f0;
104  uint8_t *f1;
105  uint8_t *f2;
106  uint8_t *f3;
107 };
108 
112 typedef void (*deinterlace_frame_t)( uint8_t *output, int outstride,
114  int bottom_field, int second_field,
115  int width, int height );
116 
117 
122 {
123  const char *name;
124  const char *short_name;
132  int delaysfield; /* xine: this method delays output by one field relative to input */
133  const char *description;
134 };
135 
136 
138 
143 
148 
153 
157 void filter_deinterlace_methods( deinterlace_methods_t *, int accel, int fieldsavailable );
158 
160 
161 #ifdef __cplusplus
162 };
163 #endif
164 #endif /* DEINTERLACE_H_INCLUDED */
uint8_t * f1
Definition: deinterlace.h:104
unsigned int height
Definition: gfontrle.c:5
const char * description
Definition: deinterlace.h:133
uint8_t * t0
Definition: deinterlace.h:56
deinterlace_interp_scanline_t interpolate_scanline
Definition: deinterlace.h:129
deinterlace_copy_scanline_t copy_scanline
Definition: deinterlace.h:130
Definition: deinterlace.h:54
int accelrequired
Definition: deinterlace.h:126
int delaysfield
Definition: deinterlace.h:132
Definition: deinterlace.h:121
uint8_t * t1
Definition: deinterlace.h:57
uint8_t * m3
Definition: deinterlace.h:59
uint8_t * f3
Definition: deinterlace.h:106
uint8_t * b3
Definition: deinterlace.h:59
void register_deinterlace_method(deinterlace_methods_t *, const deinterlace_method_t *method)
Definition: deinterlace.c:57
uint8_t * b1
Definition: deinterlace.h:57
Definition: deinterlace.h:101
const deinterlace_method_t * get_deinterlace_method(deinterlace_methods_t, int i)
Definition: deinterlace.c:91
uint8_t * tt2
Definition: deinterlace.h:58
const char * name
Definition: deinterlace.h:123
uint8_t * b2
Definition: deinterlace.h:58
uint8_t * m0
Definition: deinterlace.h:56
uint8_t * bb3
Definition: deinterlace.h:59
uint8_t * m1
Definition: deinterlace.h:57
deinterlace_frame_t deinterlace_frame
Definition: deinterlace.h:131
void filter_deinterlace_methods(deinterlace_methods_t *, int accel, int fieldsavailable)
Definition: deinterlace.c:104
void(* deinterlace_interp_scanline_t)(uint8_t *output, deinterlace_scanline_data_t *data, int width)
Definition: deinterlace.h:78
struct methodlist_item_s * deinterlace_methods_t
Definition: deinterlace.h:137
uint8_t * t3
Definition: deinterlace.h:59
uint8_t * bb2
Definition: deinterlace.h:58
void(* deinterlace_frame_t)(uint8_t *output, int outstride, deinterlace_frame_data_t *data, int bottom_field, int second_field, int width, int height)
Definition: deinterlace.h:112
const deinterlace_method_t * method
Definition: deinterlace.c:40
const char * short_name
Definition: deinterlace.h:124
uint8_t * tt1
Definition: deinterlace.h:57
unsigned int width
Definition: gfontrle.c:4
uint8_t * bb1
Definition: deinterlace.h:57
int fields_required
Definition: deinterlace.h:125
uint8_t * bb0
Definition: deinterlace.h:56
uint8_t * t2
Definition: deinterlace.h:58
Definition: deinterlace.c:38
uint8_t * tt0
Definition: deinterlace.h:56
void free_deinterlace_methods(deinterlace_methods_t *)
Definition: deinterlace.c:44
uint8_t * tt3
Definition: deinterlace.h:59
void(* deinterlace_copy_scanline_t)(uint8_t *output, deinterlace_scanline_data_t *data, int width)
Definition: deinterlace.h:93
int get_num_deinterlace_methods(deinterlace_methods_t)
Definition: deinterlace.c:80
uint8_t * m2
Definition: deinterlace.h:58
int doscalerbob
Definition: deinterlace.h:127
uint8_t * b0
Definition: deinterlace.h:56
uint8_t * f0
Definition: deinterlace.h:103
int scanlinemode
Definition: deinterlace.h:128
uint8_t * f2
Definition: deinterlace.h:105
int bottom_field
Definition: deinterlace.h:60