1
/*****************************************************************
2
* gavl - a general purpose audio/video processing library
4
* Copyright (c) 2001 - 2008 Members of the Gmerlin project
5
* gmerlin-general@lists.sourceforge.net
6
* http://gmerlin.sourceforge.net
8
* This program is free software: you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation, either version 2 of the License, or
11
* (at your option) any later version.
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
18
* You should have received a copy of the GNU General Public License
19
* along with this program. If not, see <http://www.gnu.org/licenses/>.
20
* *****************************************************************/
23
#include <gavl/gavl.h>
25
#include <transform.h>
26
#include "scale_macros.h"
28
#define TMP_TYPE_8 int
29
#define TMP_TYPE_16 uint32_t
30
/* transform_rgb_15_c */
32
#define FUNC_NAME transform_rgb_15_c
34
#define INIT TMP_TYPE_8 tmp;
38
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0].r + \
39
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1].r + \
40
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0].r + \
41
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1].r; \
42
tmp=DOWNSHIFT(tmp,16);\
44
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0].g + \
45
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1].g + \
46
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0].g + \
47
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1].g; \
48
tmp=DOWNSHIFT(tmp,16);\
50
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0].b + \
51
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1].b + \
52
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0].b + \
53
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1].b; \
54
tmp=DOWNSHIFT(tmp,16);\
59
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0].r + \
60
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1].r + \
61
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[2].r + \
62
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0].r + \
63
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1].r + \
64
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[2].r + \
65
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0].r + \
66
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[1].r + \
67
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[2].r; \
68
tmp=DOWNSHIFT(tmp,16);\
70
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0].g + \
71
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1].g + \
72
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[2].g + \
73
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0].g + \
74
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1].g + \
75
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[2].g + \
76
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0].g + \
77
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[1].g + \
78
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[2].g; \
79
tmp=DOWNSHIFT(tmp,16);\
81
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0].b + \
82
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1].b + \
83
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[2].b + \
84
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0].b + \
85
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1].b + \
86
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[2].b + \
87
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0].b + \
88
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[1].b + \
89
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[2].b; \
90
tmp=DOWNSHIFT(tmp,16);\
94
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0].r + \
95
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1].r + \
96
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[2].r + \
97
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[3].r + \
98
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0].r + \
99
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1].r + \
100
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[2].r + \
101
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[3].r + \
102
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0].r + \
103
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[1].r + \
104
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[2].r + \
105
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[3].r + \
106
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[0].r + \
107
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[1].r + \
108
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[2].r + \
109
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[3].r; \
110
tmp=DOWNSHIFT(tmp,16);\
112
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0].g + \
113
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1].g + \
114
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[2].g + \
115
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[3].g + \
116
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0].g + \
117
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1].g + \
118
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[2].g + \
119
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[3].g + \
120
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0].g + \
121
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[1].g + \
122
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[2].g + \
123
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[3].g + \
124
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[0].g + \
125
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[1].g + \
126
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[2].g + \
127
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[3].g; \
128
tmp=DOWNSHIFT(tmp,16);\
130
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0].b + \
131
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1].b + \
132
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[2].b + \
133
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[3].b + \
134
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0].b + \
135
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1].b + \
136
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[2].b + \
137
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[3].b + \
138
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0].b + \
139
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[1].b + \
140
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[2].b + \
141
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[3].b + \
142
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[0].b + \
143
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[1].b + \
144
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[2].b + \
145
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[3].b; \
146
tmp=DOWNSHIFT(tmp,16);\
150
#include "transform_c.h"
152
/* transform_rgb_16_c */
154
#define FUNC_NAME transform_rgb_16_c
155
#define TYPE color_16
156
#define INIT TMP_TYPE_8 tmp;
160
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0].r + \
161
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1].r + \
162
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0].r + \
163
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1].r; \
164
tmp=DOWNSHIFT(tmp,16);\
166
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0].g + \
167
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1].g + \
168
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0].g + \
169
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1].g; \
170
tmp=DOWNSHIFT(tmp,16);\
172
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0].b + \
173
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1].b + \
174
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0].b + \
175
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1].b; \
176
tmp=DOWNSHIFT(tmp,16);\
181
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0].r + \
182
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1].r + \
183
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[2].r + \
184
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0].r + \
185
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1].r + \
186
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[2].r + \
187
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0].r + \
188
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[1].r + \
189
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[2].r; \
190
tmp=DOWNSHIFT(tmp,16);\
192
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0].g + \
193
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1].g + \
194
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[2].g + \
195
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0].g + \
196
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1].g + \
197
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[2].g + \
198
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0].g + \
199
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[1].g + \
200
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[2].g; \
201
tmp=DOWNSHIFT(tmp,16);\
203
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0].b + \
204
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1].b + \
205
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[2].b + \
206
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0].b + \
207
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1].b + \
208
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[2].b + \
209
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0].b + \
210
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[1].b + \
211
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[2].b; \
212
tmp=DOWNSHIFT(tmp,16);\
218
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0].r + \
219
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1].r + \
220
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[2].r + \
221
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[3].r + \
222
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0].r + \
223
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1].r + \
224
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[2].r + \
225
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[3].r + \
226
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0].r + \
227
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[1].r + \
228
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[2].r + \
229
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[3].r + \
230
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[0].r + \
231
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[1].r + \
232
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[2].r + \
233
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[3].r; \
234
tmp=DOWNSHIFT(tmp,16);\
236
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0].g + \
237
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1].g + \
238
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[2].g + \
239
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[3].g + \
240
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0].g + \
241
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1].g + \
242
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[2].g + \
243
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[3].g + \
244
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0].g + \
245
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[1].g + \
246
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[2].g + \
247
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[3].g + \
248
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[0].g + \
249
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[1].g + \
250
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[2].g + \
251
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[3].g; \
252
tmp=DOWNSHIFT(tmp,16);\
254
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0].b + \
255
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1].b + \
256
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[2].b + \
257
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[3].b + \
258
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0].b + \
259
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1].b + \
260
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[2].b + \
261
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[3].b + \
262
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0].b + \
263
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[1].b + \
264
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[2].b + \
265
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[3].b + \
266
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[0].b + \
267
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[1].b + \
268
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[2].b + \
269
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[3].b; \
270
tmp=DOWNSHIFT(tmp,16);\
275
#include "transform_c.h"
277
/* transform_uint8_x_1_c */
279
#define FUNC_NAME transform_uint8_x_1_c
281
#define INIT TMP_TYPE_8 tmp;
285
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
286
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1] + \
287
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
288
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1]; \
289
tmp=DOWNSHIFT(tmp,16);\
293
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
294
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1] + \
295
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[2] + \
296
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
297
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1] + \
298
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[2] + \
299
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
300
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[1] + \
301
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[2]; \
302
tmp=DOWNSHIFT(tmp,16);\
307
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
308
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[1] + \
309
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[2] + \
310
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[3] + \
311
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
312
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[1] + \
313
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[2] + \
314
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[3] + \
315
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
316
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[1] + \
317
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[2] + \
318
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[3] + \
319
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[0] + \
320
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[1] + \
321
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[2] + \
322
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[3]; \
323
tmp=DOWNSHIFT(tmp,16);\
329
#include "transform_c.h"
331
/* transform_uint8_x_1_advance_c */
333
#define FUNC_NAME transform_uint8_x_1_advance_c
335
#define INIT TMP_TYPE_8 tmp;
339
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
340
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[ctx->advance] + \
341
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
342
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[ctx->advance]; \
343
tmp=DOWNSHIFT(tmp,16);\
347
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
348
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[ctx->advance] + \
349
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[2*ctx->advance] + \
350
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
351
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[ctx->advance] + \
352
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[2*ctx->advance] + \
353
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
354
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[ctx->advance] + \
355
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[2*ctx->advance]; \
356
tmp=DOWNSHIFT(tmp,16);\
361
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
362
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[ctx->advance] + \
363
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[2*ctx->advance] + \
364
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[3*ctx->advance] + \
365
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
366
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[ctx->advance] + \
367
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[2*ctx->advance] + \
368
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[3*ctx->advance] + \
369
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
370
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[ctx->advance] + \
371
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[2*ctx->advance] + \
372
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[3*ctx->advance] + \
373
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[0] + \
374
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[ctx->advance] + \
375
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[2*ctx->advance] + \
376
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[3*ctx->advance]; \
377
tmp=DOWNSHIFT(tmp,16);\
382
#include "transform_c.h"
385
/* transform_uint8_x_2_c */
387
#define FUNC_NAME transform_uint8_x_2_c
389
#define INIT TMP_TYPE_8 tmp;
393
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
394
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[2] + \
395
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
396
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[2]; \
397
tmp=DOWNSHIFT(tmp,16);\
399
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
400
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[3] + \
401
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
402
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[3]; \
403
tmp=DOWNSHIFT(tmp,16);\
407
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
408
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[2] + \
409
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[4] + \
410
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
411
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[2] + \
412
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[4] + \
413
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
414
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[2] + \
415
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[4]; \
416
tmp=DOWNSHIFT(tmp,16);\
418
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
419
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[3] + \
420
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[5] + \
421
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
422
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[3] + \
423
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[5] + \
424
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[1] + \
425
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[3] + \
426
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[5]; \
427
tmp=DOWNSHIFT(tmp,16);\
431
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
432
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[2] + \
433
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[4] + \
434
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[6] + \
435
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
436
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[2] + \
437
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[4] + \
438
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[6] + \
439
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
440
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[2] + \
441
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[4] + \
442
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[6] + \
443
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[0] + \
444
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[2] + \
445
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[4] + \
446
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[6]; \
447
tmp=DOWNSHIFT(tmp,16);\
449
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
450
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[3] + \
451
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[5] + \
452
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[7] + \
453
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
454
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[3] + \
455
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[5] + \
456
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[7] + \
457
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[1] + \
458
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[3] + \
459
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[5] + \
460
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[7] + \
461
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[1] + \
462
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[3] + \
463
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[5] + \
464
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[7]; \
465
tmp=DOWNSHIFT(tmp,16);\
469
#include "transform_c.h"
471
/* transform_uint8_x_3_c */
473
#define FUNC_NAME transform_uint8_x_3_3_c
475
#define INIT TMP_TYPE_8 tmp;
479
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
480
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[3] + \
481
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
482
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[3]; \
483
tmp=DOWNSHIFT(tmp,16);\
485
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
486
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[4] + \
487
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
488
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[4]; \
489
tmp=DOWNSHIFT(tmp,16);\
491
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[2] + \
492
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[5] + \
493
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[2] + \
494
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[5]; \
495
tmp=DOWNSHIFT(tmp,16);\
499
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
500
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[3] + \
501
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[6] + \
502
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
503
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[3] + \
504
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[6] + \
505
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
506
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[3] + \
507
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[6]; \
508
tmp=DOWNSHIFT(tmp,16);\
510
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
511
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[4] + \
512
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[7] + \
513
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
514
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[4] + \
515
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[7] + \
516
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[1] + \
517
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[4] + \
518
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[7]; \
519
tmp=DOWNSHIFT(tmp,16);\
521
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[2] + \
522
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[5] + \
523
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[8] + \
524
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[2] + \
525
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[5] + \
526
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[8] + \
527
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[2] + \
528
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[5] + \
529
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[8]; \
530
tmp=DOWNSHIFT(tmp,16);\
534
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
535
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[3] + \
536
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[6] + \
537
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[9] + \
538
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
539
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[3] + \
540
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[6] + \
541
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[9] + \
542
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
543
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[3] + \
544
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[6] + \
545
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[9] + \
546
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[0] + \
547
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[3] + \
548
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[6] + \
549
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[9]; \
550
tmp=DOWNSHIFT(tmp,16);\
552
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
553
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[4] + \
554
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[7] + \
555
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[10] + \
556
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
557
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[4] + \
558
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[7] + \
559
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[10] + \
560
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[1] + \
561
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[4] + \
562
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[7] + \
563
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[10] + \
564
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[1] + \
565
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[4] + \
566
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[7] + \
567
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[10]; \
568
tmp=DOWNSHIFT(tmp,16);\
570
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[2] + \
571
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[5] + \
572
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[8] + \
573
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[11] + \
574
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[2] + \
575
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[5] + \
576
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[8] + \
577
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[11] + \
578
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[2] + \
579
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[5] + \
580
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[8] + \
581
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[11] + \
582
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[2] + \
583
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[5] + \
584
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[8] + \
585
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[11]; \
586
tmp=DOWNSHIFT(tmp,16);\
591
#include "transform_c.h"
593
/* transform_uint8_x_3_4_c */
595
#define FUNC_NAME transform_uint8_x_3_4_c
597
#define INIT TMP_TYPE_8 tmp;
601
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
602
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[4] + \
603
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
604
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[4]; \
605
tmp=DOWNSHIFT(tmp,16);\
607
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
608
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[5] + \
609
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
610
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[5]; \
611
tmp=DOWNSHIFT(tmp,16);\
613
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[2] + \
614
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[6] + \
615
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[2] + \
616
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[6]; \
617
tmp=DOWNSHIFT(tmp,16);\
621
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
622
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[4] + \
623
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[8] + \
624
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
625
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[4] + \
626
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[8] + \
627
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
628
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[4] + \
629
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[8]; \
630
tmp=DOWNSHIFT(tmp,16);\
632
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
633
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[5] + \
634
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[9] + \
635
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
636
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[5] + \
637
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[9] + \
638
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[1] + \
639
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[5] + \
640
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[9]; \
641
tmp=DOWNSHIFT(tmp,16);\
643
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[2] + \
644
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[6] + \
645
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[10] + \
646
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[2] + \
647
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[6] + \
648
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[10] + \
649
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[2] + \
650
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[6] + \
651
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[10]; \
652
tmp=DOWNSHIFT(tmp,16);\
656
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
657
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[4] + \
658
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[8] + \
659
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[12] + \
660
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
661
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[4] + \
662
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[8] + \
663
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[12] + \
664
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
665
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[4] + \
666
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[8] + \
667
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[12] + \
668
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[0] + \
669
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[4] + \
670
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[8] + \
671
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[12]; \
672
tmp=DOWNSHIFT(tmp,16);\
674
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
675
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[5] + \
676
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[9] + \
677
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[13] + \
678
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
679
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[5] + \
680
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[9] + \
681
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[13] + \
682
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[1] + \
683
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[5] + \
684
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[9] + \
685
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[13] + \
686
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[1] + \
687
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[5] + \
688
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[9] + \
689
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[13]; \
690
tmp=DOWNSHIFT(tmp,16);\
692
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[2] + \
693
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[6] + \
694
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[10] + \
695
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[14] + \
696
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[2] + \
697
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[6] + \
698
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[10] + \
699
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[14] + \
700
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[2] + \
701
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[6] + \
702
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[10] + \
703
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[14] + \
704
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[2] + \
705
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[6] + \
706
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[10] + \
707
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[14]; \
708
tmp=DOWNSHIFT(tmp,16);\
713
#include "transform_c.h"
715
/* transform_uint8_x_4_c */
717
#define FUNC_NAME transform_uint8_x_4_c
719
#define INIT TMP_TYPE_8 tmp;
723
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
724
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[4] + \
725
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
726
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[4]; \
727
tmp=DOWNSHIFT(tmp,16);\
729
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
730
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[5] + \
731
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
732
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[5]; \
733
tmp=DOWNSHIFT(tmp,16);\
735
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[2] + \
736
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[6] + \
737
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[2] + \
738
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[6]; \
739
tmp=DOWNSHIFT(tmp,16);\
741
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[3] + \
742
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[7] + \
743
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[2] + \
744
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[7]; \
745
tmp=DOWNSHIFT(tmp,16);\
749
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
750
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[4] + \
751
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[8] + \
752
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
753
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[4] + \
754
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[8] + \
755
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
756
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[4] + \
757
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[8]; \
758
tmp=DOWNSHIFT(tmp,16);\
760
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
761
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[5] + \
762
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[9] + \
763
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
764
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[5] + \
765
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[9] + \
766
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[1] + \
767
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[5] + \
768
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[9]; \
769
tmp=DOWNSHIFT(tmp,16);\
771
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[2] + \
772
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[6] + \
773
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[10] + \
774
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[2] + \
775
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[6] + \
776
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[10] + \
777
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[2] + \
778
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[6] + \
779
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[10]; \
780
tmp=DOWNSHIFT(tmp,16);\
782
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[3] + \
783
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[7] + \
784
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[11] + \
785
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[3] + \
786
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[7] + \
787
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[11] + \
788
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[3] + \
789
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[7] + \
790
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[11]; \
791
tmp=DOWNSHIFT(tmp,16);\
795
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
796
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[4] + \
797
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[8] + \
798
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[12] + \
799
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
800
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[4] + \
801
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[8] + \
802
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[12] + \
803
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
804
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[4] + \
805
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[8] + \
806
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[12] + \
807
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[0] + \
808
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[4] + \
809
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[8] + \
810
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[12]; \
811
tmp=DOWNSHIFT(tmp,16);\
813
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
814
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[5] + \
815
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[9] + \
816
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[13] + \
817
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
818
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[5] + \
819
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[9] + \
820
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[13] + \
821
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[1] + \
822
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[5] + \
823
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[9] + \
824
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[13] + \
825
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[1] + \
826
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[5] + \
827
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[9] + \
828
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[13]; \
829
tmp=DOWNSHIFT(tmp,16);\
831
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[2] + \
832
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[6] + \
833
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[10] + \
834
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[14] + \
835
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[2] + \
836
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[6] + \
837
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[10] + \
838
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[14] + \
839
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[2] + \
840
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[6] + \
841
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[10] + \
842
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[14] + \
843
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[2] + \
844
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[6] + \
845
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[10] + \
846
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[14]; \
847
tmp=DOWNSHIFT(tmp,16);\
849
tmp = (TMP_TYPE_8)ctx->pixels[i].factors_i[0][0] * src_0[3] + \
850
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][1] * src_0[7] + \
851
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][2] * src_0[11] + \
852
(TMP_TYPE_8)ctx->pixels[i].factors_i[0][3] * src_0[15] + \
853
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][0] * src_1[3] + \
854
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][1] * src_1[7] + \
855
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][2] * src_1[11] + \
856
(TMP_TYPE_8)ctx->pixels[i].factors_i[1][3] * src_1[15] + \
857
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][0] * src_2[3] + \
858
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][1] * src_2[7] + \
859
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][2] * src_2[11] + \
860
(TMP_TYPE_8)ctx->pixels[i].factors_i[2][3] * src_2[15] + \
861
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][0] * src_3[3] + \
862
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][1] * src_3[7] + \
863
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][2] * src_3[11] + \
864
(TMP_TYPE_8)ctx->pixels[i].factors_i[3][3] * src_3[15]; \
865
tmp=DOWNSHIFT(tmp,16);\
871
#include "transform_c.h"
874
/* transform_uint16_x_1_c */
876
#define FUNC_NAME transform_uint16_x_1_c
877
#define TYPE uint16_t
878
#define INIT TMP_TYPE_16 tmp;
882
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
883
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[1] + \
884
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
885
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[1]; \
886
tmp=DOWNSHIFT(tmp,16);\
890
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
891
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[1] + \
892
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[2] + \
893
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
894
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[1] + \
895
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[2] + \
896
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
897
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[1] + \
898
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[2]; \
899
tmp=DOWNSHIFT(tmp,16);\
904
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
905
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[1] + \
906
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[2] + \
907
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][3] * src_0[3] + \
908
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
909
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[1] + \
910
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[2] + \
911
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][3] * src_1[3] + \
912
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
913
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[1] + \
914
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[2] + \
915
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][3] * src_2[3] + \
916
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][0] * src_3[0] + \
917
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][1] * src_3[1] + \
918
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][2] * src_3[2] + \
919
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][3] * src_3[3]; \
920
tmp=DOWNSHIFT(tmp,16);\
926
#include "transform_c.h"
929
/* transform_uint16_x_2_c */
931
#define FUNC_NAME transform_uint16_x_2_c
932
#define TYPE uint16_t
933
#define INIT TMP_TYPE_16 tmp;
937
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
938
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[2] + \
939
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
940
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[2]; \
941
tmp=DOWNSHIFT(tmp,16);\
943
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
944
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[3] + \
945
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
946
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[3]; \
947
tmp=DOWNSHIFT(tmp,16);\
951
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
952
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[2] + \
953
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[4] + \
954
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
955
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[2] + \
956
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[4] + \
957
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
958
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[2] + \
959
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[4]; \
960
tmp=DOWNSHIFT(tmp,16);\
962
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
963
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[3] + \
964
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[5] + \
965
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
966
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[3] + \
967
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[5] + \
968
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[1] + \
969
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[3] + \
970
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[5]; \
971
tmp=DOWNSHIFT(tmp,16);\
975
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
976
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[2] + \
977
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[4] + \
978
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][3] * src_0[6] + \
979
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
980
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[2] + \
981
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[4] + \
982
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][3] * src_1[6] + \
983
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
984
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[2] + \
985
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[4] + \
986
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][3] * src_2[6] + \
987
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][0] * src_3[0] + \
988
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][1] * src_3[2] + \
989
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][2] * src_3[4] + \
990
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][3] * src_3[6]; \
991
tmp=DOWNSHIFT(tmp,16);\
993
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
994
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[3] + \
995
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[5] + \
996
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][3] * src_0[7] + \
997
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
998
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[3] + \
999
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[5] + \
1000
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][3] * src_1[7] + \
1001
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[1] + \
1002
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[3] + \
1003
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[5] + \
1004
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][3] * src_2[7] + \
1005
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][0] * src_3[1] + \
1006
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][1] * src_3[3] + \
1007
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][2] * src_3[5] + \
1008
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][3] * src_3[7]; \
1009
tmp=DOWNSHIFT(tmp,16);\
1013
#include "transform_c.h"
1015
/* transform_uint16_x_3_c */
1017
#define FUNC_NAME transform_uint16_x_3_c
1018
#define TYPE uint16_t
1019
#define INIT TMP_TYPE_16 tmp;
1023
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
1024
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[3] + \
1025
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
1026
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[3]; \
1027
tmp=DOWNSHIFT(tmp,16);\
1029
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
1030
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[4] + \
1031
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
1032
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[4]; \
1033
tmp=DOWNSHIFT(tmp,16);\
1035
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[2] + \
1036
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[5] + \
1037
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[2] + \
1038
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[5]; \
1039
tmp=DOWNSHIFT(tmp,16);\
1043
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
1044
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[3] + \
1045
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[6] + \
1046
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
1047
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[3] + \
1048
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[6] + \
1049
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
1050
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[3] + \
1051
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[6]; \
1052
tmp=DOWNSHIFT(tmp,16);\
1054
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
1055
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[4] + \
1056
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[7] + \
1057
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
1058
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[4] + \
1059
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[7] + \
1060
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[1] + \
1061
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[4] + \
1062
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[7]; \
1063
tmp=DOWNSHIFT(tmp,16);\
1065
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[2] + \
1066
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[5] + \
1067
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[8] + \
1068
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[2] + \
1069
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[5] + \
1070
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[8] + \
1071
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[2] + \
1072
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[5] + \
1073
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[8]; \
1074
tmp=DOWNSHIFT(tmp,16);\
1078
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
1079
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[3] + \
1080
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[6] + \
1081
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][3] * src_0[9] + \
1082
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
1083
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[3] + \
1084
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[6] + \
1085
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][3] * src_1[9] + \
1086
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
1087
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[3] + \
1088
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[6] + \
1089
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][3] * src_2[9] + \
1090
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][0] * src_3[0] + \
1091
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][1] * src_3[3] + \
1092
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][2] * src_3[6] + \
1093
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][3] * src_3[9]; \
1094
tmp=DOWNSHIFT(tmp,16);\
1096
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
1097
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[4] + \
1098
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[7] + \
1099
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][3] * src_0[10] + \
1100
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
1101
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[4] + \
1102
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[7] + \
1103
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][3] * src_1[10] + \
1104
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[1] + \
1105
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[4] + \
1106
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[7] + \
1107
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][3] * src_2[10] + \
1108
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][0] * src_3[1] + \
1109
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][1] * src_3[4] + \
1110
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][2] * src_3[7] + \
1111
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][3] * src_3[10]; \
1112
tmp=DOWNSHIFT(tmp,16);\
1114
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[2] + \
1115
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[5] + \
1116
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[8] + \
1117
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][3] * src_0[11] + \
1118
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[2] + \
1119
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[5] + \
1120
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[8] + \
1121
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][3] * src_1[11] + \
1122
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[2] + \
1123
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[5] + \
1124
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[8] + \
1125
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][3] * src_2[11] + \
1126
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][0] * src_3[2] + \
1127
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][1] * src_3[5] + \
1128
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][2] * src_3[8] + \
1129
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][3] * src_3[11]; \
1130
tmp=DOWNSHIFT(tmp,16);\
1135
#include "transform_c.h"
1137
/* transform_uint16_x_4_c */
1139
#define FUNC_NAME transform_uint16_x_4_c
1140
#define TYPE uint16_t
1141
#define INIT TMP_TYPE_16 tmp;
1145
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
1146
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[4] + \
1147
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
1148
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[4]; \
1149
tmp=DOWNSHIFT(tmp,16);\
1151
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
1152
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[5] + \
1153
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
1154
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[5]; \
1155
tmp=DOWNSHIFT(tmp,16);\
1157
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[2] + \
1158
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[6] + \
1159
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[2] + \
1160
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[6]; \
1161
tmp=DOWNSHIFT(tmp,16);\
1163
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[3] + \
1164
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[7] + \
1165
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[2] + \
1166
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[7]; \
1167
tmp=DOWNSHIFT(tmp,16);\
1171
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
1172
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[4] + \
1173
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[8] + \
1174
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
1175
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[4] + \
1176
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[8] + \
1177
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
1178
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[4] + \
1179
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[8]; \
1180
tmp=DOWNSHIFT(tmp,16);\
1182
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
1183
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[5] + \
1184
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[9] + \
1185
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
1186
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[5] + \
1187
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[9] + \
1188
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[1] + \
1189
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[5] + \
1190
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[9]; \
1191
tmp=DOWNSHIFT(tmp,16);\
1193
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[2] + \
1194
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[6] + \
1195
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[10] + \
1196
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[2] + \
1197
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[6] + \
1198
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[10] + \
1199
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[2] + \
1200
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[6] + \
1201
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[10]; \
1202
tmp=DOWNSHIFT(tmp,16);\
1204
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[3] + \
1205
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[7] + \
1206
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[11] + \
1207
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[3] + \
1208
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[7] + \
1209
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[11] + \
1210
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[3] + \
1211
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[7] + \
1212
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[11]; \
1213
tmp=DOWNSHIFT(tmp,16);\
1217
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[0] + \
1218
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[4] + \
1219
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[8] + \
1220
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][3] * src_0[12] + \
1221
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[0] + \
1222
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[4] + \
1223
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[8] + \
1224
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][3] * src_1[12] + \
1225
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[0] + \
1226
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[4] + \
1227
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[8] + \
1228
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][3] * src_2[12] + \
1229
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][0] * src_3[0] + \
1230
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][1] * src_3[4] + \
1231
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][2] * src_3[8] + \
1232
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][3] * src_3[12]; \
1233
tmp=DOWNSHIFT(tmp,16);\
1235
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[1] + \
1236
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[5] + \
1237
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[9] + \
1238
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][3] * src_0[13] + \
1239
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[1] + \
1240
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[5] + \
1241
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[9] + \
1242
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][3] * src_1[13] + \
1243
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[1] + \
1244
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[5] + \
1245
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[9] + \
1246
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][3] * src_2[13] + \
1247
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][0] * src_3[1] + \
1248
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][1] * src_3[5] + \
1249
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][2] * src_3[9] + \
1250
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][3] * src_3[13]; \
1251
tmp=DOWNSHIFT(tmp,16);\
1253
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[2] + \
1254
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[6] + \
1255
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[10] + \
1256
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][3] * src_0[14] + \
1257
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[2] + \
1258
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[6] + \
1259
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[10] + \
1260
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][3] * src_1[14] + \
1261
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[2] + \
1262
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[6] + \
1263
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[10] + \
1264
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][3] * src_2[14] + \
1265
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][0] * src_3[2] + \
1266
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][1] * src_3[6] + \
1267
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][2] * src_3[10] + \
1268
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][3] * src_3[14]; \
1269
tmp=DOWNSHIFT(tmp,16);\
1271
tmp = (TMP_TYPE_16)ctx->pixels[i].factors_i[0][0] * src_0[3] + \
1272
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][1] * src_0[7] + \
1273
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][2] * src_0[11] + \
1274
(TMP_TYPE_16)ctx->pixels[i].factors_i[0][3] * src_0[15] + \
1275
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][0] * src_1[3] + \
1276
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][1] * src_1[7] + \
1277
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][2] * src_1[11] + \
1278
(TMP_TYPE_16)ctx->pixels[i].factors_i[1][3] * src_1[15] + \
1279
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][0] * src_2[3] + \
1280
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][1] * src_2[7] + \
1281
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][2] * src_2[11] + \
1282
(TMP_TYPE_16)ctx->pixels[i].factors_i[2][3] * src_2[15] + \
1283
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][0] * src_3[3] + \
1284
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][1] * src_3[7] + \
1285
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][2] * src_3[11] + \
1286
(TMP_TYPE_16)ctx->pixels[i].factors_i[3][3] * src_3[15]; \
1287
tmp=DOWNSHIFT(tmp,16);\
1291
#include "transform_c.h"
1293
#define FUNC_NAME transform_float_x_1_c
1298
dst[0] = ctx->pixels[i].factors[0][0] * src_0[0] + \
1299
ctx->pixels[i].factors[0][1] * src_0[1] + \
1300
ctx->pixels[i].factors[1][0] * src_1[0] + \
1301
ctx->pixels[i].factors[1][1] * src_1[1];
1304
dst[0] = ctx->pixels[i].factors[0][0] * src_0[0] + \
1305
ctx->pixels[i].factors[0][1] * src_0[1] + \
1306
ctx->pixels[i].factors[0][2] * src_0[2] + \
1307
ctx->pixels[i].factors[1][0] * src_1[0] + \
1308
ctx->pixels[i].factors[1][1] * src_1[1] + \
1309
ctx->pixels[i].factors[1][2] * src_1[2] + \
1310
ctx->pixels[i].factors[2][0] * src_2[0] + \
1311
ctx->pixels[i].factors[2][1] * src_2[1] + \
1312
ctx->pixels[i].factors[2][2] * src_2[2];
1316
dst[0] = ctx->pixels[i].factors[0][0] * src_0[0] + \
1317
ctx->pixels[i].factors[0][1] * src_0[1] + \
1318
ctx->pixels[i].factors[0][2] * src_0[2] + \
1319
ctx->pixels[i].factors[0][3] * src_0[3] + \
1320
ctx->pixels[i].factors[1][0] * src_1[0] + \
1321
ctx->pixels[i].factors[1][1] * src_1[1] + \
1322
ctx->pixels[i].factors[1][2] * src_1[2] + \
1323
ctx->pixels[i].factors[1][3] * src_1[3] + \
1324
ctx->pixels[i].factors[2][0] * src_2[0] + \
1325
ctx->pixels[i].factors[2][1] * src_2[1] + \
1326
ctx->pixels[i].factors[2][2] * src_2[2] + \
1327
ctx->pixels[i].factors[2][3] * src_2[3] + \
1328
ctx->pixels[i].factors[3][0] * src_3[0] + \
1329
ctx->pixels[i].factors[3][1] * src_3[1] + \
1330
ctx->pixels[i].factors[3][2] * src_3[2] + \
1331
ctx->pixels[i].factors[3][3] * src_3[3];
1334
#include "transform_c.h"
1336
#define FUNC_NAME transform_float_x_2_c
1341
dst[0] = ctx->pixels[i].factors[0][0] * src_0[0] + \
1342
ctx->pixels[i].factors[0][1] * src_0[2] + \
1343
ctx->pixels[i].factors[1][0] * src_1[0] + \
1344
ctx->pixels[i].factors[1][1] * src_1[2]; \
1345
dst[1] = ctx->pixels[i].factors[0][0] * src_0[1] + \
1346
ctx->pixels[i].factors[0][1] * src_0[3] + \
1347
ctx->pixels[i].factors[1][0] * src_1[1] + \
1348
ctx->pixels[i].factors[1][1] * src_1[3];
1351
dst[0] = ctx->pixels[i].factors[0][0] * src_0[0] + \
1352
ctx->pixels[i].factors[0][1] * src_0[2] + \
1353
ctx->pixels[i].factors[0][2] * src_0[4] + \
1354
ctx->pixels[i].factors[1][0] * src_1[0] + \
1355
ctx->pixels[i].factors[1][1] * src_1[2] + \
1356
ctx->pixels[i].factors[1][2] * src_1[4] + \
1357
ctx->pixels[i].factors[2][0] * src_2[0] + \
1358
ctx->pixels[i].factors[2][1] * src_2[2] + \
1359
ctx->pixels[i].factors[2][2] * src_2[4];\
1360
dst[1] = ctx->pixels[i].factors[0][0] * src_0[1] + \
1361
ctx->pixels[i].factors[0][1] * src_0[3] + \
1362
ctx->pixels[i].factors[0][2] * src_0[5] + \
1363
ctx->pixels[i].factors[1][0] * src_1[1] + \
1364
ctx->pixels[i].factors[1][1] * src_1[3] + \
1365
ctx->pixels[i].factors[1][2] * src_1[5] + \
1366
ctx->pixels[i].factors[2][0] * src_2[1] + \
1367
ctx->pixels[i].factors[2][1] * src_2[3] + \
1368
ctx->pixels[i].factors[2][2] * src_2[5];
1371
dst[0] = ctx->pixels[i].factors[0][0] * src_0[0] + \
1372
ctx->pixels[i].factors[0][1] * src_0[2] + \
1373
ctx->pixels[i].factors[0][2] * src_0[4] + \
1374
ctx->pixels[i].factors[0][3] * src_0[6] + \
1375
ctx->pixels[i].factors[1][0] * src_1[0] + \
1376
ctx->pixels[i].factors[1][1] * src_1[2] + \
1377
ctx->pixels[i].factors[1][2] * src_1[4] + \
1378
ctx->pixels[i].factors[1][3] * src_1[6] + \
1379
ctx->pixels[i].factors[2][0] * src_2[0] + \
1380
ctx->pixels[i].factors[2][1] * src_2[2] + \
1381
ctx->pixels[i].factors[2][2] * src_2[4] + \
1382
ctx->pixels[i].factors[2][3] * src_2[6] + \
1383
ctx->pixels[i].factors[3][0] * src_3[0] + \
1384
ctx->pixels[i].factors[3][1] * src_3[2] + \
1385
ctx->pixels[i].factors[3][2] * src_3[4] + \
1386
ctx->pixels[i].factors[3][3] * src_3[6];\
1387
dst[1] = ctx->pixels[i].factors[0][0] * src_0[1] + \
1388
ctx->pixels[i].factors[0][1] * src_0[3] + \
1389
ctx->pixels[i].factors[0][2] * src_0[5] + \
1390
ctx->pixels[i].factors[0][3] * src_0[7] + \
1391
ctx->pixels[i].factors[1][0] * src_1[1] + \
1392
ctx->pixels[i].factors[1][1] * src_1[3] + \
1393
ctx->pixels[i].factors[1][2] * src_1[5] + \
1394
ctx->pixels[i].factors[1][3] * src_1[7] + \
1395
ctx->pixels[i].factors[2][0] * src_2[1] + \
1396
ctx->pixels[i].factors[2][1] * src_2[3] + \
1397
ctx->pixels[i].factors[2][2] * src_2[5] + \
1398
ctx->pixels[i].factors[2][3] * src_2[7] + \
1399
ctx->pixels[i].factors[3][0] * src_3[1] + \
1400
ctx->pixels[i].factors[3][1] * src_3[3] + \
1401
ctx->pixels[i].factors[3][2] * src_3[5] + \
1402
ctx->pixels[i].factors[3][3] * src_3[7];
1405
#include "transform_c.h"
1407
#define FUNC_NAME transform_float_x_3_c
1412
dst[0] = ctx->pixels[i].factors[0][0] * src_0[0] + \
1413
ctx->pixels[i].factors[0][1] * src_0[3] + \
1414
ctx->pixels[i].factors[1][0] * src_1[0] + \
1415
ctx->pixels[i].factors[1][1] * src_1[3]; \
1416
dst[1] = ctx->pixels[i].factors[0][0] * src_0[1] + \
1417
ctx->pixels[i].factors[0][1] * src_0[4] + \
1418
ctx->pixels[i].factors[1][0] * src_1[1] + \
1419
ctx->pixels[i].factors[1][1] * src_1[4];\
1420
dst[2] = ctx->pixels[i].factors[0][0] * src_0[2] + \
1421
ctx->pixels[i].factors[0][1] * src_0[5] + \
1422
ctx->pixels[i].factors[1][0] * src_1[2] + \
1423
ctx->pixels[i].factors[1][1] * src_1[5];
1426
dst[0] = ctx->pixels[i].factors[0][0] * src_0[0] + \
1427
ctx->pixels[i].factors[0][1] * src_0[3] + \
1428
ctx->pixels[i].factors[0][2] * src_0[6] + \
1429
ctx->pixels[i].factors[1][0] * src_1[0] + \
1430
ctx->pixels[i].factors[1][1] * src_1[3] + \
1431
ctx->pixels[i].factors[1][2] * src_1[6] + \
1432
ctx->pixels[i].factors[2][0] * src_2[0] + \
1433
ctx->pixels[i].factors[2][1] * src_2[3] + \
1434
ctx->pixels[i].factors[2][2] * src_2[6];\
1435
dst[1] = ctx->pixels[i].factors[0][0] * src_0[1] + \
1436
ctx->pixels[i].factors[0][1] * src_0[4] + \
1437
ctx->pixels[i].factors[0][2] * src_0[7] + \
1438
ctx->pixels[i].factors[1][0] * src_1[1] + \
1439
ctx->pixels[i].factors[1][1] * src_1[4] + \
1440
ctx->pixels[i].factors[1][2] * src_1[7] + \
1441
ctx->pixels[i].factors[2][0] * src_2[1] + \
1442
ctx->pixels[i].factors[2][1] * src_2[4] + \
1443
ctx->pixels[i].factors[2][2] * src_2[7];\
1444
dst[2] = ctx->pixels[i].factors[0][0] * src_0[2] + \
1445
ctx->pixels[i].factors[0][1] * src_0[5] + \
1446
ctx->pixels[i].factors[0][2] * src_0[8] + \
1447
ctx->pixels[i].factors[1][0] * src_1[2] + \
1448
ctx->pixels[i].factors[1][1] * src_1[5] + \
1449
ctx->pixels[i].factors[1][2] * src_1[8] + \
1450
ctx->pixels[i].factors[2][0] * src_2[2] + \
1451
ctx->pixels[i].factors[2][1] * src_2[5] + \
1452
ctx->pixels[i].factors[2][2] * src_2[8];
1455
dst[0] = ctx->pixels[i].factors[0][0] * src_0[0] + \
1456
ctx->pixels[i].factors[0][1] * src_0[3] + \
1457
ctx->pixels[i].factors[0][2] * src_0[6] + \
1458
ctx->pixels[i].factors[0][3] * src_0[9] + \
1459
ctx->pixels[i].factors[1][0] * src_1[0] + \
1460
ctx->pixels[i].factors[1][1] * src_1[3] + \
1461
ctx->pixels[i].factors[1][2] * src_1[6] + \
1462
ctx->pixels[i].factors[1][3] * src_1[9] + \
1463
ctx->pixels[i].factors[2][0] * src_2[0] + \
1464
ctx->pixels[i].factors[2][1] * src_2[3] + \
1465
ctx->pixels[i].factors[2][2] * src_2[6] + \
1466
ctx->pixels[i].factors[2][3] * src_2[9] + \
1467
ctx->pixels[i].factors[3][0] * src_3[0] + \
1468
ctx->pixels[i].factors[3][1] * src_3[3] + \
1469
ctx->pixels[i].factors[3][2] * src_3[6] + \
1470
ctx->pixels[i].factors[3][3] * src_3[9];\
1471
dst[1] = ctx->pixels[i].factors[0][0] * src_0[1] + \
1472
ctx->pixels[i].factors[0][1] * src_0[4] + \
1473
ctx->pixels[i].factors[0][2] * src_0[7] + \
1474
ctx->pixels[i].factors[0][3] * src_0[10] + \
1475
ctx->pixels[i].factors[1][0] * src_1[1] + \
1476
ctx->pixels[i].factors[1][1] * src_1[4] + \
1477
ctx->pixels[i].factors[1][2] * src_1[7] + \
1478
ctx->pixels[i].factors[1][3] * src_1[10] + \
1479
ctx->pixels[i].factors[2][0] * src_2[1] + \
1480
ctx->pixels[i].factors[2][1] * src_2[4] + \
1481
ctx->pixels[i].factors[2][2] * src_2[7] + \
1482
ctx->pixels[i].factors[2][3] * src_2[10] + \
1483
ctx->pixels[i].factors[3][0] * src_3[1] + \
1484
ctx->pixels[i].factors[3][1] * src_3[4] + \
1485
ctx->pixels[i].factors[3][2] * src_3[7] + \
1486
ctx->pixels[i].factors[3][3] * src_3[10];\
1487
dst[2] = ctx->pixels[i].factors[0][0] * src_0[2] + \
1488
ctx->pixels[i].factors[0][1] * src_0[5] + \
1489
ctx->pixels[i].factors[0][2] * src_0[8] + \
1490
ctx->pixels[i].factors[0][3] * src_0[11] + \
1491
ctx->pixels[i].factors[1][0] * src_1[2] + \
1492
ctx->pixels[i].factors[1][1] * src_1[5] + \
1493
ctx->pixels[i].factors[1][2] * src_1[8] + \
1494
ctx->pixels[i].factors[1][3] * src_1[11] + \
1495
ctx->pixels[i].factors[2][0] * src_2[2] + \
1496
ctx->pixels[i].factors[2][1] * src_2[5] + \
1497
ctx->pixels[i].factors[2][2] * src_2[8] + \
1498
ctx->pixels[i].factors[2][3] * src_2[11] + \
1499
ctx->pixels[i].factors[3][0] * src_3[2] + \
1500
ctx->pixels[i].factors[3][1] * src_3[5] + \
1501
ctx->pixels[i].factors[3][2] * src_3[8] + \
1502
ctx->pixels[i].factors[3][3] * src_3[11];
1506
#include "transform_c.h"
1508
#define FUNC_NAME transform_float_x_4_c
1513
dst[0] = ctx->pixels[i].factors[0][0] * src_0[0] + \
1514
ctx->pixels[i].factors[0][1] * src_0[4] + \
1515
ctx->pixels[i].factors[1][0] * src_1[0] + \
1516
ctx->pixels[i].factors[1][1] * src_1[4]; \
1517
dst[1] = ctx->pixels[i].factors[0][0] * src_0[1] + \
1518
ctx->pixels[i].factors[0][1] * src_0[5] + \
1519
ctx->pixels[i].factors[1][0] * src_1[1] + \
1520
ctx->pixels[i].factors[1][1] * src_1[5];\
1521
dst[2] = ctx->pixels[i].factors[0][0] * src_0[2] + \
1522
ctx->pixels[i].factors[0][1] * src_0[6] + \
1523
ctx->pixels[i].factors[1][0] * src_1[2] + \
1524
ctx->pixels[i].factors[1][1] * src_1[6];\
1525
dst[3] = ctx->pixels[i].factors[0][0] * src_0[3] + \
1526
ctx->pixels[i].factors[0][1] * src_0[7] + \
1527
ctx->pixels[i].factors[1][0] * src_1[3] + \
1528
ctx->pixels[i].factors[1][1] * src_1[7];
1531
dst[0] = ctx->pixels[i].factors[0][0] * src_0[0] + \
1532
ctx->pixels[i].factors[0][1] * src_0[4] + \
1533
ctx->pixels[i].factors[0][2] * src_0[8] + \
1534
ctx->pixels[i].factors[1][0] * src_1[0] + \
1535
ctx->pixels[i].factors[1][1] * src_1[4] + \
1536
ctx->pixels[i].factors[1][2] * src_1[8] + \
1537
ctx->pixels[i].factors[2][0] * src_2[0] + \
1538
ctx->pixels[i].factors[2][1] * src_2[4] + \
1539
ctx->pixels[i].factors[2][2] * src_2[8];\
1540
dst[1] = ctx->pixels[i].factors[0][0] * src_0[1] + \
1541
ctx->pixels[i].factors[0][1] * src_0[5] + \
1542
ctx->pixels[i].factors[0][2] * src_0[9] + \
1543
ctx->pixels[i].factors[1][0] * src_1[1] + \
1544
ctx->pixels[i].factors[1][1] * src_1[5] + \
1545
ctx->pixels[i].factors[1][2] * src_1[9] + \
1546
ctx->pixels[i].factors[2][0] * src_2[1] + \
1547
ctx->pixels[i].factors[2][1] * src_2[5] + \
1548
ctx->pixels[i].factors[2][2] * src_2[9];\
1549
dst[2] = ctx->pixels[i].factors[0][0] * src_0[2] + \
1550
ctx->pixels[i].factors[0][1] * src_0[6] + \
1551
ctx->pixels[i].factors[0][2] * src_0[10] + \
1552
ctx->pixels[i].factors[1][0] * src_1[2] + \
1553
ctx->pixels[i].factors[1][1] * src_1[6] + \
1554
ctx->pixels[i].factors[1][2] * src_1[10] + \
1555
ctx->pixels[i].factors[2][0] * src_2[2] + \
1556
ctx->pixels[i].factors[2][1] * src_2[6] + \
1557
ctx->pixels[i].factors[2][2] * src_2[10];
1560
dst[0] = ctx->pixels[i].factors[0][0] * src_0[0] + \
1561
ctx->pixels[i].factors[0][1] * src_0[4] + \
1562
ctx->pixels[i].factors[0][2] * src_0[8] + \
1563
ctx->pixels[i].factors[0][3] * src_0[10] + \
1564
ctx->pixels[i].factors[1][0] * src_1[0] + \
1565
ctx->pixels[i].factors[1][1] * src_1[4] + \
1566
ctx->pixels[i].factors[1][2] * src_1[8] + \
1567
ctx->pixels[i].factors[1][3] * src_1[10] + \
1568
ctx->pixels[i].factors[2][0] * src_2[0] + \
1569
ctx->pixels[i].factors[2][1] * src_2[4] + \
1570
ctx->pixels[i].factors[2][2] * src_2[8] + \
1571
ctx->pixels[i].factors[2][3] * src_2[12] + \
1572
ctx->pixels[i].factors[3][0] * src_3[0] + \
1573
ctx->pixels[i].factors[3][1] * src_3[4] + \
1574
ctx->pixels[i].factors[3][2] * src_3[8] + \
1575
ctx->pixels[i].factors[3][3] * src_3[12];\
1576
dst[1] = ctx->pixels[i].factors[0][0] * src_0[1] + \
1577
ctx->pixels[i].factors[0][1] * src_0[5] + \
1578
ctx->pixels[i].factors[0][2] * src_0[9] + \
1579
ctx->pixels[i].factors[0][3] * src_0[13] + \
1580
ctx->pixels[i].factors[1][0] * src_1[1] + \
1581
ctx->pixels[i].factors[1][1] * src_1[5] + \
1582
ctx->pixels[i].factors[1][2] * src_1[9] + \
1583
ctx->pixels[i].factors[1][3] * src_1[13] + \
1584
ctx->pixels[i].factors[2][0] * src_2[1] + \
1585
ctx->pixels[i].factors[2][1] * src_2[5] + \
1586
ctx->pixels[i].factors[2][2] * src_2[9] + \
1587
ctx->pixels[i].factors[2][3] * src_2[13] + \
1588
ctx->pixels[i].factors[3][0] * src_3[1] + \
1589
ctx->pixels[i].factors[3][1] * src_3[5] + \
1590
ctx->pixels[i].factors[3][2] * src_3[9] + \
1591
ctx->pixels[i].factors[3][3] * src_3[13];\
1592
dst[2] = ctx->pixels[i].factors[0][0] * src_0[2] + \
1593
ctx->pixels[i].factors[0][1] * src_0[6] + \
1594
ctx->pixels[i].factors[0][2] * src_0[10] + \
1595
ctx->pixels[i].factors[0][3] * src_0[14] + \
1596
ctx->pixels[i].factors[1][0] * src_1[2] + \
1597
ctx->pixels[i].factors[1][1] * src_1[6] + \
1598
ctx->pixels[i].factors[1][2] * src_1[10] + \
1599
ctx->pixels[i].factors[1][3] * src_1[14] + \
1600
ctx->pixels[i].factors[2][0] * src_2[2] + \
1601
ctx->pixels[i].factors[2][1] * src_2[6] + \
1602
ctx->pixels[i].factors[2][2] * src_2[10] + \
1603
ctx->pixels[i].factors[2][3] * src_2[14] + \
1604
ctx->pixels[i].factors[3][0] * src_3[2] + \
1605
ctx->pixels[i].factors[3][1] * src_3[6] + \
1606
ctx->pixels[i].factors[3][2] * src_3[10] + \
1607
ctx->pixels[i].factors[3][3] * src_3[14];\
1608
dst[3] = ctx->pixels[i].factors[0][0] * src_0[3] + \
1609
ctx->pixels[i].factors[0][1] * src_0[7] + \
1610
ctx->pixels[i].factors[0][2] * src_0[11] + \
1611
ctx->pixels[i].factors[0][3] * src_0[15] + \
1612
ctx->pixels[i].factors[1][0] * src_1[3] + \
1613
ctx->pixels[i].factors[1][1] * src_1[7] + \
1614
ctx->pixels[i].factors[1][2] * src_1[11] + \
1615
ctx->pixels[i].factors[1][3] * src_1[15] + \
1616
ctx->pixels[i].factors[2][0] * src_2[3] + \
1617
ctx->pixels[i].factors[2][1] * src_2[7] + \
1618
ctx->pixels[i].factors[2][2] * src_2[11] + \
1619
ctx->pixels[i].factors[2][3] * src_2[15] + \
1620
ctx->pixels[i].factors[3][0] * src_3[3] + \
1621
ctx->pixels[i].factors[3][1] * src_3[7] + \
1622
ctx->pixels[i].factors[3][2] * src_3[11] + \
1623
ctx->pixels[i].factors[3][3] * src_3[15];
1627
#include "transform_c.h"
1633
void gavl_init_transform_funcs_bilinear_c(gavl_transform_funcs_t * tab,
1636
void gavl_init_transform_funcs_quadratic_c(gavl_transform_funcs_t * tab,
1639
void gavl_init_transform_funcs_bicubic_c(gavl_transform_funcs_t * tab,
1643
tab->transform_rgb_15 = transform_rgb_15_c;
1644
tab->transform_rgb_16 = transform_rgb_16_c;
1646
tab->transform_uint8_x_1_advance =
1647
transform_uint8_x_1_advance_c;
1648
tab->transform_uint8_x_1_noadvance =
1649
transform_uint8_x_1_c;
1651
tab->transform_uint8_x_2 = transform_uint8_x_2_c;
1654
tab->transform_uint8_x_3 = transform_uint8_x_3_4_c;
1656
tab->transform_uint8_x_3 = transform_uint8_x_3_3_c;
1658
tab->transform_uint8_x_4 = transform_uint8_x_4_c;
1660
tab->transform_uint16_x_1 = transform_uint16_x_1_c;
1661
tab->transform_uint16_x_2 = transform_uint16_x_2_c;
1662
tab->transform_uint16_x_3 = transform_uint16_x_3_c;
1663
tab->transform_uint16_x_4 = transform_uint16_x_4_c;
1664
tab->transform_float_x_1 = transform_float_x_1_c;
1665
tab->transform_float_x_2 = transform_float_x_2_c;
1666
tab->transform_float_x_3 = transform_float_x_3_c;
1667
tab->transform_float_x_4 = transform_float_x_4_c;
1669
tab->bits_rgb_15 = 16;
1670
tab->bits_rgb_16 = 16;
1671
tab->bits_uint8_advance = 16;
1672
tab->bits_uint8_noadvance = 16;
1673
tab->bits_uint16 = 16;