xine-lib 1.2.13-20230125hg15249
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
29extern "C" {
30#endif
31
48typedef 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
58extern void (*interpolate_packed422_scanline)( uint8_t *output, uint8_t *top,
59 uint8_t *bot, int width );
60
64extern void (*blit_colour_packed422_scanline)( uint8_t *output,
65 int width, int y, int cb, int cr );
66
71extern void (*blit_colour_packed4444_scanline)( uint8_t *output,
72 int width, int alpha, int luma,
73 int cb, int cr );
74
78extern void (*blit_packed422_scanline)( uint8_t *dest, const uint8_t *src, int width );
79
84extern void (*composite_packed4444_to_packed422_scanline)( uint8_t *output,
85 uint8_t *input,
86 uint8_t *foreground,
87 int width );
88
95extern void (*composite_packed4444_alpha_to_packed422_scanline)( uint8_t *output,
96 uint8_t *input,
97 uint8_t *foreground,
98 int width, int alpha );
99
104extern 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
115extern 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
124extern 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
134extern void (*premultiply_packed4444_scanline)( uint8_t *output, uint8_t *input, int width );
135
142extern void (*blend_packed422_scanline)( uint8_t *output, uint8_t *src1,
143 uint8_t *src2, int width, int pos );
144
150extern unsigned int (*diff_factor_packed422_scanline)( uint8_t *cur, uint8_t *old, int width );
151
157extern unsigned int (*comb_factor_packed422_scanline)( uint8_t *top, uint8_t *mid,
158 uint8_t *bot, int width );
159
163extern void (*vfilter_chroma_121_packed422_scanline)( uint8_t *output, int width,
164 uint8_t *m, uint8_t *t, uint8_t *b );
165
169extern void (*vfilter_chroma_332_packed422_scanline)( uint8_t *output, int width,
170 uint8_t *m, uint8_t *t, uint8_t *b );
171
175extern void (*filter_luma_121_packed422_inplace_scanline)( uint8_t *data, int width );
176
180extern void (*filter_luma_14641_packed422_inplace_scanline)( uint8_t *data, int width );
181
185extern void (*kill_chroma_packed422_inplace_scanline)( uint8_t *data, int width );
186
190extern void (*mirror_packed422_inplace_scanline)( uint8_t *data, int width );
191
195extern void (*halfmirror_packed422_inplace_scanline)( uint8_t *data, int width );
196
200extern void (*invert_colour_packed422_inplace_scanline)( uint8_t *data, int width );
201
206extern void *(*speedy_memcpy)( void *output, const void *input, size_t size );
207
212extern void (*diff_packed422_block8x8)( pulldown_metrics_t *m, uint8_t *old,
213 uint8_t *new, int os, int ns );
214
219extern void (*a8_subpix_blit_scanline)( uint8_t *output, uint8_t *input,
220 int lasta, int startpos, int width );
221
226extern void (*quarter_blit_vertical_packed422_scanline)( uint8_t *output, uint8_t *one,
227 uint8_t *three, int width );
228
233extern void (*subpix_blit_vertical_packed422_scanline)( uint8_t *output, uint8_t *top,
234 uint8_t *bot, int subpixpos, int width );
235
240extern void (*packed444_to_nonpremultiplied_packed4444_scanline)( uint8_t *output,
241 uint8_t *input,
242 int width, int alpha );
243
250#if 0
251extern void (*aspect_adjust_packed4444_scanline)( uint8_t *output,
252 uint8_t *input,
253 int width,
254 double pixel_aspect );
255#endif
260extern void (*packed444_to_packed422_scanline)( uint8_t *output,
261 uint8_t *input,
262 int width );
263
268extern void (*packed422_to_packed444_scanline)( uint8_t *output,
269 uint8_t *input,
270 int width );
271
278extern void (*packed422_to_packed444_rec601_scanline)( uint8_t *dest,
279 uint8_t *src,
280 int width );
281
287extern void (*packed444_to_rgb24_rec601_scanline)( uint8_t *output,
288 uint8_t *input,
289 int width );
290extern void (*rgb24_to_packed444_rec601_scanline)( uint8_t *output,
291 uint8_t *input,
292 int width );
293extern void (*rgba32_to_packed4444_rec601_scanline)( uint8_t *output,
294 uint8_t *input,
295 int width );
296
302extern void (*chroma_422_to_444_mpeg2_plane)( uint8_t *dst, uint8_t *src,
303 int width, int height );
304
310extern void (*chroma_420_to_422_mpeg2_plane)( uint8_t *dst, uint8_t *src,
311 int width, int height, int progressive );
312
317void setup_speedy_calls( uint32_t accel, int verbose );
318
323uint32_t speedy_get_accel( void );
324
325#ifdef __cplusplus
326};
327#endif
328#endif /* SPEEDY_H_INCLUDED */
unsigned int height
Definition gfontrle.c:5
unsigned int width
Definition gfontrle.c:4
static int input(void)
Definition goomsl_lex.c:1495
unsigned int(* diff_factor_packed422_scanline)(uint8_t *cur, uint8_t *old, int width)
Definition speedy.c:101
void(* rgba32_to_packed4444_rec601_scanline)(uint8_t *output, uint8_t *input, int width)
Definition speedy.c:144
void(* subpix_blit_vertical_packed422_scanline)(uint8_t *output, uint8_t *top, uint8_t *bot, int subpixpos, int width)
Definition speedy.c:114
void(* composite_packed4444_alpha_to_packed422_scanline)(uint8_t *output, uint8_t *input, uint8_t *foreground, int width, int alpha)
Definition speedy.c:82
void(* rgb24_to_packed444_rec601_scanline)(uint8_t *output, uint8_t *input, int width)
Definition speedy.c:141
void(* invert_colour_packed422_inplace_scanline)(uint8_t *data, int width)
Definition speedy.c:151
void(* blit_colour_packed422_scanline)(uint8_t *output, int width, int y, int cb, int cr)
Definition speedy.c:74
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(* a8_subpix_blit_scanline)(uint8_t *output, uint8_t *input, int lasta, int startpos, int width)
Definition speedy.c:110
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(* filter_luma_121_packed422_inplace_scanline)(uint8_t *data, int width)
Definition speedy.c:99
uint32_t speedy_get_accel(void)
Definition speedy.c:2684
void(* packed444_to_packed422_scanline)(uint8_t *output, uint8_t *input, int width)
Definition speedy.c:129
void(* blit_colour_packed4444_scanline)(uint8_t *output, int width, int alpha, int luma, int cb, int cr)
Definition speedy.c:76
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(* packed444_to_nonpremultiplied_packed4444_scanline)(uint8_t *output, uint8_t *input, int width, int alpha)
Definition speedy.c:120
unsigned int(* comb_factor_packed422_scanline)(uint8_t *top, uint8_t *mid, uint8_t *bot, int width)
Definition speedy.c:102
void(* composite_packed4444_to_packed422_scanline)(uint8_t *output, uint8_t *input, uint8_t *foreground, int width)
Definition speedy.c:80
void(* packed444_to_rgb24_rec601_scanline)(uint8_t *output, uint8_t *input, int width)
Definition speedy.c:138
void(* vfilter_chroma_121_packed422_scanline)(uint8_t *output, int width, uint8_t *m, uint8_t *t, uint8_t *b)
Definition speedy.c:152
void(* mirror_packed422_inplace_scanline)(uint8_t *data, int width)
Definition speedy.c:105
void(* quarter_blit_vertical_packed422_scanline)(uint8_t *output, uint8_t *one, uint8_t *three, int width)
Definition speedy.c:112
void(* chroma_420_to_422_mpeg2_plane)(uint8_t *dst, uint8_t *src, int width, int height, int progressive)
Definition speedy.c:149
void(* packed422_to_packed444_scanline)(uint8_t *output, uint8_t *input, int width)
Definition speedy.c:132
void(* filter_luma_14641_packed422_inplace_scanline)(uint8_t *data, int width)
Definition speedy.c:100
void(* vfilter_chroma_332_packed422_scanline)(uint8_t *output, int width, uint8_t *m, uint8_t *t, uint8_t *b)
Definition speedy.c:154
void(* interpolate_packed422_scanline)(uint8_t *output, uint8_t *top, uint8_t *bot, int width)
Definition speedy.c:72
void(* packed422_to_packed444_rec601_scanline)(uint8_t *dest, uint8_t *src, int width)
Definition speedy.c:135
void(* blit_packed422_scanline)(uint8_t *dest, const uint8_t *src, int width)
Definition speedy.c:79
void(* kill_chroma_packed422_inplace_scanline)(uint8_t *data, int width)
Definition speedy.c:104
struct pulldown_metrics_s pulldown_metrics_t
void(* blend_packed422_scanline)(uint8_t *output, uint8_t *src1, uint8_t *src2, int width, int pos)
Definition speedy.c:97
void(* diff_packed422_block8x8)(pulldown_metrics_t *m, uint8_t *old, uint8_t *new, int os, int ns)
Definition speedy.c:108
void(* premultiply_packed4444_scanline)(uint8_t *output, uint8_t *input, int width)
Definition speedy.c:96
void(* halfmirror_packed422_inplace_scanline)(uint8_t *data, int width)
Definition speedy.c:106
void setup_speedy_calls(uint32_t accel, int verbose)
Definition speedy.c:2586
void(* chroma_422_to_444_mpeg2_plane)(uint8_t *dst, uint8_t *src, int width, int height)
Definition speedy.c:147
Definition speedy.h:48
int p
Definition speedy.h:52
int o
Definition speedy.h:50
int s
Definition speedy.h:52
int e
Definition speedy.h:50
int d
Definition speedy.h:50
int t
Definition speedy.h:52