1 /*
2  * jsimd_none.c
3  *
4  * Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
5  * Copyright (C) 2009-2011, 2014, D. R. Commander.
6  * Copyright (C) 2015-2016, 2018, Matthieu Darbois.
7  *
8  * Based on the x86 SIMD extension for IJG JPEG library,
9  * Copyright (C) 1999-2006, MIYASAKA Masaru.
10  * For conditions of distribution and use, see copyright notice in jsimdext.inc
11  *
12  * This file contains stubs for when there is no SIMD support available.
13  */
14 
15 #define JPEG_INTERNALS
16 #include "jinclude.h"
17 #include "jpeglib.h"
18 #include "jsimd.h"
19 #include "jdct.h"
20 #include "jsimddct.h"
21 
22 GLOBAL(int)
jsimd_can_rgb_ycc(void)23 jsimd_can_rgb_ycc(void)
24 {
25   return 0;
26 }
27 
28 GLOBAL(int)
jsimd_can_rgb_gray(void)29 jsimd_can_rgb_gray(void)
30 {
31   return 0;
32 }
33 
34 GLOBAL(int)
jsimd_can_ycc_rgb(void)35 jsimd_can_ycc_rgb(void)
36 {
37   return 0;
38 }
39 
40 GLOBAL(int)
jsimd_can_ycc_rgb565(void)41 jsimd_can_ycc_rgb565(void)
42 {
43   return 0;
44 }
45 
46 GLOBAL(int)
jsimd_c_can_null_convert(void)47 jsimd_c_can_null_convert(void)
48 {
49   return 0;
50 }
51 
52 GLOBAL(void)
jsimd_rgb_ycc_convert(j_compress_ptr cinfo,JSAMPARRAY input_buf,JSAMPIMAGE output_buf,JDIMENSION output_row,int num_rows)53 jsimd_rgb_ycc_convert(j_compress_ptr cinfo, JSAMPARRAY input_buf,
54                       JSAMPIMAGE output_buf, JDIMENSION output_row,
55                       int num_rows)
56 {
57 }
58 
59 GLOBAL(void)
jsimd_rgb_gray_convert(j_compress_ptr cinfo,JSAMPARRAY input_buf,JSAMPIMAGE output_buf,JDIMENSION output_row,int num_rows)60 jsimd_rgb_gray_convert(j_compress_ptr cinfo, JSAMPARRAY input_buf,
61                        JSAMPIMAGE output_buf, JDIMENSION output_row,
62                        int num_rows)
63 {
64 }
65 
66 GLOBAL(void)
jsimd_ycc_rgb_convert(j_decompress_ptr cinfo,JSAMPIMAGE input_buf,JDIMENSION input_row,JSAMPARRAY output_buf,int num_rows)67 jsimd_ycc_rgb_convert(j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
68                       JDIMENSION input_row, JSAMPARRAY output_buf,
69                       int num_rows)
70 {
71 }
72 
73 GLOBAL(void)
jsimd_ycc_rgb565_convert(j_decompress_ptr cinfo,JSAMPIMAGE input_buf,JDIMENSION input_row,JSAMPARRAY output_buf,int num_rows)74 jsimd_ycc_rgb565_convert(j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
75                          JDIMENSION input_row, JSAMPARRAY output_buf,
76                          int num_rows)
77 {
78 }
79 
80 GLOBAL(void)
jsimd_c_null_convert(j_compress_ptr cinfo,JSAMPARRAY input_buf,JSAMPIMAGE output_buf,JDIMENSION output_row,int num_rows)81 jsimd_c_null_convert(j_compress_ptr cinfo, JSAMPARRAY input_buf,
82                      JSAMPIMAGE output_buf, JDIMENSION output_row,
83                      int num_rows)
84 {
85 }
86 
87 GLOBAL(int)
jsimd_can_h2v2_downsample(void)88 jsimd_can_h2v2_downsample(void)
89 {
90   return 0;
91 }
92 
93 GLOBAL(int)
jsimd_can_h2v1_downsample(void)94 jsimd_can_h2v1_downsample(void)
95 {
96   return 0;
97 }
98 
99 GLOBAL(int)
jsimd_can_h2v2_smooth_downsample(void)100 jsimd_can_h2v2_smooth_downsample(void)
101 {
102   return 0;
103 }
104 
105 GLOBAL(void)
jsimd_h2v2_downsample(j_compress_ptr cinfo,jpeg_component_info * compptr,JSAMPARRAY input_data,JSAMPARRAY output_data)106 jsimd_h2v2_downsample(j_compress_ptr cinfo, jpeg_component_info *compptr,
107                       JSAMPARRAY input_data, JSAMPARRAY output_data)
108 {
109 }
110 
111 GLOBAL(void)
jsimd_h2v2_smooth_downsample(j_compress_ptr cinfo,jpeg_component_info * compptr,JSAMPARRAY input_data,JSAMPARRAY output_data)112 jsimd_h2v2_smooth_downsample(j_compress_ptr cinfo,
113                              jpeg_component_info *compptr,
114                              JSAMPARRAY input_data, JSAMPARRAY output_data)
115 {
116 }
117 
118 GLOBAL(void)
jsimd_h2v1_downsample(j_compress_ptr cinfo,jpeg_component_info * compptr,JSAMPARRAY input_data,JSAMPARRAY output_data)119 jsimd_h2v1_downsample(j_compress_ptr cinfo, jpeg_component_info *compptr,
120                       JSAMPARRAY input_data, JSAMPARRAY output_data)
121 {
122 }
123 
124 GLOBAL(int)
jsimd_can_h2v2_upsample(void)125 jsimd_can_h2v2_upsample(void)
126 {
127   return 0;
128 }
129 
130 GLOBAL(int)
jsimd_can_h2v1_upsample(void)131 jsimd_can_h2v1_upsample(void)
132 {
133   return 0;
134 }
135 
136 GLOBAL(int)
jsimd_can_int_upsample(void)137 jsimd_can_int_upsample(void)
138 {
139   return 0;
140 }
141 
142 GLOBAL(void)
jsimd_int_upsample(j_decompress_ptr cinfo,jpeg_component_info * compptr,JSAMPARRAY input_data,JSAMPARRAY * output_data_ptr)143 jsimd_int_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
144                    JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr)
145 {
146 }
147 
148 GLOBAL(void)
jsimd_h2v2_upsample(j_decompress_ptr cinfo,jpeg_component_info * compptr,JSAMPARRAY input_data,JSAMPARRAY * output_data_ptr)149 jsimd_h2v2_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
150                     JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr)
151 {
152 }
153 
154 GLOBAL(void)
jsimd_h2v1_upsample(j_decompress_ptr cinfo,jpeg_component_info * compptr,JSAMPARRAY input_data,JSAMPARRAY * output_data_ptr)155 jsimd_h2v1_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
156                     JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr)
157 {
158 }
159 
160 GLOBAL(int)
jsimd_can_h2v2_fancy_upsample(void)161 jsimd_can_h2v2_fancy_upsample(void)
162 {
163   return 0;
164 }
165 
166 GLOBAL(int)
jsimd_can_h2v1_fancy_upsample(void)167 jsimd_can_h2v1_fancy_upsample(void)
168 {
169   return 0;
170 }
171 
172 GLOBAL(void)
jsimd_h2v2_fancy_upsample(j_decompress_ptr cinfo,jpeg_component_info * compptr,JSAMPARRAY input_data,JSAMPARRAY * output_data_ptr)173 jsimd_h2v2_fancy_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
174                           JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr)
175 {
176 }
177 
178 GLOBAL(void)
jsimd_h2v1_fancy_upsample(j_decompress_ptr cinfo,jpeg_component_info * compptr,JSAMPARRAY input_data,JSAMPARRAY * output_data_ptr)179 jsimd_h2v1_fancy_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
180                           JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr)
181 {
182 }
183 
184 GLOBAL(int)
jsimd_can_h2v2_merged_upsample(void)185 jsimd_can_h2v2_merged_upsample(void)
186 {
187   return 0;
188 }
189 
190 GLOBAL(int)
jsimd_can_h2v1_merged_upsample(void)191 jsimd_can_h2v1_merged_upsample(void)
192 {
193   return 0;
194 }
195 
196 GLOBAL(void)
jsimd_h2v2_merged_upsample(j_decompress_ptr cinfo,JSAMPIMAGE input_buf,JDIMENSION in_row_group_ctr,JSAMPARRAY output_buf)197 jsimd_h2v2_merged_upsample(j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
198                            JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)
199 {
200 }
201 
202 GLOBAL(void)
jsimd_h2v1_merged_upsample(j_decompress_ptr cinfo,JSAMPIMAGE input_buf,JDIMENSION in_row_group_ctr,JSAMPARRAY output_buf)203 jsimd_h2v1_merged_upsample(j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
204                            JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)
205 {
206 }
207 
208 GLOBAL(int)
jsimd_can_convsamp(void)209 jsimd_can_convsamp(void)
210 {
211   return 0;
212 }
213 
214 GLOBAL(int)
jsimd_can_convsamp_float(void)215 jsimd_can_convsamp_float(void)
216 {
217   return 0;
218 }
219 
220 GLOBAL(void)
jsimd_convsamp(JSAMPARRAY sample_data,JDIMENSION start_col,DCTELEM * workspace)221 jsimd_convsamp(JSAMPARRAY sample_data, JDIMENSION start_col,
222                DCTELEM *workspace)
223 {
224 }
225 
226 GLOBAL(void)
jsimd_convsamp_float(JSAMPARRAY sample_data,JDIMENSION start_col,FAST_FLOAT * workspace)227 jsimd_convsamp_float(JSAMPARRAY sample_data, JDIMENSION start_col,
228                      FAST_FLOAT *workspace)
229 {
230 }
231 
232 GLOBAL(int)
jsimd_can_fdct_islow(void)233 jsimd_can_fdct_islow(void)
234 {
235   return 0;
236 }
237 
238 GLOBAL(int)
jsimd_can_fdct_ifast(void)239 jsimd_can_fdct_ifast(void)
240 {
241   return 0;
242 }
243 
244 GLOBAL(int)
jsimd_can_fdct_float(void)245 jsimd_can_fdct_float(void)
246 {
247   return 0;
248 }
249 
250 GLOBAL(void)
jsimd_fdct_islow(DCTELEM * data)251 jsimd_fdct_islow(DCTELEM *data)
252 {
253 }
254 
255 GLOBAL(void)
jsimd_fdct_ifast(DCTELEM * data)256 jsimd_fdct_ifast(DCTELEM *data)
257 {
258 }
259 
260 GLOBAL(void)
jsimd_fdct_float(FAST_FLOAT * data)261 jsimd_fdct_float(FAST_FLOAT *data)
262 {
263 }
264 
265 GLOBAL(int)
jsimd_can_quantize(void)266 jsimd_can_quantize(void)
267 {
268   return 0;
269 }
270 
271 GLOBAL(int)
jsimd_can_quantize_float(void)272 jsimd_can_quantize_float(void)
273 {
274   return 0;
275 }
276 
277 GLOBAL(void)
jsimd_quantize(JCOEFPTR coef_block,DCTELEM * divisors,DCTELEM * workspace)278 jsimd_quantize(JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace)
279 {
280 }
281 
282 GLOBAL(void)
jsimd_quantize_float(JCOEFPTR coef_block,FAST_FLOAT * divisors,FAST_FLOAT * workspace)283 jsimd_quantize_float(JCOEFPTR coef_block, FAST_FLOAT *divisors,
284                      FAST_FLOAT *workspace)
285 {
286 }
287 
288 GLOBAL(int)
jsimd_can_idct_2x2(void)289 jsimd_can_idct_2x2(void)
290 {
291   return 0;
292 }
293 
294 GLOBAL(int)
jsimd_can_idct_4x4(void)295 jsimd_can_idct_4x4(void)
296 {
297   return 0;
298 }
299 
300 GLOBAL(int)
jsimd_can_idct_6x6(void)301 jsimd_can_idct_6x6(void)
302 {
303   return 0;
304 }
305 
306 GLOBAL(int)
jsimd_can_idct_12x12(void)307 jsimd_can_idct_12x12(void)
308 {
309   return 0;
310 }
311 
312 GLOBAL(void)
jsimd_idct_2x2(j_decompress_ptr cinfo,jpeg_component_info * compptr,JCOEFPTR coef_block,JSAMPARRAY output_buf,JDIMENSION output_col)313 jsimd_idct_2x2(j_decompress_ptr cinfo, jpeg_component_info *compptr,
314                JCOEFPTR coef_block, JSAMPARRAY output_buf,
315                JDIMENSION output_col)
316 {
317 }
318 
319 GLOBAL(void)
jsimd_idct_4x4(j_decompress_ptr cinfo,jpeg_component_info * compptr,JCOEFPTR coef_block,JSAMPARRAY output_buf,JDIMENSION output_col)320 jsimd_idct_4x4(j_decompress_ptr cinfo, jpeg_component_info *compptr,
321                JCOEFPTR coef_block, JSAMPARRAY output_buf,
322                JDIMENSION output_col)
323 {
324 }
325 
326 GLOBAL(void)
jsimd_idct_6x6(j_decompress_ptr cinfo,jpeg_component_info * compptr,JCOEFPTR coef_block,JSAMPARRAY output_buf,JDIMENSION output_col)327 jsimd_idct_6x6(j_decompress_ptr cinfo, jpeg_component_info *compptr,
328                JCOEFPTR coef_block, JSAMPARRAY output_buf,
329                JDIMENSION output_col)
330 {
331 }
332 
333 GLOBAL(void)
jsimd_idct_12x12(j_decompress_ptr cinfo,jpeg_component_info * compptr,JCOEFPTR coef_block,JSAMPARRAY output_buf,JDIMENSION output_col)334 jsimd_idct_12x12(j_decompress_ptr cinfo, jpeg_component_info *compptr,
335                  JCOEFPTR coef_block, JSAMPARRAY output_buf,
336                  JDIMENSION output_col)
337 {
338 }
339 
340 GLOBAL(int)
jsimd_can_idct_islow(void)341 jsimd_can_idct_islow(void)
342 {
343   return 0;
344 }
345 
346 GLOBAL(int)
jsimd_can_idct_ifast(void)347 jsimd_can_idct_ifast(void)
348 {
349   return 0;
350 }
351 
352 GLOBAL(int)
jsimd_can_idct_float(void)353 jsimd_can_idct_float(void)
354 {
355   return 0;
356 }
357 
358 GLOBAL(void)
jsimd_idct_islow(j_decompress_ptr cinfo,jpeg_component_info * compptr,JCOEFPTR coef_block,JSAMPARRAY output_buf,JDIMENSION output_col)359 jsimd_idct_islow(j_decompress_ptr cinfo, jpeg_component_info *compptr,
360                  JCOEFPTR coef_block, JSAMPARRAY output_buf,
361                  JDIMENSION output_col)
362 {
363 }
364 
365 GLOBAL(void)
jsimd_idct_ifast(j_decompress_ptr cinfo,jpeg_component_info * compptr,JCOEFPTR coef_block,JSAMPARRAY output_buf,JDIMENSION output_col)366 jsimd_idct_ifast(j_decompress_ptr cinfo, jpeg_component_info *compptr,
367                  JCOEFPTR coef_block, JSAMPARRAY output_buf,
368                  JDIMENSION output_col)
369 {
370 }
371 
372 GLOBAL(void)
jsimd_idct_float(j_decompress_ptr cinfo,jpeg_component_info * compptr,JCOEFPTR coef_block,JSAMPARRAY output_buf,JDIMENSION output_col)373 jsimd_idct_float(j_decompress_ptr cinfo, jpeg_component_info *compptr,
374                  JCOEFPTR coef_block, JSAMPARRAY output_buf,
375                  JDIMENSION output_col)
376 {
377 }
378 
379 GLOBAL(int)
jsimd_can_huff_encode_one_block(void)380 jsimd_can_huff_encode_one_block(void)
381 {
382   return 0;
383 }
384 
385 GLOBAL(JOCTET *)
jsimd_huff_encode_one_block(void * state,JOCTET * buffer,JCOEFPTR block,int last_dc_val,c_derived_tbl * dctbl,c_derived_tbl * actbl)386 jsimd_huff_encode_one_block(void *state, JOCTET *buffer, JCOEFPTR block,
387                             int last_dc_val, c_derived_tbl *dctbl,
388                             c_derived_tbl *actbl)
389 {
390   return NULL;
391 }
392 
393 GLOBAL(int)
jsimd_can_encode_mcu_AC_first_prepare(void)394 jsimd_can_encode_mcu_AC_first_prepare(void)
395 {
396   return 0;
397 }
398 
399 GLOBAL(void)
jsimd_encode_mcu_AC_first_prepare(const JCOEF * block,const int * jpeg_natural_order_start,int Sl,int Al,JCOEF * values,size_t * zerobits)400 jsimd_encode_mcu_AC_first_prepare(const JCOEF *block,
401                                   const int *jpeg_natural_order_start, int Sl,
402                                   int Al, JCOEF *values, size_t *zerobits)
403 {
404 }
405 
406 GLOBAL(int)
jsimd_can_encode_mcu_AC_refine_prepare(void)407 jsimd_can_encode_mcu_AC_refine_prepare(void)
408 {
409   return 0;
410 }
411 
412 GLOBAL(int)
jsimd_encode_mcu_AC_refine_prepare(const JCOEF * block,const int * jpeg_natural_order_start,int Sl,int Al,JCOEF * absvalues,size_t * bits)413 jsimd_encode_mcu_AC_refine_prepare(const JCOEF *block,
414                                    const int *jpeg_natural_order_start, int Sl,
415                                    int Al, JCOEF *absvalues, size_t *bits)
416 {
417   return 0;
418 }
419