xine-lib  1.2.9
speedy.h
Go to the documentation of this file.
1 
19 #ifndef SPEEDY_H_INCLUDED
20 #define SPEEDY_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 
48 typedef struct pulldown_metrics_s {
49  /* difference: total, even lines, odd lines */
50  int d, e, o;
51  /* noise: temporal, spacial (current), spacial (past) */
52  int t, s, p;
54 
58 extern void (*interpolate_packed422_scanline)( uint8_t *output, uint8_t *top,
59  uint8_t *bot, int width );
60 
64 extern void (*blit_colour_packed422_scanline)( uint8_t *output,
65  int width, int y, int cb, int cr );
66 
71 extern void (*blit_colour_packed4444_scanline)( uint8_t *output,
72  int width, int alpha, int luma,
73  int cb, int cr );
74 
78 extern void (*blit_packed422_scanline)( uint8_t *dest, const uint8_t *src, int width );
79 
84 extern void (*composite_packed4444_to_packed422_scanline)( uint8_t *output,
85  uint8_t *input,
86  uint8_t *foreground,
87  int width );
88 
95 extern void (*composite_packed4444_alpha_to_packed422_scanline)( uint8_t *output,
96  uint8_t *input,
97  uint8_t *foreground,
98  int width, int alpha );
99 
104 extern void (*composite_alphamask_to_packed4444_scanline)( uint8_t *output,
105  uint8_t *input,
106  uint8_t *mask, int width,
107  int textluma, int textcb,
108  int textcr );
109 
115 extern void (*composite_alphamask_alpha_to_packed4444_scanline)( uint8_t *output,
116  uint8_t *input,
117  uint8_t *mask, int width,
118  int textluma, int textcb,
119  int textcr, int alpha );
120 
124 extern void (*composite_bars_packed4444_scanline)( uint8_t *output,
125  uint8_t *background, int width,
126  int a, int luma, int cb, int cr,
127  int percentage );
128 
129 
134 extern void (*premultiply_packed4444_scanline)( uint8_t *output, uint8_t *input, int width );
135 
142 extern void (*blend_packed422_scanline)( uint8_t *output, uint8_t *src1,
143  uint8_t *src2, int width, int pos );
144 
150 extern unsigned int (*diff_factor_packed422_scanline)( uint8_t *cur, uint8_t *old, int width );
151 
157 extern unsigned int (*comb_factor_packed422_scanline)( uint8_t *top, uint8_t *mid,
158  uint8_t *bot, int width );
159 
163 extern void (*vfilter_chroma_121_packed422_scanline)( uint8_t *output, int width,
164  uint8_t *m, uint8_t *t, uint8_t *b );
165 
169 extern void (*vfilter_chroma_332_packed422_scanline)( uint8_t *output, int width,
170  uint8_t *m, uint8_t *t, uint8_t *b );
171 
175 extern void (*filter_luma_121_packed422_inplace_scanline)( uint8_t *data, int width );
176 
180 extern void (*filter_luma_14641_packed422_inplace_scanline)( uint8_t *data, int width );
181 
185 extern void (*kill_chroma_packed422_inplace_scanline)( uint8_t *data, int width );
186 
190 extern void (*mirror_packed422_inplace_scanline)( uint8_t *data, int width );
191 
195 extern void (*halfmirror_packed422_inplace_scanline)( uint8_t *data, int width );
196 
200 extern void (*invert_colour_packed422_inplace_scanline)( uint8_t *data, int width );
201 
206 extern void *(*speedy_memcpy)( void *output, const void *input, size_t size );
207 
212 extern void (*diff_packed422_block8x8)( pulldown_metrics_t *m, uint8_t *old,
213  uint8_t *new, int os, int ns );
214 
219 extern void (*a8_subpix_blit_scanline)( uint8_t *output, uint8_t *input,
220  int lasta, int startpos, int width );
221 
226 extern void (*quarter_blit_vertical_packed422_scanline)( uint8_t *output, uint8_t *one,
227  uint8_t *three, int width );
228 
233 extern void (*subpix_blit_vertical_packed422_scanline)( uint8_t *output, uint8_t *top,
234  uint8_t *bot, int subpixpos, int width );
235 
240 extern void (*packed444_to_nonpremultiplied_packed4444_scanline)( uint8_t *output,
241  uint8_t *input,
242  int width, int alpha );
243 
250 extern void (*aspect_adjust_packed4444_scanline)( uint8_t *output,
251  uint8_t *input,
252  int width,
253  double pixel_aspect );
254 
259 extern void (*packed444_to_packed422_scanline)( uint8_t *output,
260  uint8_t *input,
261  int width );
262 
267 extern void (*packed422_to_packed444_scanline)( uint8_t *output,
268  uint8_t *input,
269  int width );
270 
277 extern void (*packed422_to_packed444_rec601_scanline)( uint8_t *dest,
278  uint8_t *src,
279  int width );
280 
286 extern void (*packed444_to_rgb24_rec601_scanline)( uint8_t *output,
287  uint8_t *input,
288  int width );
289 extern void (*rgb24_to_packed444_rec601_scanline)( uint8_t *output,
290  uint8_t *input,
291  int width );
292 extern void (*rgba32_to_packed4444_rec601_scanline)( uint8_t *output,
293  uint8_t *input,
294  int width );
295 
301 extern void (*chroma_422_to_444_mpeg2_plane)( uint8_t *dst, uint8_t *src,
302  int width, int height );
303 
309 extern void (*chroma_420_to_422_mpeg2_plane)( uint8_t *dst, uint8_t *src,
310  int width, int height, int progressive );
311 
316 void setup_speedy_calls( uint32_t accel, int verbose );
317 
322 uint32_t speedy_get_accel( void );
323 
324 #ifdef __cplusplus
325 };
326 #endif
327 #endif /* SPEEDY_H_INCLUDED */
void(* blend_packed422_scanline)(uint8_t *output, uint8_t *src1, uint8_t *src2, int width, int pos)
Definition: speedy.c:97
void(* rgb24_to_packed444_rec601_scanline)(uint8_t *output, uint8_t *input, int width)
Definition: speedy.c:139
unsigned int height
Definition: gfontrle.c:5
void(* filter_luma_14641_packed422_inplace_scanline)(uint8_t *data, int width)
Definition: speedy.c:100
void(* a8_subpix_blit_scanline)(uint8_t *output, uint8_t *input, int lasta, int startpos, int width)
Definition: speedy.c:110
void(* interpolate_packed422_scanline)(uint8_t *output, uint8_t *top, uint8_t *bot, int width)
Definition: speedy.c:72
void(* composite_alphamask_to_packed4444_scanline)(uint8_t *output, uint8_t *input, uint8_t *mask, int width, int textluma, int textcb, int textcr)
Definition: speedy.c:86
void(* composite_alphamask_alpha_to_packed4444_scanline)(uint8_t *output, uint8_t *input, uint8_t *mask, int width, int textluma, int textcb, int textcr, int alpha)
Definition: speedy.c:91
void(* packed422_to_packed444_scanline)(uint8_t *output, uint8_t *input, int width)
Definition: speedy.c:130
void(* composite_packed4444_to_packed422_scanline)(uint8_t *output, uint8_t *input, uint8_t *foreground, int width)
Definition: speedy.c:80
void(* blit_packed422_scanline)(uint8_t *dest, const uint8_t *src, int width)
Definition: speedy.c:79
void(* packed422_to_packed444_rec601_scanline)(uint8_t *dest, uint8_t *src, int width)
Definition: speedy.c:133
void(* blit_colour_packed422_scanline)(uint8_t *output, int width, int y, int cb, int cr)
Definition: speedy.c:74
void(* aspect_adjust_packed4444_scanline)(uint8_t *output, uint8_t *input, int width, double pixel_aspect)
Definition: speedy.c:123
void(* composite_bars_packed4444_scanline)(uint8_t *output, uint8_t *background, int width, int a, int luma, int cb, int cr, int percentage)
Definition: speedy.c:116
void(* packed444_to_nonpremultiplied_packed4444_scanline)(uint8_t *output, uint8_t *input, int width, int alpha)
Definition: speedy.c:120
void(* chroma_422_to_444_mpeg2_plane)(uint8_t *dst, uint8_t *src, int width, int height)
Definition: speedy.c:145
void(* premultiply_packed4444_scanline)(uint8_t *output, uint8_t *input, int width)
Definition: speedy.c:96
unsigned int(* diff_factor_packed422_scanline)(uint8_t *cur, uint8_t *old, int width)
Definition: speedy.c:101
void(* blit_colour_packed4444_scanline)(uint8_t *output, int width, int alpha, int luma, int cb, int cr)
Definition: speedy.c:76
unsigned int(* comb_factor_packed422_scanline)(uint8_t *top, uint8_t *mid, uint8_t *bot, int width)
Definition: speedy.c:102
void(* mirror_packed422_inplace_scanline)(uint8_t *data, int width)
Definition: speedy.c:105
void(* kill_chroma_packed422_inplace_scanline)(uint8_t *data, int width)
Definition: speedy.c:104
int t
Definition: speedy.h:52
void setup_speedy_calls(uint32_t accel, int verbose)
Definition: speedy.c:2583
void(* vfilter_chroma_332_packed422_scanline)(uint8_t *output, int width, uint8_t *m, uint8_t *t, uint8_t *b)
Definition: speedy.c:152
void(* filter_luma_121_packed422_inplace_scanline)(uint8_t *data, int width)
Definition: speedy.c:99
void(* vfilter_chroma_121_packed422_scanline)(uint8_t *output, int width, uint8_t *m, uint8_t *t, uint8_t *b)
Definition: speedy.c:150
static int input(void)
Definition: goomsl_lex.c:1495
uint32_t speedy_get_accel(void)
Definition: speedy.c:2679
void(* chroma_420_to_422_mpeg2_plane)(uint8_t *dst, uint8_t *src, int width, int height, int progressive)
Definition: speedy.c:147
void(* rgba32_to_packed4444_rec601_scanline)(uint8_t *output, uint8_t *input, int width)
Definition: speedy.c:142
void(* quarter_blit_vertical_packed422_scanline)(uint8_t *output, uint8_t *one, uint8_t *three, int width)
Definition: speedy.c:112
Definition: speedy.h:48
unsigned int width
Definition: gfontrle.c:4
int o
Definition: speedy.h:50
void(* packed444_to_packed422_scanline)(uint8_t *output, uint8_t *input, int width)
Definition: speedy.c:127
void(* halfmirror_packed422_inplace_scanline)(uint8_t *data, int width)
Definition: speedy.c:106
void(* composite_packed4444_alpha_to_packed422_scanline)(uint8_t *output, uint8_t *input, uint8_t *foreground, int width, int alpha)
Definition: speedy.c:82
int s
Definition: speedy.h:52
void(* invert_colour_packed422_inplace_scanline)(uint8_t *data, int width)
Definition: speedy.c:149
int e
Definition: speedy.h:50
int d
Definition: speedy.h:50
struct pulldown_metrics_s pulldown_metrics_t
void(* subpix_blit_vertical_packed422_scanline)(uint8_t *output, uint8_t *top, uint8_t *bot, int subpixpos, int width)
Definition: speedy.c:114
void(* diff_packed422_block8x8)(pulldown_metrics_t *m, uint8_t *old, uint8_t *new, int os, int ns)
Definition: speedy.c:108
void(* packed444_to_rgb24_rec601_scanline)(uint8_t *output, uint8_t *input, int width)
Definition: speedy.c:136
int p
Definition: speedy.h:52