xref: /aosp_15_r20/external/libjpeg-turbo/simd/jsimd.h (revision dfc6aa5c1cfd4bc4e2018dc74aa96e29ee49c6da)
1*dfc6aa5cSAndroid Build Coastguard Worker /*
2*dfc6aa5cSAndroid Build Coastguard Worker  * simd/jsimd.h
3*dfc6aa5cSAndroid Build Coastguard Worker  *
4*dfc6aa5cSAndroid Build Coastguard Worker  * Copyright 2009 Pierre Ossman <[email protected]> for Cendio AB
5*dfc6aa5cSAndroid Build Coastguard Worker  * Copyright (C) 2011, 2014-2016, 2018, 2020, 2022, D. R. Commander.
6*dfc6aa5cSAndroid Build Coastguard Worker  * Copyright (C) 2013-2014, MIPS Technologies, Inc., California.
7*dfc6aa5cSAndroid Build Coastguard Worker  * Copyright (C) 2014, Linaro Limited.
8*dfc6aa5cSAndroid Build Coastguard Worker  * Copyright (C) 2015-2016, 2018, 2022, Matthieu Darbois.
9*dfc6aa5cSAndroid Build Coastguard Worker  * Copyright (C) 2016-2018, Loongson Technology Corporation Limited, BeiJing.
10*dfc6aa5cSAndroid Build Coastguard Worker  * Copyright (C) 2020, Arm Limited.
11*dfc6aa5cSAndroid Build Coastguard Worker  *
12*dfc6aa5cSAndroid Build Coastguard Worker  * Based on the x86 SIMD extension for IJG JPEG library,
13*dfc6aa5cSAndroid Build Coastguard Worker  * Copyright (C) 1999-2006, MIYASAKA Masaru.
14*dfc6aa5cSAndroid Build Coastguard Worker  * For conditions of distribution and use, see copyright notice in jsimdext.inc
15*dfc6aa5cSAndroid Build Coastguard Worker  *
16*dfc6aa5cSAndroid Build Coastguard Worker  */
17*dfc6aa5cSAndroid Build Coastguard Worker 
18*dfc6aa5cSAndroid Build Coastguard Worker /* Bitmask for supported acceleration methods */
19*dfc6aa5cSAndroid Build Coastguard Worker 
20*dfc6aa5cSAndroid Build Coastguard Worker #define JSIMD_NONE     0x00
21*dfc6aa5cSAndroid Build Coastguard Worker #define JSIMD_MMX      0x01
22*dfc6aa5cSAndroid Build Coastguard Worker #define JSIMD_3DNOW    0x02
23*dfc6aa5cSAndroid Build Coastguard Worker #define JSIMD_SSE      0x04
24*dfc6aa5cSAndroid Build Coastguard Worker #define JSIMD_SSE2     0x08
25*dfc6aa5cSAndroid Build Coastguard Worker #define JSIMD_NEON     0x10
26*dfc6aa5cSAndroid Build Coastguard Worker #define JSIMD_DSPR2    0x20
27*dfc6aa5cSAndroid Build Coastguard Worker #define JSIMD_ALTIVEC  0x40
28*dfc6aa5cSAndroid Build Coastguard Worker #define JSIMD_AVX2     0x80
29*dfc6aa5cSAndroid Build Coastguard Worker #define JSIMD_MMI      0x100
30*dfc6aa5cSAndroid Build Coastguard Worker 
31*dfc6aa5cSAndroid Build Coastguard Worker /* SIMD Ext: retrieve SIMD/CPU information */
32*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(unsigned int) jpeg_simd_cpu_support(void);
33*dfc6aa5cSAndroid Build Coastguard Worker 
34*dfc6aa5cSAndroid Build Coastguard Worker /* RGB & extended RGB --> YCC Colorspace Conversion */
35*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_rgb_ycc_convert_mmx
36*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
37*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
38*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgb_ycc_convert_mmx
39*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
40*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
41*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgbx_ycc_convert_mmx
42*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
43*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
44*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgr_ycc_convert_mmx
45*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
46*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
47*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgrx_ycc_convert_mmx
48*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
49*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
50*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxbgr_ycc_convert_mmx
51*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
52*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
53*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxrgb_ycc_convert_mmx
54*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
55*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
56*dfc6aa5cSAndroid Build Coastguard Worker 
57*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_rgb_ycc_convert_sse2[];
58*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_rgb_ycc_convert_sse2
59*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
60*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
61*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgb_ycc_convert_sse2
62*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
63*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
64*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgbx_ycc_convert_sse2
65*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
66*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
67*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgr_ycc_convert_sse2
68*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
69*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
70*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgrx_ycc_convert_sse2
71*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
72*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
73*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxbgr_ycc_convert_sse2
74*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
75*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
76*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxrgb_ycc_convert_sse2
77*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
78*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
79*dfc6aa5cSAndroid Build Coastguard Worker 
80*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_rgb_ycc_convert_avx2[];
81*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_rgb_ycc_convert_avx2
82*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
83*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
84*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgb_ycc_convert_avx2
85*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
86*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
87*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgbx_ycc_convert_avx2
88*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
89*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
90*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgr_ycc_convert_avx2
91*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
92*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
93*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgrx_ycc_convert_avx2
94*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
95*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
96*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxbgr_ycc_convert_avx2
97*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
98*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
99*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxrgb_ycc_convert_avx2
100*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
101*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
102*dfc6aa5cSAndroid Build Coastguard Worker 
103*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_rgb_ycc_convert_neon
104*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
105*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
106*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgb_ycc_convert_neon
107*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
108*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
109*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgbx_ycc_convert_neon
110*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
111*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
112*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgr_ycc_convert_neon
113*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
114*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
115*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgrx_ycc_convert_neon
116*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
117*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
118*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxbgr_ycc_convert_neon
119*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
120*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
121*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxrgb_ycc_convert_neon
122*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
123*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
124*dfc6aa5cSAndroid Build Coastguard Worker 
125*dfc6aa5cSAndroid Build Coastguard Worker #ifndef NEON_INTRINSICS
126*dfc6aa5cSAndroid Build Coastguard Worker 
127*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgb_ycc_convert_neon_slowld3
128*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
129*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
130*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgr_ycc_convert_neon_slowld3
131*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
132*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
133*dfc6aa5cSAndroid Build Coastguard Worker 
134*dfc6aa5cSAndroid Build Coastguard Worker #endif
135*dfc6aa5cSAndroid Build Coastguard Worker 
136*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_rgb_ycc_convert_dspr2
137*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
138*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
139*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgb_ycc_convert_dspr2
140*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
141*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
142*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgbx_ycc_convert_dspr2
143*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
144*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
145*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgr_ycc_convert_dspr2
146*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
147*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
148*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgrx_ycc_convert_dspr2
149*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
150*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
151*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxbgr_ycc_convert_dspr2
152*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
153*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
154*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxrgb_ycc_convert_dspr2
155*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
156*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
157*dfc6aa5cSAndroid Build Coastguard Worker 
158*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_rgb_ycc_convert_mmi
159*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
160*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
161*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgb_ycc_convert_mmi
162*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
163*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
164*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgbx_ycc_convert_mmi
165*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
166*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
167*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgr_ycc_convert_mmi
168*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
169*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
170*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgrx_ycc_convert_mmi
171*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
172*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
173*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxbgr_ycc_convert_mmi
174*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
175*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
176*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxrgb_ycc_convert_mmi
177*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
178*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
179*dfc6aa5cSAndroid Build Coastguard Worker 
180*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_rgb_ycc_convert_altivec
181*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
182*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
183*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgb_ycc_convert_altivec
184*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
185*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
186*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgbx_ycc_convert_altivec
187*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
188*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
189*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgr_ycc_convert_altivec
190*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
191*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
192*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgrx_ycc_convert_altivec
193*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
194*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
195*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxbgr_ycc_convert_altivec
196*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
197*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
198*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxrgb_ycc_convert_altivec
199*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
200*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
201*dfc6aa5cSAndroid Build Coastguard Worker 
202*dfc6aa5cSAndroid Build Coastguard Worker /* RGB & extended RGB --> Grayscale Colorspace Conversion */
203*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_rgb_gray_convert_mmx
204*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
205*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
206*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgb_gray_convert_mmx
207*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
208*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
209*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgbx_gray_convert_mmx
210*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
211*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
212*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgr_gray_convert_mmx
213*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
214*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
215*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgrx_gray_convert_mmx
216*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
217*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
218*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxbgr_gray_convert_mmx
219*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
220*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
221*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxrgb_gray_convert_mmx
222*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
223*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
224*dfc6aa5cSAndroid Build Coastguard Worker 
225*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_rgb_gray_convert_sse2[];
226*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_rgb_gray_convert_sse2
227*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
228*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
229*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgb_gray_convert_sse2
230*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
231*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
232*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgbx_gray_convert_sse2
233*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
234*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
235*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgr_gray_convert_sse2
236*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
237*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
238*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgrx_gray_convert_sse2
239*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
240*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
241*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxbgr_gray_convert_sse2
242*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
243*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
244*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxrgb_gray_convert_sse2
245*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
246*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
247*dfc6aa5cSAndroid Build Coastguard Worker 
248*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_rgb_gray_convert_avx2[];
249*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_rgb_gray_convert_avx2
250*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
251*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
252*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgb_gray_convert_avx2
253*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
254*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
255*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgbx_gray_convert_avx2
256*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
257*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
258*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgr_gray_convert_avx2
259*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
260*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
261*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgrx_gray_convert_avx2
262*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
263*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
264*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxbgr_gray_convert_avx2
265*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
266*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
267*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxrgb_gray_convert_avx2
268*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
269*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
270*dfc6aa5cSAndroid Build Coastguard Worker 
271*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_rgb_gray_convert_neon
272*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
273*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
274*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgb_gray_convert_neon
275*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
276*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
277*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgbx_gray_convert_neon
278*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
279*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
280*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgr_gray_convert_neon
281*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
282*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
283*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgrx_gray_convert_neon
284*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
285*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
286*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxbgr_gray_convert_neon
287*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
288*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
289*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxrgb_gray_convert_neon
290*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
291*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
292*dfc6aa5cSAndroid Build Coastguard Worker 
293*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_rgb_gray_convert_dspr2
294*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
295*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
296*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgb_gray_convert_dspr2
297*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
298*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
299*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgbx_gray_convert_dspr2
300*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
301*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
302*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgr_gray_convert_dspr2
303*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
304*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
305*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgrx_gray_convert_dspr2
306*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
307*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
308*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxbgr_gray_convert_dspr2
309*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
310*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
311*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxrgb_gray_convert_dspr2
312*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
313*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
314*dfc6aa5cSAndroid Build Coastguard Worker 
315*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_rgb_gray_convert_mmi
316*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
317*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
318*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgb_gray_convert_mmi
319*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
320*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
321*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgbx_gray_convert_mmi
322*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
323*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
324*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgr_gray_convert_mmi
325*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
326*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
327*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgrx_gray_convert_mmi
328*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
329*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
330*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxbgr_gray_convert_mmi
331*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
332*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
333*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxrgb_gray_convert_mmi
334*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
335*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
336*dfc6aa5cSAndroid Build Coastguard Worker 
337*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_rgb_gray_convert_altivec
338*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
339*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
340*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgb_gray_convert_altivec
341*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
342*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
343*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extrgbx_gray_convert_altivec
344*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
345*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
346*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgr_gray_convert_altivec
347*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
348*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
349*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extbgrx_gray_convert_altivec
350*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
351*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
352*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxbgr_gray_convert_altivec
353*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
354*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
355*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_extxrgb_gray_convert_altivec
356*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
357*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows);
358*dfc6aa5cSAndroid Build Coastguard Worker 
359*dfc6aa5cSAndroid Build Coastguard Worker /* YCC --> RGB & extended RGB Colorspace Conversion */
360*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_rgb_convert_mmx
361*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
362*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
363*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extrgb_convert_mmx
364*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
365*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
366*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extrgbx_convert_mmx
367*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
368*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
369*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extbgr_convert_mmx
370*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
371*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
372*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extbgrx_convert_mmx
373*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
374*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
375*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extxbgr_convert_mmx
376*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
377*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
378*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extxrgb_convert_mmx
379*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
380*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
381*dfc6aa5cSAndroid Build Coastguard Worker 
382*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_ycc_rgb_convert_sse2[];
383*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_rgb_convert_sse2
384*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
385*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
386*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extrgb_convert_sse2
387*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
388*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
389*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extrgbx_convert_sse2
390*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
391*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
392*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extbgr_convert_sse2
393*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
394*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
395*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extbgrx_convert_sse2
396*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
397*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
398*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extxbgr_convert_sse2
399*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
400*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
401*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extxrgb_convert_sse2
402*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
403*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
404*dfc6aa5cSAndroid Build Coastguard Worker 
405*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_ycc_rgb_convert_avx2[];
406*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_rgb_convert_avx2
407*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
408*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
409*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extrgb_convert_avx2
410*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
411*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
412*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extrgbx_convert_avx2
413*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
414*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
415*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extbgr_convert_avx2
416*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
417*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
418*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extbgrx_convert_avx2
419*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
420*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
421*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extxbgr_convert_avx2
422*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
423*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
424*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extxrgb_convert_avx2
425*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
426*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
427*dfc6aa5cSAndroid Build Coastguard Worker 
428*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_rgb_convert_neon
429*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
430*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
431*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extrgb_convert_neon
432*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
433*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
434*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extrgbx_convert_neon
435*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
436*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
437*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extbgr_convert_neon
438*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
439*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
440*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extbgrx_convert_neon
441*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
442*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
443*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extxbgr_convert_neon
444*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
445*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
446*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extxrgb_convert_neon
447*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
448*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
449*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_rgb565_convert_neon
450*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
451*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
452*dfc6aa5cSAndroid Build Coastguard Worker 
453*dfc6aa5cSAndroid Build Coastguard Worker #ifndef NEON_INTRINSICS
454*dfc6aa5cSAndroid Build Coastguard Worker 
455*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extrgb_convert_neon_slowst3
456*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
457*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
458*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extbgr_convert_neon_slowst3
459*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
460*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
461*dfc6aa5cSAndroid Build Coastguard Worker 
462*dfc6aa5cSAndroid Build Coastguard Worker #endif
463*dfc6aa5cSAndroid Build Coastguard Worker 
464*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_rgb_convert_dspr2
465*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
466*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
467*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extrgb_convert_dspr2
468*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
469*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
470*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extrgbx_convert_dspr2
471*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
472*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
473*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extbgr_convert_dspr2
474*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
475*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
476*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extbgrx_convert_dspr2
477*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
478*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
479*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extxbgr_convert_dspr2
480*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
481*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
482*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extxrgb_convert_dspr2
483*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
484*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
485*dfc6aa5cSAndroid Build Coastguard Worker 
486*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_rgb_convert_mmi
487*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
488*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
489*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extrgb_convert_mmi
490*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
491*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
492*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extrgbx_convert_mmi
493*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
494*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
495*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extbgr_convert_mmi
496*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
497*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
498*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extbgrx_convert_mmi
499*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
500*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
501*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extxbgr_convert_mmi
502*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
503*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
504*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extxrgb_convert_mmi
505*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
506*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
507*dfc6aa5cSAndroid Build Coastguard Worker 
508*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_rgb_convert_altivec
509*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
510*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
511*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extrgb_convert_altivec
512*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
513*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
514*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extrgbx_convert_altivec
515*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
516*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
517*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extbgr_convert_altivec
518*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
519*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
520*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extbgrx_convert_altivec
521*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
522*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
523*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extxbgr_convert_altivec
524*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
525*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
526*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_ycc_extxrgb_convert_altivec
527*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
528*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, int num_rows);
529*dfc6aa5cSAndroid Build Coastguard Worker 
530*dfc6aa5cSAndroid Build Coastguard Worker /* NULL Colorspace Conversion */
531*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_c_null_convert_dspr2
532*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
533*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_row, int num_rows, int num_components);
534*dfc6aa5cSAndroid Build Coastguard Worker 
535*dfc6aa5cSAndroid Build Coastguard Worker /* h2v1 Downsampling */
536*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_downsample_mmx
537*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor,
538*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data);
539*dfc6aa5cSAndroid Build Coastguard Worker 
540*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_downsample_sse2
541*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor,
542*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data);
543*dfc6aa5cSAndroid Build Coastguard Worker 
544*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_downsample_avx2
545*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor,
546*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data);
547*dfc6aa5cSAndroid Build Coastguard Worker 
548*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_downsample_neon
549*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor,
550*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data);
551*dfc6aa5cSAndroid Build Coastguard Worker 
552*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_downsample_dspr2
553*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor,
554*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data);
555*dfc6aa5cSAndroid Build Coastguard Worker 
556*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_downsample_altivec
557*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor,
558*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data);
559*dfc6aa5cSAndroid Build Coastguard Worker 
560*dfc6aa5cSAndroid Build Coastguard Worker /* h2v2 Downsampling */
561*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_downsample_mmx
562*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor,
563*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data);
564*dfc6aa5cSAndroid Build Coastguard Worker 
565*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_downsample_sse2
566*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor,
567*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data);
568*dfc6aa5cSAndroid Build Coastguard Worker 
569*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_downsample_avx2
570*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor,
571*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data);
572*dfc6aa5cSAndroid Build Coastguard Worker 
573*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_downsample_neon
574*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor,
575*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data);
576*dfc6aa5cSAndroid Build Coastguard Worker 
577*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_downsample_dspr2
578*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor,
579*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data);
580*dfc6aa5cSAndroid Build Coastguard Worker 
581*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_downsample_mmi
582*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor,
583*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data);
584*dfc6aa5cSAndroid Build Coastguard Worker 
585*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_downsample_altivec
586*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor,
587*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data);
588*dfc6aa5cSAndroid Build Coastguard Worker 
589*dfc6aa5cSAndroid Build Coastguard Worker /* h2v2 Smooth Downsampling */
590*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_smooth_downsample_dspr2
591*dfc6aa5cSAndroid Build Coastguard Worker   (JSAMPARRAY input_data, JSAMPARRAY output_data, JDIMENSION v_samp_factor,
592*dfc6aa5cSAndroid Build Coastguard Worker    int max_v_samp_factor, int smoothing_factor, JDIMENSION width_in_blocks,
593*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION image_width);
594*dfc6aa5cSAndroid Build Coastguard Worker 
595*dfc6aa5cSAndroid Build Coastguard Worker 
596*dfc6aa5cSAndroid Build Coastguard Worker /* Upsampling */
597*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_upsample_mmx
598*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
599*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
600*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_upsample_mmx
601*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
602*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
603*dfc6aa5cSAndroid Build Coastguard Worker 
604*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_upsample_sse2
605*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
606*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
607*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_upsample_sse2
608*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
609*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
610*dfc6aa5cSAndroid Build Coastguard Worker 
611*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_upsample_avx2
612*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
613*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
614*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_upsample_avx2
615*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
616*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
617*dfc6aa5cSAndroid Build Coastguard Worker 
618*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_upsample_neon
619*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
620*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
621*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_upsample_neon
622*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
623*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
624*dfc6aa5cSAndroid Build Coastguard Worker 
625*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_upsample_dspr2
626*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
627*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
628*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_upsample_dspr2
629*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
630*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
631*dfc6aa5cSAndroid Build Coastguard Worker 
632*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_int_upsample_dspr2
633*dfc6aa5cSAndroid Build Coastguard Worker   (UINT8 h_expand, UINT8 v_expand, JSAMPARRAY input_data,
634*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr, JDIMENSION output_width,
635*dfc6aa5cSAndroid Build Coastguard Worker    int max_v_samp_factor);
636*dfc6aa5cSAndroid Build Coastguard Worker 
637*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_upsample_altivec
638*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
639*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
640*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_upsample_altivec
641*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
642*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
643*dfc6aa5cSAndroid Build Coastguard Worker 
644*dfc6aa5cSAndroid Build Coastguard Worker /* Fancy Upsampling */
645*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_fancy_upsample_mmx
646*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data,
647*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
648*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_fancy_upsample_mmx
649*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data,
650*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
651*dfc6aa5cSAndroid Build Coastguard Worker 
652*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_fancy_upsample_sse2[];
653*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_fancy_upsample_sse2
654*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data,
655*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
656*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_fancy_upsample_sse2
657*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data,
658*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
659*dfc6aa5cSAndroid Build Coastguard Worker 
660*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_fancy_upsample_avx2[];
661*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_fancy_upsample_avx2
662*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data,
663*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
664*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_fancy_upsample_avx2
665*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data,
666*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
667*dfc6aa5cSAndroid Build Coastguard Worker 
668*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_fancy_upsample_neon
669*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data,
670*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
671*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_fancy_upsample_neon
672*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data,
673*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
674*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h1v2_fancy_upsample_neon
675*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data,
676*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
677*dfc6aa5cSAndroid Build Coastguard Worker 
678*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_fancy_upsample_dspr2
679*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data,
680*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
681*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_fancy_upsample_dspr2
682*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data,
683*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
684*dfc6aa5cSAndroid Build Coastguard Worker 
685*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_fancy_upsample_mmi
686*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data,
687*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
688*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_fancy_upsample_mmi
689*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data,
690*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
691*dfc6aa5cSAndroid Build Coastguard Worker 
692*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_fancy_upsample_altivec
693*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data,
694*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
695*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_fancy_upsample_altivec
696*dfc6aa5cSAndroid Build Coastguard Worker   (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data,
697*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY *output_data_ptr);
698*dfc6aa5cSAndroid Build Coastguard Worker 
699*dfc6aa5cSAndroid Build Coastguard Worker /* Merged Upsampling */
700*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_merged_upsample_mmx
701*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
702*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
703*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_mmx
704*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
705*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
706*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_mmx
707*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
708*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
709*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_mmx
710*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
711*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
712*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_mmx
713*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
714*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
715*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_mmx
716*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
717*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
718*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_mmx
719*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
720*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
721*dfc6aa5cSAndroid Build Coastguard Worker 
722*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_merged_upsample_mmx
723*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
724*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
725*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_mmx
726*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
727*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
728*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_mmx
729*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
730*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
731*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_mmx
732*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
733*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
734*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_mmx
735*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
736*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
737*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_mmx
738*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
739*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
740*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_mmx
741*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
742*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
743*dfc6aa5cSAndroid Build Coastguard Worker 
744*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_merged_upsample_sse2[];
745*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_merged_upsample_sse2
746*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
747*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
748*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_sse2
749*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
750*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
751*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_sse2
752*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
753*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
754*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_sse2
755*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
756*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
757*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_sse2
758*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
759*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
760*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_sse2
761*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
762*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
763*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_sse2
764*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
765*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
766*dfc6aa5cSAndroid Build Coastguard Worker 
767*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_merged_upsample_sse2
768*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
769*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
770*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_sse2
771*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
772*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
773*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_sse2
774*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
775*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
776*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_sse2
777*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
778*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
779*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_sse2
780*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
781*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
782*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_sse2
783*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
784*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
785*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_sse2
786*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
787*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
788*dfc6aa5cSAndroid Build Coastguard Worker 
789*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_merged_upsample_avx2[];
790*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_merged_upsample_avx2
791*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
792*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
793*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_avx2
794*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
795*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
796*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_avx2
797*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
798*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
799*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_avx2
800*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
801*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
802*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_avx2
803*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
804*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
805*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_avx2
806*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
807*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
808*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_avx2
809*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
810*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
811*dfc6aa5cSAndroid Build Coastguard Worker 
812*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_merged_upsample_avx2
813*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
814*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
815*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_avx2
816*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
817*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
818*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_avx2
819*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
820*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
821*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_avx2
822*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
823*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
824*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_avx2
825*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
826*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
827*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_avx2
828*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
829*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
830*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_avx2
831*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
832*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
833*dfc6aa5cSAndroid Build Coastguard Worker 
834*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_merged_upsample_neon
835*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
836*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
837*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_neon
838*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
839*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
840*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_neon
841*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
842*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
843*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_neon
844*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
845*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
846*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_neon
847*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
848*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
849*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_neon
850*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
851*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
852*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_neon
853*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
854*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
855*dfc6aa5cSAndroid Build Coastguard Worker 
856*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_merged_upsample_neon
857*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
858*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
859*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_neon
860*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
861*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
862*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_neon
863*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
864*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
865*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_neon
866*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
867*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
868*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_neon
869*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
870*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
871*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_neon
872*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
873*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
874*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_neon
875*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
876*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
877*dfc6aa5cSAndroid Build Coastguard Worker 
878*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_merged_upsample_dspr2
879*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
880*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, JSAMPLE *range);
881*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_dspr2
882*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
883*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, JSAMPLE *range);
884*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_dspr2
885*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
886*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, JSAMPLE *range);
887*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_dspr2
888*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
889*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, JSAMPLE *range);
890*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_dspr2
891*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
892*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, JSAMPLE *range);
893*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_dspr2
894*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
895*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, JSAMPLE *range);
896*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_dspr2
897*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
898*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, JSAMPLE *range);
899*dfc6aa5cSAndroid Build Coastguard Worker 
900*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_merged_upsample_dspr2
901*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
902*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, JSAMPLE *range);
903*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_dspr2
904*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
905*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, JSAMPLE *range);
906*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_dspr2
907*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
908*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, JSAMPLE *range);
909*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_dspr2
910*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
911*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, JSAMPLE *range);
912*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_dspr2
913*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
914*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, JSAMPLE *range);
915*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_dspr2
916*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
917*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, JSAMPLE *range);
918*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_dspr2
919*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
920*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf, JSAMPLE *range);
921*dfc6aa5cSAndroid Build Coastguard Worker 
922*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_merged_upsample_mmi
923*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
924*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
925*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_mmi
926*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
927*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
928*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_mmi
929*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
930*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
931*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_mmi
932*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
933*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
934*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_mmi
935*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
936*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
937*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_mmi
938*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
939*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
940*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_mmi
941*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
942*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
943*dfc6aa5cSAndroid Build Coastguard Worker 
944*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_merged_upsample_mmi
945*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
946*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
947*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_mmi
948*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
949*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
950*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_mmi
951*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
952*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
953*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_mmi
954*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
955*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
956*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_mmi
957*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
958*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
959*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_mmi
960*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
961*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
962*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_mmi
963*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
964*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
965*dfc6aa5cSAndroid Build Coastguard Worker 
966*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_merged_upsample_altivec
967*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
968*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
969*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_altivec
970*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
971*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
972*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_altivec
973*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
974*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
975*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_altivec
976*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
977*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
978*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_altivec
979*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
980*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
981*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_altivec
982*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
983*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
984*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_altivec
985*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
986*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
987*dfc6aa5cSAndroid Build Coastguard Worker 
988*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_merged_upsample_altivec
989*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
990*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
991*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_altivec
992*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
993*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
994*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_altivec
995*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
996*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
997*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_altivec
998*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
999*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
1000*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_altivec
1001*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
1002*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
1003*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_altivec
1004*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
1005*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
1006*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_altivec
1007*dfc6aa5cSAndroid Build Coastguard Worker   (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
1008*dfc6aa5cSAndroid Build Coastguard Worker    JSAMPARRAY output_buf);
1009*dfc6aa5cSAndroid Build Coastguard Worker 
1010*dfc6aa5cSAndroid Build Coastguard Worker /* Sample Conversion */
1011*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_convsamp_mmx
1012*dfc6aa5cSAndroid Build Coastguard Worker   (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM *workspace);
1013*dfc6aa5cSAndroid Build Coastguard Worker 
1014*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_convsamp_sse2
1015*dfc6aa5cSAndroid Build Coastguard Worker   (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM *workspace);
1016*dfc6aa5cSAndroid Build Coastguard Worker 
1017*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_convsamp_avx2
1018*dfc6aa5cSAndroid Build Coastguard Worker   (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM *workspace);
1019*dfc6aa5cSAndroid Build Coastguard Worker 
1020*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_convsamp_neon
1021*dfc6aa5cSAndroid Build Coastguard Worker   (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM *workspace);
1022*dfc6aa5cSAndroid Build Coastguard Worker 
1023*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_convsamp_dspr2
1024*dfc6aa5cSAndroid Build Coastguard Worker   (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM *workspace);
1025*dfc6aa5cSAndroid Build Coastguard Worker 
1026*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_convsamp_altivec
1027*dfc6aa5cSAndroid Build Coastguard Worker   (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM *workspace);
1028*dfc6aa5cSAndroid Build Coastguard Worker 
1029*dfc6aa5cSAndroid Build Coastguard Worker /* Floating Point Sample Conversion */
1030*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_convsamp_float_3dnow
1031*dfc6aa5cSAndroid Build Coastguard Worker   (JSAMPARRAY sample_data, JDIMENSION start_col, FAST_FLOAT *workspace);
1032*dfc6aa5cSAndroid Build Coastguard Worker 
1033*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_convsamp_float_sse
1034*dfc6aa5cSAndroid Build Coastguard Worker   (JSAMPARRAY sample_data, JDIMENSION start_col, FAST_FLOAT *workspace);
1035*dfc6aa5cSAndroid Build Coastguard Worker 
1036*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_convsamp_float_sse2
1037*dfc6aa5cSAndroid Build Coastguard Worker   (JSAMPARRAY sample_data, JDIMENSION start_col, FAST_FLOAT *workspace);
1038*dfc6aa5cSAndroid Build Coastguard Worker 
1039*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_convsamp_float_dspr2
1040*dfc6aa5cSAndroid Build Coastguard Worker   (JSAMPARRAY sample_data, JDIMENSION start_col, FAST_FLOAT *workspace);
1041*dfc6aa5cSAndroid Build Coastguard Worker 
1042*dfc6aa5cSAndroid Build Coastguard Worker /* Accurate Integer Forward DCT */
1043*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_fdct_islow_mmx(DCTELEM *data);
1044*dfc6aa5cSAndroid Build Coastguard Worker 
1045*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_fdct_islow_sse2[];
1046*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_fdct_islow_sse2(DCTELEM *data);
1047*dfc6aa5cSAndroid Build Coastguard Worker 
1048*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_fdct_islow_avx2[];
1049*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_fdct_islow_avx2(DCTELEM *data);
1050*dfc6aa5cSAndroid Build Coastguard Worker 
1051*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_fdct_islow_neon(DCTELEM *data);
1052*dfc6aa5cSAndroid Build Coastguard Worker 
1053*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_fdct_islow_dspr2(DCTELEM *data);
1054*dfc6aa5cSAndroid Build Coastguard Worker 
1055*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_fdct_islow_mmi(DCTELEM *data);
1056*dfc6aa5cSAndroid Build Coastguard Worker 
1057*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_fdct_islow_altivec(DCTELEM *data);
1058*dfc6aa5cSAndroid Build Coastguard Worker 
1059*dfc6aa5cSAndroid Build Coastguard Worker /* Fast Integer Forward DCT */
1060*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_fdct_ifast_mmx(DCTELEM *data);
1061*dfc6aa5cSAndroid Build Coastguard Worker 
1062*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_fdct_ifast_sse2[];
1063*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_fdct_ifast_sse2(DCTELEM *data);
1064*dfc6aa5cSAndroid Build Coastguard Worker 
1065*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_fdct_ifast_neon(DCTELEM *data);
1066*dfc6aa5cSAndroid Build Coastguard Worker 
1067*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_fdct_ifast_dspr2(DCTELEM *data);
1068*dfc6aa5cSAndroid Build Coastguard Worker 
1069*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_fdct_ifast_mmi(DCTELEM *data);
1070*dfc6aa5cSAndroid Build Coastguard Worker 
1071*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_fdct_ifast_altivec(DCTELEM *data);
1072*dfc6aa5cSAndroid Build Coastguard Worker 
1073*dfc6aa5cSAndroid Build Coastguard Worker /* Floating Point Forward DCT */
1074*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_fdct_float_3dnow(FAST_FLOAT *data);
1075*dfc6aa5cSAndroid Build Coastguard Worker 
1076*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_fdct_float_sse[];
1077*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_fdct_float_sse(FAST_FLOAT *data);
1078*dfc6aa5cSAndroid Build Coastguard Worker 
1079*dfc6aa5cSAndroid Build Coastguard Worker /* Quantization */
1080*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_quantize_mmx
1081*dfc6aa5cSAndroid Build Coastguard Worker   (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace);
1082*dfc6aa5cSAndroid Build Coastguard Worker 
1083*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_quantize_sse2
1084*dfc6aa5cSAndroid Build Coastguard Worker   (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace);
1085*dfc6aa5cSAndroid Build Coastguard Worker 
1086*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_quantize_avx2
1087*dfc6aa5cSAndroid Build Coastguard Worker   (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace);
1088*dfc6aa5cSAndroid Build Coastguard Worker 
1089*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_quantize_neon
1090*dfc6aa5cSAndroid Build Coastguard Worker   (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace);
1091*dfc6aa5cSAndroid Build Coastguard Worker 
1092*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_quantize_dspr2
1093*dfc6aa5cSAndroid Build Coastguard Worker   (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace);
1094*dfc6aa5cSAndroid Build Coastguard Worker 
1095*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_quantize_mmi
1096*dfc6aa5cSAndroid Build Coastguard Worker   (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace);
1097*dfc6aa5cSAndroid Build Coastguard Worker 
1098*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_quantize_altivec
1099*dfc6aa5cSAndroid Build Coastguard Worker   (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace);
1100*dfc6aa5cSAndroid Build Coastguard Worker 
1101*dfc6aa5cSAndroid Build Coastguard Worker /* Floating Point Quantization */
1102*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_quantize_float_3dnow
1103*dfc6aa5cSAndroid Build Coastguard Worker   (JCOEFPTR coef_block, FAST_FLOAT *divisors, FAST_FLOAT *workspace);
1104*dfc6aa5cSAndroid Build Coastguard Worker 
1105*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_quantize_float_sse
1106*dfc6aa5cSAndroid Build Coastguard Worker   (JCOEFPTR coef_block, FAST_FLOAT *divisors, FAST_FLOAT *workspace);
1107*dfc6aa5cSAndroid Build Coastguard Worker 
1108*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_quantize_float_sse2
1109*dfc6aa5cSAndroid Build Coastguard Worker   (JCOEFPTR coef_block, FAST_FLOAT *divisors, FAST_FLOAT *workspace);
1110*dfc6aa5cSAndroid Build Coastguard Worker 
1111*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_quantize_float_dspr2
1112*dfc6aa5cSAndroid Build Coastguard Worker   (JCOEFPTR coef_block, FAST_FLOAT *divisors, FAST_FLOAT *workspace);
1113*dfc6aa5cSAndroid Build Coastguard Worker 
1114*dfc6aa5cSAndroid Build Coastguard Worker /* Scaled Inverse DCT */
1115*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_2x2_mmx
1116*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1117*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1118*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_4x4_mmx
1119*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1120*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1121*dfc6aa5cSAndroid Build Coastguard Worker 
1122*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_idct_red_sse2[];
1123*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_2x2_sse2
1124*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1125*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1126*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_4x4_sse2
1127*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1128*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1129*dfc6aa5cSAndroid Build Coastguard Worker 
1130*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_2x2_neon
1131*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1132*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1133*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_4x4_neon
1134*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1135*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1136*dfc6aa5cSAndroid Build Coastguard Worker 
1137*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_2x2_dspr2
1138*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1139*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1140*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_4x4_dspr2
1141*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1142*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col, int *workspace);
1143*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_6x6_dspr2
1144*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1145*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1146*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_12x12_pass1_dspr2
1147*dfc6aa5cSAndroid Build Coastguard Worker   (JCOEFPTR coef_block, void *dct_table, int *workspace);
1148*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_12x12_pass2_dspr2
1149*dfc6aa5cSAndroid Build Coastguard Worker   (int *workspace, int *output);
1150*dfc6aa5cSAndroid Build Coastguard Worker 
1151*dfc6aa5cSAndroid Build Coastguard Worker /* Accurate Integer Inverse DCT */
1152*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_islow_mmx
1153*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1154*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1155*dfc6aa5cSAndroid Build Coastguard Worker 
1156*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_idct_islow_sse2[];
1157*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_islow_sse2
1158*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1159*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1160*dfc6aa5cSAndroid Build Coastguard Worker 
1161*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_idct_islow_avx2[];
1162*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_islow_avx2
1163*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1164*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1165*dfc6aa5cSAndroid Build Coastguard Worker 
1166*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_islow_neon
1167*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1168*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1169*dfc6aa5cSAndroid Build Coastguard Worker 
1170*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_islow_dspr2
1171*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, int *output_buf, JSAMPLE *output_col);
1172*dfc6aa5cSAndroid Build Coastguard Worker 
1173*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_islow_mmi
1174*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1175*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1176*dfc6aa5cSAndroid Build Coastguard Worker 
1177*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_islow_altivec
1178*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1179*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1180*dfc6aa5cSAndroid Build Coastguard Worker 
1181*dfc6aa5cSAndroid Build Coastguard Worker /* Fast Integer Inverse DCT */
1182*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_ifast_mmx
1183*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1184*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1185*dfc6aa5cSAndroid Build Coastguard Worker 
1186*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_idct_ifast_sse2[];
1187*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_ifast_sse2
1188*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1189*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1190*dfc6aa5cSAndroid Build Coastguard Worker 
1191*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_ifast_neon
1192*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1193*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1194*dfc6aa5cSAndroid Build Coastguard Worker 
1195*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_ifast_cols_dspr2
1196*dfc6aa5cSAndroid Build Coastguard Worker   (JCOEF *inptr, IFAST_MULT_TYPE *quantptr, DCTELEM *wsptr,
1197*dfc6aa5cSAndroid Build Coastguard Worker    const int *idct_coefs);
1198*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_ifast_rows_dspr2
1199*dfc6aa5cSAndroid Build Coastguard Worker   (DCTELEM *wsptr, JSAMPARRAY output_buf, JDIMENSION output_col,
1200*dfc6aa5cSAndroid Build Coastguard Worker    const int *idct_coefs);
1201*dfc6aa5cSAndroid Build Coastguard Worker 
1202*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_ifast_mmi
1203*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1204*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1205*dfc6aa5cSAndroid Build Coastguard Worker 
1206*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_ifast_altivec
1207*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1208*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1209*dfc6aa5cSAndroid Build Coastguard Worker 
1210*dfc6aa5cSAndroid Build Coastguard Worker /* Floating Point Inverse DCT */
1211*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_float_3dnow
1212*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1213*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1214*dfc6aa5cSAndroid Build Coastguard Worker 
1215*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_idct_float_sse[];
1216*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_float_sse
1217*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1218*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1219*dfc6aa5cSAndroid Build Coastguard Worker 
1220*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_idct_float_sse2[];
1221*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_float_sse2
1222*dfc6aa5cSAndroid Build Coastguard Worker   (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
1223*dfc6aa5cSAndroid Build Coastguard Worker    JDIMENSION output_col);
1224*dfc6aa5cSAndroid Build Coastguard Worker 
1225*dfc6aa5cSAndroid Build Coastguard Worker /* Huffman coding */
1226*dfc6aa5cSAndroid Build Coastguard Worker extern const int jconst_huff_encode_one_block[];
1227*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(JOCTET *) jsimd_huff_encode_one_block_sse2
1228*dfc6aa5cSAndroid Build Coastguard Worker   (void *state, JOCTET *buffer, JCOEFPTR block, int last_dc_val,
1229*dfc6aa5cSAndroid Build Coastguard Worker    c_derived_tbl *dctbl, c_derived_tbl *actbl);
1230*dfc6aa5cSAndroid Build Coastguard Worker 
1231*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(JOCTET *) jsimd_huff_encode_one_block_neon
1232*dfc6aa5cSAndroid Build Coastguard Worker   (void *state, JOCTET *buffer, JCOEFPTR block, int last_dc_val,
1233*dfc6aa5cSAndroid Build Coastguard Worker    c_derived_tbl *dctbl, c_derived_tbl *actbl);
1234*dfc6aa5cSAndroid Build Coastguard Worker 
1235*dfc6aa5cSAndroid Build Coastguard Worker #ifndef NEON_INTRINSICS
1236*dfc6aa5cSAndroid Build Coastguard Worker 
1237*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(JOCTET *) jsimd_huff_encode_one_block_neon_slowtbl
1238*dfc6aa5cSAndroid Build Coastguard Worker   (void *state, JOCTET *buffer, JCOEFPTR block, int last_dc_val,
1239*dfc6aa5cSAndroid Build Coastguard Worker    c_derived_tbl *dctbl, c_derived_tbl *actbl);
1240*dfc6aa5cSAndroid Build Coastguard Worker 
1241*dfc6aa5cSAndroid Build Coastguard Worker #endif
1242*dfc6aa5cSAndroid Build Coastguard Worker 
1243*dfc6aa5cSAndroid Build Coastguard Worker /* Progressive Huffman encoding */
1244*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_encode_mcu_AC_first_prepare_sse2
1245*dfc6aa5cSAndroid Build Coastguard Worker   (const JCOEF *block, const int *jpeg_natural_order_start, int Sl, int Al,
1246*dfc6aa5cSAndroid Build Coastguard Worker    UJCOEF *values, size_t *zerobits);
1247*dfc6aa5cSAndroid Build Coastguard Worker 
1248*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_encode_mcu_AC_first_prepare_neon
1249*dfc6aa5cSAndroid Build Coastguard Worker   (const JCOEF *block, const int *jpeg_natural_order_start, int Sl, int Al,
1250*dfc6aa5cSAndroid Build Coastguard Worker    UJCOEF *values, size_t *zerobits);
1251*dfc6aa5cSAndroid Build Coastguard Worker 
1252*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(int) jsimd_encode_mcu_AC_refine_prepare_sse2
1253*dfc6aa5cSAndroid Build Coastguard Worker   (const JCOEF *block, const int *jpeg_natural_order_start, int Sl, int Al,
1254*dfc6aa5cSAndroid Build Coastguard Worker    UJCOEF *absvalues, size_t *bits);
1255*dfc6aa5cSAndroid Build Coastguard Worker 
1256*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(int) jsimd_encode_mcu_AC_refine_prepare_neon
1257*dfc6aa5cSAndroid Build Coastguard Worker   (const JCOEF *block, const int *jpeg_natural_order_start, int Sl, int Al,
1258*dfc6aa5cSAndroid Build Coastguard Worker    UJCOEF *absvalues, size_t *bits);
1259