Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv.h
38918 views
1
/*
2
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
26
27
#ifndef __MLIB_IMAGECONV_H
28
#define __MLIB_IMAGECONV_H
29
30
#ifdef __cplusplus
31
extern "C" {
32
#endif /* __cplusplus */
33
34
// Shared macro defined for cleanup of allocated memory.
35
#ifndef FREE_AND_RETURN_STATUS
36
#define FREE_AND_RETURN_STATUS \
37
{ \
38
if (pbuff != buff) mlib_free(pbuff); \
39
if (k != akernel) mlib_free(k); \
40
return status; \
41
}
42
#endif /* FREE_AND_RETURN_STATUS */
43
44
void mlib_ImageXor80_aa(mlib_u8 *dl,
45
mlib_s32 wid,
46
mlib_s32 hgt,
47
mlib_s32 str);
48
49
void mlib_ImageXor80(mlib_u8 *dl,
50
mlib_s32 wid,
51
mlib_s32 hgt,
52
mlib_s32 str,
53
mlib_s32 nchan,
54
mlib_s32 cmask);
55
56
mlib_status mlib_conv2x2ext_d64(mlib_image *dst,
57
const mlib_image *src,
58
mlib_s32 dx_l,
59
mlib_s32 dx_r,
60
mlib_s32 dy_t,
61
mlib_s32 dy_b,
62
const mlib_d64 *kern,
63
mlib_s32 cmask);
64
65
mlib_status mlib_conv2x2ext_f32(mlib_image *dst,
66
const mlib_image *src,
67
mlib_s32 dx_l,
68
mlib_s32 dx_r,
69
mlib_s32 dy_t,
70
mlib_s32 dy_b,
71
const mlib_d64 *kern,
72
mlib_s32 cmask);
73
74
mlib_status mlib_conv2x2ext_s16(mlib_image *dst,
75
const mlib_image *src,
76
mlib_s32 dx_l,
77
mlib_s32 dx_r,
78
mlib_s32 dy_t,
79
mlib_s32 dy_b,
80
const mlib_s32 *kern,
81
mlib_s32 scale,
82
mlib_s32 cmask);
83
84
mlib_status mlib_conv2x2ext_s32(mlib_image *dst,
85
const mlib_image *src,
86
mlib_s32 dx_l,
87
mlib_s32 dx_r,
88
mlib_s32 dy_t,
89
mlib_s32 dy_b,
90
const mlib_s32 *kern,
91
mlib_s32 scale,
92
mlib_s32 cmask);
93
94
mlib_status mlib_conv2x2ext_u16(mlib_image *dst,
95
const mlib_image *src,
96
mlib_s32 dx_l,
97
mlib_s32 dx_r,
98
mlib_s32 dy_t,
99
mlib_s32 dy_b,
100
const mlib_s32 *kern,
101
mlib_s32 scale,
102
mlib_s32 cmask);
103
104
mlib_status mlib_conv2x2ext_u8(mlib_image *dst,
105
const mlib_image *src,
106
mlib_s32 dx_l,
107
mlib_s32 dx_r,
108
mlib_s32 dy_t,
109
mlib_s32 dy_b,
110
const mlib_s32 *kern,
111
mlib_s32 scale,
112
mlib_s32 cmask);
113
114
mlib_status mlib_conv2x2nw_d64(mlib_image *dst,
115
const mlib_image *src,
116
const mlib_d64 *kern,
117
mlib_s32 cmask);
118
119
mlib_status mlib_conv2x2nw_f32(mlib_image *dst,
120
const mlib_image *src,
121
const mlib_d64 *kern,
122
mlib_s32 cmask);
123
124
mlib_status mlib_conv2x2nw_s16(mlib_image *dst,
125
const mlib_image *src,
126
const mlib_s32 *kern,
127
mlib_s32 scale,
128
mlib_s32 cmask);
129
130
mlib_status mlib_conv2x2nw_s32(mlib_image *dst,
131
const mlib_image *src,
132
const mlib_s32 *kern,
133
mlib_s32 scale,
134
mlib_s32 cmask);
135
136
mlib_status mlib_conv2x2nw_u16(mlib_image *dst,
137
const mlib_image *src,
138
const mlib_s32 *kern,
139
mlib_s32 scale,
140
mlib_s32 cmask);
141
142
mlib_status mlib_conv2x2nw_u8(mlib_image *dst,
143
const mlib_image *src,
144
const mlib_s32 *kern,
145
mlib_s32 scale,
146
mlib_s32 cmask);
147
148
mlib_status mlib_conv3x3ext_bit(mlib_image *dst,
149
const mlib_image *src,
150
mlib_s32 dx_l,
151
mlib_s32 dx_r,
152
mlib_s32 dy_t,
153
mlib_s32 dy_b,
154
const mlib_s32 *kern,
155
mlib_s32 scale,
156
mlib_s32 cmask);
157
158
mlib_status mlib_conv3x3ext_d64(mlib_image *dst,
159
const mlib_image *src,
160
mlib_s32 dx_l,
161
mlib_s32 dx_r,
162
mlib_s32 dy_t,
163
mlib_s32 dy_b,
164
const mlib_d64 *kern,
165
mlib_s32 cmask);
166
167
mlib_status mlib_conv3x3ext_f32(mlib_image *dst,
168
const mlib_image *src,
169
mlib_s32 dx_l,
170
mlib_s32 dx_r,
171
mlib_s32 dy_t,
172
mlib_s32 dy_b,
173
const mlib_d64 *kern,
174
mlib_s32 cmask);
175
176
mlib_status mlib_conv3x3ext_s16(mlib_image *dst,
177
const mlib_image *src,
178
mlib_s32 dx_l,
179
mlib_s32 dx_r,
180
mlib_s32 dy_t,
181
mlib_s32 dy_b,
182
const mlib_s32 *kern,
183
mlib_s32 scale,
184
mlib_s32 cmask);
185
186
mlib_status mlib_conv3x3ext_s32(mlib_image *dst,
187
const mlib_image *src,
188
mlib_s32 dx_l,
189
mlib_s32 dx_r,
190
mlib_s32 dy_t,
191
mlib_s32 dy_b,
192
const mlib_s32 *kern,
193
mlib_s32 scale,
194
mlib_s32 cmask);
195
196
mlib_status mlib_conv3x3ext_u16(mlib_image *dst,
197
const mlib_image *src,
198
mlib_s32 dx_l,
199
mlib_s32 dx_r,
200
mlib_s32 dy_t,
201
mlib_s32 dy_b,
202
const mlib_s32 *kern,
203
mlib_s32 scale,
204
mlib_s32 cmask);
205
206
mlib_status mlib_conv3x3ext_u8(mlib_image *dst,
207
const mlib_image *src,
208
mlib_s32 dx_l,
209
mlib_s32 dx_r,
210
mlib_s32 dy_t,
211
mlib_s32 dy_b,
212
const mlib_s32 *kern,
213
mlib_s32 scale,
214
mlib_s32 cmask);
215
216
mlib_status mlib_conv3x3nw_bit(mlib_image *dst,
217
const mlib_image *src,
218
const mlib_s32 *kern,
219
mlib_s32 scale,
220
mlib_s32 cmask);
221
222
mlib_status mlib_conv3x3nw_d64(mlib_image *dst,
223
const mlib_image *src,
224
const mlib_d64 *kern,
225
mlib_s32 cmask);
226
227
mlib_status mlib_conv3x3nw_f32(mlib_image *dst,
228
const mlib_image *src,
229
const mlib_d64 *kern,
230
mlib_s32 cmask);
231
232
mlib_status mlib_conv3x3nw_s16(mlib_image *dst,
233
const mlib_image *src,
234
const mlib_s32 *kern,
235
mlib_s32 scale,
236
mlib_s32 cmask);
237
238
mlib_status mlib_conv3x3nw_s32(mlib_image *dst,
239
const mlib_image *src,
240
const mlib_s32 *kern,
241
mlib_s32 scale,
242
mlib_s32 cmask);
243
244
mlib_status mlib_conv3x3nw_u16(mlib_image *dst,
245
const mlib_image *src,
246
const mlib_s32 *kern,
247
mlib_s32 scale,
248
mlib_s32 cmask);
249
250
mlib_status mlib_conv3x3nw_u8(mlib_image *dst,
251
const mlib_image *src,
252
const mlib_s32 *kern,
253
mlib_s32 scale,
254
mlib_s32 cmask);
255
256
mlib_status mlib_conv4x4ext_d64(mlib_image *dst,
257
const mlib_image *src,
258
mlib_s32 dx_l,
259
mlib_s32 dx_r,
260
mlib_s32 dy_t,
261
mlib_s32 dy_b,
262
const mlib_d64 *kern,
263
mlib_s32 cmask);
264
265
mlib_status mlib_conv4x4ext_f32(mlib_image *dst,
266
const mlib_image *src,
267
mlib_s32 dx_l,
268
mlib_s32 dx_r,
269
mlib_s32 dy_t,
270
mlib_s32 dy_b,
271
const mlib_d64 *kern,
272
mlib_s32 cmask);
273
274
mlib_status mlib_conv4x4ext_s16(mlib_image *dst,
275
const mlib_image *src,
276
mlib_s32 dx_l,
277
mlib_s32 dx_r,
278
mlib_s32 dy_t,
279
mlib_s32 dy_b,
280
const mlib_s32 *kern,
281
mlib_s32 scale,
282
mlib_s32 cmask);
283
284
mlib_status mlib_conv4x4ext_s32(mlib_image *dst,
285
const mlib_image *src,
286
mlib_s32 dx_l,
287
mlib_s32 dx_r,
288
mlib_s32 dy_t,
289
mlib_s32 dy_b,
290
const mlib_s32 *kern,
291
mlib_s32 scale,
292
mlib_s32 cmask);
293
294
mlib_status mlib_conv4x4ext_u16(mlib_image *dst,
295
const mlib_image *src,
296
mlib_s32 dx_l,
297
mlib_s32 dx_r,
298
mlib_s32 dy_t,
299
mlib_s32 dy_b,
300
const mlib_s32 *kern,
301
mlib_s32 scale,
302
mlib_s32 cmask);
303
304
mlib_status mlib_conv4x4ext_u8(mlib_image *dst,
305
const mlib_image *src,
306
mlib_s32 dx_l,
307
mlib_s32 dx_r,
308
mlib_s32 dy_t,
309
mlib_s32 dy_b,
310
const mlib_s32 *kern,
311
mlib_s32 scale,
312
mlib_s32 cmask);
313
314
mlib_status mlib_conv4x4nw_d64(mlib_image *dst,
315
const mlib_image *src,
316
const mlib_d64 *kern,
317
mlib_s32 cmask);
318
319
mlib_status mlib_conv4x4nw_f32(mlib_image *dst,
320
const mlib_image *src,
321
const mlib_d64 *kern,
322
mlib_s32 cmask);
323
324
mlib_status mlib_conv4x4nw_s16(mlib_image *dst,
325
const mlib_image *src,
326
const mlib_s32 *kern,
327
mlib_s32 scale,
328
mlib_s32 cmask);
329
330
mlib_status mlib_conv4x4nw_s32(mlib_image *dst,
331
const mlib_image *src,
332
const mlib_s32 *kern,
333
mlib_s32 scale,
334
mlib_s32 cmask);
335
336
mlib_status mlib_conv4x4nw_u16(mlib_image *dst,
337
const mlib_image *src,
338
const mlib_s32 *kern,
339
mlib_s32 scale,
340
mlib_s32 cmask);
341
342
mlib_status mlib_conv4x4nw_u8(mlib_image *dst,
343
const mlib_image *src,
344
const mlib_s32 *kern,
345
mlib_s32 scale,
346
mlib_s32 cmask);
347
348
mlib_status mlib_conv5x5ext_d64(mlib_image *dst,
349
const mlib_image *src,
350
mlib_s32 dx_l,
351
mlib_s32 dx_r,
352
mlib_s32 dy_t,
353
mlib_s32 dy_b,
354
const mlib_d64 *kern,
355
mlib_s32 cmask);
356
357
mlib_status mlib_conv5x5ext_f32(mlib_image *dst,
358
const mlib_image *src,
359
mlib_s32 dx_l,
360
mlib_s32 dx_r,
361
mlib_s32 dy_t,
362
mlib_s32 dy_b,
363
const mlib_d64 *kern,
364
mlib_s32 cmask);
365
366
mlib_status mlib_conv5x5ext_s16(mlib_image *dst,
367
const mlib_image *src,
368
mlib_s32 dx_l,
369
mlib_s32 dx_r,
370
mlib_s32 dy_t,
371
mlib_s32 dy_b,
372
const mlib_s32 *kern,
373
mlib_s32 scale,
374
mlib_s32 cmask);
375
376
mlib_status mlib_conv5x5ext_s32(mlib_image *dst,
377
const mlib_image *src,
378
mlib_s32 dx_l,
379
mlib_s32 dx_r,
380
mlib_s32 dy_t,
381
mlib_s32 dy_b,
382
const mlib_s32 *kern,
383
mlib_s32 scale,
384
mlib_s32 cmask);
385
386
mlib_status mlib_conv5x5ext_u16(mlib_image *dst,
387
const mlib_image *src,
388
mlib_s32 dx_l,
389
mlib_s32 dx_r,
390
mlib_s32 dy_t,
391
mlib_s32 dy_b,
392
const mlib_s32 *kern,
393
mlib_s32 scale,
394
mlib_s32 cmask);
395
396
mlib_status mlib_conv5x5ext_u8(mlib_image *dst,
397
const mlib_image *src,
398
mlib_s32 dx_l,
399
mlib_s32 dx_r,
400
mlib_s32 dy_t,
401
mlib_s32 dy_b,
402
const mlib_s32 *kern,
403
mlib_s32 scale,
404
mlib_s32 cmask);
405
406
mlib_status mlib_conv5x5nw_d64(mlib_image *dst,
407
const mlib_image *src,
408
const mlib_d64 *kern,
409
mlib_s32 cmask);
410
411
mlib_status mlib_conv5x5nw_f32(mlib_image *dst,
412
const mlib_image *src,
413
const mlib_d64 *kern,
414
mlib_s32 cmask);
415
416
mlib_status mlib_conv5x5nw_s16(mlib_image *dst,
417
const mlib_image *src,
418
const mlib_s32 *kern,
419
mlib_s32 scale,
420
mlib_s32 cmask);
421
422
mlib_status mlib_conv5x5nw_s32(mlib_image *dst,
423
const mlib_image *src,
424
const mlib_s32 *kern,
425
mlib_s32 scale,
426
mlib_s32 cmask);
427
428
mlib_status mlib_conv5x5nw_u16(mlib_image *dst,
429
const mlib_image *src,
430
const mlib_s32 *kern,
431
mlib_s32 scale,
432
mlib_s32 cmask);
433
434
mlib_status mlib_conv5x5nw_u8(mlib_image *dst,
435
const mlib_image *src,
436
const mlib_s32 *kern,
437
mlib_s32 scale,
438
mlib_s32 cmask);
439
440
mlib_status mlib_conv7x7ext_s16(mlib_image *dst,
441
const mlib_image *src,
442
mlib_s32 dx_l,
443
mlib_s32 dx_r,
444
mlib_s32 dy_t,
445
mlib_s32 dy_b,
446
const mlib_s32 *kern,
447
mlib_s32 scale,
448
mlib_s32 cmask);
449
450
mlib_status mlib_conv7x7ext_s32(mlib_image *dst,
451
const mlib_image *src,
452
mlib_s32 dx_l,
453
mlib_s32 dx_r,
454
mlib_s32 dy_t,
455
mlib_s32 dy_b,
456
const mlib_s32 *kern,
457
mlib_s32 scale,
458
mlib_s32 cmask);
459
460
mlib_status mlib_conv7x7ext_u16(mlib_image *dst,
461
const mlib_image *src,
462
mlib_s32 dx_l,
463
mlib_s32 dx_r,
464
mlib_s32 dy_t,
465
mlib_s32 dy_b,
466
const mlib_s32 *kern,
467
mlib_s32 scale,
468
mlib_s32 cmask);
469
470
mlib_status mlib_conv7x7ext_u8(mlib_image *dst,
471
const mlib_image *src,
472
mlib_s32 dx_l,
473
mlib_s32 dx_r,
474
mlib_s32 dy_t,
475
mlib_s32 dy_b,
476
const mlib_s32 *kern,
477
mlib_s32 scale,
478
mlib_s32 cmask);
479
480
mlib_status mlib_conv7x7nw_s16(mlib_image *dst,
481
const mlib_image *src,
482
const mlib_s32 *kern,
483
mlib_s32 scale,
484
mlib_s32 cmask);
485
486
mlib_status mlib_conv7x7nw_s32(mlib_image *dst,
487
const mlib_image *src,
488
const mlib_s32 *kern,
489
mlib_s32 scale,
490
mlib_s32 cmask);
491
492
mlib_status mlib_conv7x7nw_u16(mlib_image *dst,
493
const mlib_image *src,
494
const mlib_s32 *kern,
495
mlib_s32 scale,
496
mlib_s32 cmask);
497
498
mlib_status mlib_conv7x7nw_u8(mlib_image *dst,
499
const mlib_image *src,
500
const mlib_s32 *kern,
501
mlib_s32 scale,
502
mlib_s32 cmask);
503
504
mlib_status mlib_convMxNext_s32(mlib_image *dst,
505
const mlib_image *src,
506
const mlib_s32 *kernel,
507
mlib_s32 m,
508
mlib_s32 n,
509
mlib_s32 dx_l,
510
mlib_s32 dx_r,
511
mlib_s32 dy_t,
512
mlib_s32 dy_b,
513
mlib_s32 scale,
514
mlib_s32 cmask);
515
516
mlib_status mlib_convMxNnw_d64(mlib_image *dst,
517
const mlib_image *src,
518
const mlib_d64 *ker,
519
mlib_s32 m,
520
mlib_s32 n,
521
mlib_s32 dm,
522
mlib_s32 dn,
523
mlib_s32 cmask);
524
525
mlib_status mlib_convMxNnw_f32(mlib_image *dst,
526
const mlib_image *src,
527
const mlib_d64 *ker,
528
mlib_s32 m,
529
mlib_s32 n,
530
mlib_s32 dm,
531
mlib_s32 dn,
532
mlib_s32 cmask);
533
534
mlib_status mlib_convMxNnw_s16(mlib_image *dst,
535
const mlib_image *src,
536
const mlib_s32 *kernel,
537
mlib_s32 m,
538
mlib_s32 n,
539
mlib_s32 dm,
540
mlib_s32 dn,
541
mlib_s32 scale,
542
mlib_s32 cmask);
543
544
mlib_status mlib_convMxNnw_s32(mlib_image *dst,
545
const mlib_image *src,
546
const mlib_s32 *kernel,
547
mlib_s32 m,
548
mlib_s32 n,
549
mlib_s32 dm,
550
mlib_s32 dn,
551
mlib_s32 scale,
552
mlib_s32 cmask);
553
554
mlib_status mlib_convMxNnw_u16(mlib_image *dst,
555
const mlib_image *src,
556
const mlib_s32 *kernel,
557
mlib_s32 m,
558
mlib_s32 n,
559
mlib_s32 dm,
560
mlib_s32 dn,
561
mlib_s32 scale,
562
mlib_s32 cmask);
563
564
mlib_s32 mlib_ImageConvVersion(mlib_s32 m,
565
mlib_s32 n,
566
mlib_s32 scale,
567
mlib_type type);
568
569
mlib_status mlib_ImageConvMxN_f(mlib_image *dst,
570
const mlib_image *src,
571
const void *kernel,
572
mlib_s32 m,
573
mlib_s32 n,
574
mlib_s32 dm,
575
mlib_s32 dn,
576
mlib_s32 scale,
577
mlib_s32 cmask,
578
mlib_edge edge);
579
580
mlib_status mlib_convMxNnw_u8(mlib_image *dst,
581
const mlib_image *src,
582
const mlib_s32 *kern,
583
mlib_s32 m,
584
mlib_s32 n,
585
mlib_s32 dm,
586
mlib_s32 dn,
587
mlib_s32 scale,
588
mlib_s32 cmask);
589
590
mlib_status mlib_convMxNext_u8(mlib_image *dst,
591
const mlib_image *src,
592
const mlib_s32 *kern,
593
mlib_s32 m,
594
mlib_s32 n,
595
mlib_s32 dx_l,
596
mlib_s32 dx_r,
597
mlib_s32 dy_t,
598
mlib_s32 dy_b,
599
mlib_s32 scale,
600
mlib_s32 cmask);
601
602
mlib_status mlib_convMxNext_s16(mlib_image *dst,
603
const mlib_image *src,
604
const mlib_s32 *kernel,
605
mlib_s32 m,
606
mlib_s32 n,
607
mlib_s32 dx_l,
608
mlib_s32 dx_r,
609
mlib_s32 dy_t,
610
mlib_s32 dy_b,
611
mlib_s32 scale,
612
mlib_s32 cmask);
613
614
mlib_status mlib_convMxNext_u16(mlib_image *dst,
615
const mlib_image *src,
616
const mlib_s32 *kernel,
617
mlib_s32 m,
618
mlib_s32 n,
619
mlib_s32 dx_l,
620
mlib_s32 dx_r,
621
mlib_s32 dy_t,
622
mlib_s32 dy_b,
623
mlib_s32 scale,
624
mlib_s32 cmask);
625
626
mlib_status mlib_convMxNext_f32(mlib_image *dst,
627
const mlib_image *src,
628
const mlib_d64 *kernel,
629
mlib_s32 m,
630
mlib_s32 n,
631
mlib_s32 dx_l,
632
mlib_s32 dx_r,
633
mlib_s32 dy_t,
634
mlib_s32 dy_b,
635
mlib_s32 cmask);
636
637
mlib_status mlib_convMxNext_d64(mlib_image *dst,
638
const mlib_image *src,
639
const mlib_d64 *kernel,
640
mlib_s32 m,
641
mlib_s32 n,
642
mlib_s32 dx_l,
643
mlib_s32 dx_r,
644
mlib_s32 dy_t,
645
mlib_s32 dy_b,
646
mlib_s32 cmask);
647
648
#ifdef __cplusplus
649
}
650
#endif /* __cplusplus */
651
#endif /* __MLIB_IMAGECONV_H */
652
653