MythTV  master
blend.h
Go to the documentation of this file.
1 #ifndef BLEND_H
2 #define BLEND_H
3 
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7 
8 #include "mythconfig.h"
9 #if HAVE_STDINT_H
10 #ifdef __cplusplus
11 #include <cstdint>
12 #else
13 #include <stdint.h>
14 #endif
15 #endif
16 
17 #ifdef __OpenBSD__
18 #include <i386/types.h>
19 #endif
20 
21 typedef void (*blendregion_ptr) (uint8_t *, uint8_t *, uint8_t *, uint8_t *,
22  int, uint8_t *, uint8_t *, uint8_t *,
23  uint8_t *, int, int, int, int, int,
24  int16_t[256], uint8_t[256][256]);
25 
26 typedef void (*blendcolumn2_ptr) (uint8_t *, uint8_t *, uint8_t *, uint8_t *,
27  int, uint8_t *, uint8_t *, uint8_t *,
28  uint8_t *, int, uint8_t *, uint8_t *,
29  uint8_t *, uint8_t *, uint8_t *, int, int,
30  int, int, int, int16_t[256],
31  uint8_t[256][256]);
32 
33 typedef void (*blendcolumn_ptr) (uint8_t *, uint8_t *, uint8_t *, uint8_t *,
34  int, uint8_t *, uint8_t *, uint8_t *,
35  uint8_t *, int, int, int, int, int,
36  int16_t[256], uint8_t[256][256]);
37 
38 typedef void (*blendcolor_ptr) (uint8_t, uint8_t, uint8_t, uint8_t *, int,
39  uint8_t *, uint8_t *, uint8_t *, uint8_t *,
40  int, int, int, int, int, int16_t[256],
41  uint8_t[256][256]);
42 
43 typedef void (*blendconst_ptr) (uint8_t, uint8_t, uint8_t, uint8_t,
44  uint8_t *, uint8_t *, uint8_t *, uint8_t *,
45  int, int, int, int, int16_t[256],
46  uint8_t[256][256]);
47 
48 #ifdef MMX
49 void blendregion_mmx (uint8_t * ysrc, uint8_t * usrc, uint8_t * vsrc,
50  uint8_t * asrc, int srcstrd,
51  uint8_t * ydst, uint8_t * udst, uint8_t * vdst,
52  uint8_t * adst, int dststrd,
53  int width, int height, int alphamod, int dochroma,
54  int16_t rec_lut[256], uint8_t pow_lut[256][256]);
55 
56 void blendcolumn2_mmx (uint8_t * ysrc1, uint8_t * usrc1, uint8_t * vsrc1,
57  uint8_t * asrc1, int srcstrd1,
58  uint8_t * ysrc2, uint8_t * usrc2, uint8_t * vsrc2,
59  uint8_t * asrc2, int srcstrd2,
60  uint8_t * mask,
61  uint8_t * ydst, uint8_t * udst, uint8_t * vdst,
62  uint8_t * adst, int dststrd,
63  int width, int height, int alphamod, int dochroma,
64  int16_t rec_lut[256], uint8_t pow_lut[256][256]);
65 
66 void blendcolumn_mmx (uint8_t * ysrc, uint8_t * usrc, uint8_t * vsrc,
67  uint8_t * asrc, int srcstrd,
68  uint8_t * ydst, uint8_t * udst, uint8_t * vdst,
69  uint8_t * adst, int dststrd,
70  int width, int height, int alphamod, int dochroma,
71  int16_t rec_lut[256], uint8_t pow_lut[256][256]);
72 
73 void blendcolor_mmx (uint8_t ysrc, uint8_t usrc, uint8_t vsrc,
74  uint8_t * asrc, int srcstrd,
75  uint8_t * ydst, uint8_t * udst, uint8_t * vdst,
76  uint8_t * adst, int dststrd,
77  int width, int height, int alphamod, int dochroma,
78  int16_t rec_lut[256], uint8_t pow_lut[256][256]);
79 
80 void blendconst_mmx (uint8_t ysrc, uint8_t usrc, uint8_t vsrc,
81  uint8_t asrc,
82  uint8_t * ydst, uint8_t * udst, uint8_t * vdst,
83  uint8_t * adst, int dststrd,
84  int width, int height, int dochroma,
85  int16_t rec_lut[256], uint8_t pow_lut[256][256]);
86 #endif
87 
88 void blendregion (uint8_t * ysrc, uint8_t * usrc, uint8_t * vsrc,
89  uint8_t * asrc, int srcstrd,
90  uint8_t * ydst, uint8_t * udst, uint8_t * vdst,
91  uint8_t * adst, int dststrd,
92  int width, int height, int alphamod, int dochroma,
93  int16_t rec_lut[256], uint8_t pow_lut[256][256]);
94 
95 void blendcolumn2 (uint8_t * ysrc1, uint8_t * usrc1, uint8_t * vsrc1,
96  uint8_t * asrc1, int srcstrd1,
97  uint8_t * ysrc2, uint8_t * usrc2, uint8_t * vsrc2,
98  uint8_t * asrc2, int srcstrd2,
99  uint8_t * mask,
100  uint8_t * ydst, uint8_t * udst, uint8_t * vdst,
101  uint8_t * adst, int dststrd,
102  int width, int height, int alphamod, int dochroma,
103  int16_t rec_lut[256], uint8_t pow_lut[256][256]);
104 
105 void blendcolumn (uint8_t * ysrc, uint8_t * usrc, uint8_t * vsrc,
106  uint8_t * asrc, int srcstrd,
107  uint8_t * ydst, uint8_t * udst, uint8_t * vdst,
108  uint8_t * adst, int dststrd,
109  int width, int height, int alphamod, int dochroma,
110  int16_t rec_lut[256], uint8_t pow_lut[256][256]);
111 
112 void blendcolor (uint8_t ysrc, uint8_t usrc, uint8_t vsrc,
113  uint8_t * asrc, int srcstrd,
114  uint8_t * ydst, uint8_t * udst, uint8_t * vdst,
115  uint8_t * adst, int dststrd,
116  int width, int height, int alphamod, int dochroma,
117  int16_t rec_lut[256], uint8_t pow_lut[256][256]);
118 
119 void blendconst (uint8_t ysrc, uint8_t usrc, uint8_t vsrc,
120  uint8_t asrc,
121  uint8_t * ydst, uint8_t * udst, uint8_t * vdst,
122  uint8_t * adst, int dststrd,
123  int width, int height, int dochroma,
124  int16_t rec_lut[256], uint8_t pow_lut[256][256]);
125 
126 #ifdef __cplusplus
127 }
128 #endif
129 
130 #endif /* BLEND_H */
void(* blendcolumn_ptr)(uint8_t *, uint8_t *, uint8_t *, uint8_t *, int, uint8_t *, uint8_t *, uint8_t *, uint8_t *, int, int, int, int, int, int16_t[256], uint8_t[256][256])
Definition: blend.h:33
void blendcolumn2(uint8_t *ysrc1, uint8_t *usrc1, uint8_t *vsrc1, uint8_t *asrc1, int srcstrd1, uint8_t *ysrc2, uint8_t *usrc2, uint8_t *vsrc2, uint8_t *asrc2, int srcstrd2, uint8_t *mask, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, uint8_t *adst, int dststrd, int width, int height, int alphamod, int dochroma, int16_t rec_lut[256], uint8_t pow_lut[256][256])
Definition: blend.c:1272
void(* blendregion_ptr)(uint8_t *, uint8_t *, uint8_t *, uint8_t *, int, uint8_t *, uint8_t *, uint8_t *, uint8_t *, int, int, int, int, int, int16_t[256], uint8_t[256][256])
Definition: blend.h:21
void blendconst_mmx(uint8_t ysrc, uint8_t usrc, uint8_t vsrc, uint8_t asrc, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, uint8_t *adst, int dststrd, int width, int height, int dochroma, int16_t rec_lut[256], uint8_t pow_lut[256][256])
Definition: blend.c:775
void blendcolor(uint8_t ysrc, uint8_t usrc, uint8_t vsrc, uint8_t *asrc, int srcstrd, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, uint8_t *adst, int dststrd, int width, int height, int alphamod, int dochroma, int16_t rec_lut[256], uint8_t pow_lut[256][256])
Definition: blend.c:1361
void blendregion_mmx(uint8_t *ysrc, uint8_t *usrc, uint8_t *vsrc, uint8_t *asrc, int srcstrd, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, uint8_t *adst, int dststrd, int width, int height, int alphamod, int dochroma, int16_t rec_lut[256], uint8_t pow_lut[256][256])
Definition: blend.c:16
void blendregion(uint8_t *ysrc, uint8_t *usrc, uint8_t *vsrc, uint8_t *asrc, int srcstrd, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, uint8_t *adst, int dststrd, int width, int height, int alphamod, int dochroma, int16_t rec_lut[256], uint8_t pow_lut[256][256])
Definition: blend.c:1217
void blendcolor_mmx(uint8_t ysrc, uint8_t usrc, uint8_t vsrc, uint8_t *asrc, int srcstrd, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, uint8_t *adst, int dststrd, int width, int height, int alphamod, int dochroma, int16_t rec_lut[256], uint8_t pow_lut[256][256])
Definition: blend.c:559
void(* blendcolor_ptr)(uint8_t, uint8_t, uint8_t, uint8_t *, int, uint8_t *, uint8_t *, uint8_t *, uint8_t *, int, int, int, int, int, int16_t[256], uint8_t[256][256])
Definition: blend.h:38
void blendconst(uint8_t ysrc, uint8_t usrc, uint8_t vsrc, uint8_t asrc, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, uint8_t *adst, int dststrd, int width, int height, int dochroma, int16_t rec_lut[256], uint8_t pow_lut[256][256])
Definition: blend.c:1412
void blendcolumn(uint8_t *ysrc, uint8_t *usrc, uint8_t *vsrc, uint8_t *asrc, int srcstrd, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, uint8_t *adst, int dststrd, int width, int height, int alphamod, int dochroma, int16_t rec_lut[256], uint8_t pow_lut[256][256])
Definition: blend.c:1461
void blendcolumn_mmx(uint8_t *ysrc, uint8_t *usrc, uint8_t *vsrc, uint8_t *asrc, int srcstrd, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, uint8_t *adst, int dststrd, int width, int height, int alphamod, int dochroma, int16_t rec_lut[256], uint8_t pow_lut[256][256])
Definition: blend.c:978
void(* blendcolumn2_ptr)(uint8_t *, uint8_t *, uint8_t *, uint8_t *, int, uint8_t *, uint8_t *, uint8_t *, uint8_t *, int, uint8_t *, uint8_t *, uint8_t *, uint8_t *, uint8_t *, int, int, int, int, int, int16_t[256], uint8_t[256][256])
Definition: blend.h:26
void blendcolumn2_mmx(uint8_t *ysrc1, uint8_t *usrc1, uint8_t *vsrc1, uint8_t *asrc1, int srcstrd1, uint8_t *ysrc2, uint8_t *usrc2, uint8_t *vsrc2, uint8_t *asrc2, int srcstrd2, uint8_t *mask, uint8_t *ydst, uint8_t *udst, uint8_t *vdst, uint8_t *adst, int dststrd, int width, int height, int alphamod, int dochroma, int16_t rec_lut[256], uint8_t pow_lut[256][256])
Definition: blend.c:237
void(* blendconst_ptr)(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t *, uint8_t *, uint8_t *, uint8_t *, int, int, int, int, int16_t[256], uint8_t[256][256])
Definition: blend.h:43