blob: 3cb6c80f8aab1c8e3d804511e67d12c1f2375203 [file] [log] [blame]
Pierre Ossmanba82ddf2009-06-29 11:20:42 +00001/*
2 * jsimd_none.c
3 *
4 * Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
Alex Naidis6eb7d372016-10-16 23:10:08 +02005 * Copyright (C) 2009-2011, 2014, D. R. Commander.
Leon Scroggins III3993b372018-07-16 10:43:45 -04006 * Copyright (C) 2015-2016, 2018, Matthieu Darbois.
DRC1a45b812014-05-09 18:06:58 +00007 *
Pierre Ossmanba82ddf2009-06-29 11:20:42 +00008 * Based on the x86 SIMD extension for IJG JPEG library,
9 * Copyright (C) 1999-2006, MIYASAKA Masaru.
DRCaf1ca9b2011-02-02 05:42:37 +000010 * For conditions of distribution and use, see copyright notice in jsimdext.inc
Pierre Ossmanba82ddf2009-06-29 11:20:42 +000011 *
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
22GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -040023jsimd_can_rgb_ycc(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +000024{
25 return 0;
26}
27
28GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -040029jsimd_can_rgb_gray(void)
DRCc8666332011-02-18 11:23:45 +000030{
31 return 0;
32}
33
34GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -040035jsimd_can_ycc_rgb(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +000036{
37 return 0;
38}
39
DRC1b3fd7e2014-05-15 18:26:01 +000040GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -040041jsimd_can_ycc_rgb565(void)
DRCd729f4d2014-08-23 15:47:51 +000042{
43 return 0;
44}
45
46GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -040047jsimd_c_can_null_convert(void)
DRC1b3fd7e2014-05-15 18:26:01 +000048{
49 return 0;
50}
51
Pierre Ossmanba82ddf2009-06-29 11:20:42 +000052GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -040053jsimd_rgb_ycc_convert(j_compress_ptr cinfo, JSAMPARRAY input_buf,
54 JSAMPIMAGE output_buf, JDIMENSION output_row,
55 int num_rows)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +000056{
57}
58
59GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -040060jsimd_rgb_gray_convert(j_compress_ptr cinfo, JSAMPARRAY input_buf,
61 JSAMPIMAGE output_buf, JDIMENSION output_row,
62 int num_rows)
DRCc8666332011-02-18 11:23:45 +000063{
64}
65
66GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -040067jsimd_ycc_rgb_convert(j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
68 JDIMENSION input_row, JSAMPARRAY output_buf,
69 int num_rows)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +000070{
71}
72
DRC1b3fd7e2014-05-15 18:26:01 +000073GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -040074jsimd_ycc_rgb565_convert(j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
75 JDIMENSION input_row, JSAMPARRAY output_buf,
76 int num_rows)
DRCd729f4d2014-08-23 15:47:51 +000077{
78}
79
80GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -040081jsimd_c_null_convert(j_compress_ptr cinfo, JSAMPARRAY input_buf,
82 JSAMPIMAGE output_buf, JDIMENSION output_row,
83 int num_rows)
DRC1b3fd7e2014-05-15 18:26:01 +000084{
85}
86
Pierre Ossmanba82ddf2009-06-29 11:20:42 +000087GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -040088jsimd_can_h2v2_downsample(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +000089{
90 return 0;
91}
92
93GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -040094jsimd_can_h2v1_downsample(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +000095{
96 return 0;
97}
98
DRC6a61c1e2014-05-14 15:00:10 +000099GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400100jsimd_can_h2v2_smooth_downsample(void)
DRC6a61c1e2014-05-14 15:00:10 +0000101{
102 return 0;
103}
104
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000105GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400106jsimd_h2v2_downsample(j_compress_ptr cinfo, jpeg_component_info *compptr,
107 JSAMPARRAY input_data, JSAMPARRAY output_data)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000108{
109}
110
111GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400112jsimd_h2v2_smooth_downsample(j_compress_ptr cinfo,
113 jpeg_component_info *compptr,
114 JSAMPARRAY input_data, JSAMPARRAY output_data)
DRC6a61c1e2014-05-14 15:00:10 +0000115{
116}
117
118GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400119jsimd_h2v1_downsample(j_compress_ptr cinfo, jpeg_component_info *compptr,
120 JSAMPARRAY input_data, JSAMPARRAY output_data)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000121{
122}
123
124GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400125jsimd_can_h2v2_upsample(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000126{
127 return 0;
128}
129
130GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400131jsimd_can_h2v1_upsample(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000132{
133 return 0;
134}
135
DRC5ef46302014-05-18 20:04:47 +0000136GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400137jsimd_can_int_upsample(void)
DRC5ef46302014-05-18 20:04:47 +0000138{
139 return 0;
140}
141
142GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400143jsimd_int_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
144 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr)
DRC5ef46302014-05-18 20:04:47 +0000145{
146}
147
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000148GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400149jsimd_h2v2_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
150 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000151{
152}
153
154GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400155jsimd_h2v1_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
156 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000157{
158}
159
160GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400161jsimd_can_h2v2_fancy_upsample(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000162{
163 return 0;
164}
165
166GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400167jsimd_can_h2v1_fancy_upsample(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000168{
169 return 0;
170}
171
172GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400173jsimd_h2v2_fancy_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
174 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000175{
176}
177
178GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400179jsimd_h2v1_fancy_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
180 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000181{
182}
183
184GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400185jsimd_can_h2v2_merged_upsample(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000186{
187 return 0;
188}
189
190GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400191jsimd_can_h2v1_merged_upsample(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000192{
193 return 0;
194}
195
196GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400197jsimd_h2v2_merged_upsample(j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
198 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000199{
200}
201
202GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400203jsimd_h2v1_merged_upsample(j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
204 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000205{
206}
207
208GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400209jsimd_can_convsamp(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000210{
211 return 0;
212}
213
214GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400215jsimd_can_convsamp_float(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000216{
217 return 0;
218}
219
220GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400221jsimd_convsamp(JSAMPARRAY sample_data, JDIMENSION start_col,
222 DCTELEM *workspace)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000223{
224}
225
226GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400227jsimd_convsamp_float(JSAMPARRAY sample_data, JDIMENSION start_col,
228 FAST_FLOAT *workspace)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000229{
230}
231
232GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400233jsimd_can_fdct_islow(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000234{
235 return 0;
236}
237
238GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400239jsimd_can_fdct_ifast(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000240{
241 return 0;
242}
243
244GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400245jsimd_can_fdct_float(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000246{
247 return 0;
248}
249
250GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400251jsimd_fdct_islow(DCTELEM *data)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000252{
253}
254
255GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400256jsimd_fdct_ifast(DCTELEM *data)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000257{
258}
259
260GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400261jsimd_fdct_float(FAST_FLOAT *data)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000262{
263}
264
265GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400266jsimd_can_quantize(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000267{
268 return 0;
269}
270
271GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400272jsimd_can_quantize_float(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000273{
274 return 0;
275}
276
277GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400278jsimd_quantize(JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000279{
280}
281
282GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400283jsimd_quantize_float(JCOEFPTR coef_block, FAST_FLOAT *divisors,
284 FAST_FLOAT *workspace)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000285{
286}
287
288GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400289jsimd_can_idct_2x2(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000290{
291 return 0;
292}
293
294GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400295jsimd_can_idct_4x4(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000296{
297 return 0;
298}
299
DRCe5005912013-09-27 17:51:08 +0000300GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400301jsimd_can_idct_6x6(void)
DRCe5005912013-09-27 17:51:08 +0000302{
303 return 0;
304}
305
306GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400307jsimd_can_idct_12x12(void)
DRCe5005912013-09-27 17:51:08 +0000308{
309 return 0;
310}
311
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000312GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400313jsimd_idct_2x2(j_decompress_ptr cinfo, jpeg_component_info *compptr,
314 JCOEFPTR coef_block, JSAMPARRAY output_buf,
315 JDIMENSION output_col)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000316{
317}
318
319GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400320jsimd_idct_4x4(j_decompress_ptr cinfo, jpeg_component_info *compptr,
321 JCOEFPTR coef_block, JSAMPARRAY output_buf,
322 JDIMENSION output_col)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000323{
324}
325
DRCe5005912013-09-27 17:51:08 +0000326GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400327jsimd_idct_6x6(j_decompress_ptr cinfo, jpeg_component_info *compptr,
328 JCOEFPTR coef_block, JSAMPARRAY output_buf,
329 JDIMENSION output_col)
DRCe5005912013-09-27 17:51:08 +0000330{
331}
332
333GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400334jsimd_idct_12x12(j_decompress_ptr cinfo, jpeg_component_info *compptr,
335 JCOEFPTR coef_block, JSAMPARRAY output_buf,
336 JDIMENSION output_col)
DRCe5005912013-09-27 17:51:08 +0000337{
338}
339
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000340GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400341jsimd_can_idct_islow(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000342{
343 return 0;
344}
345
346GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400347jsimd_can_idct_ifast(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000348{
349 return 0;
350}
351
352GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400353jsimd_can_idct_float(void)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000354{
355 return 0;
356}
357
358GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400359jsimd_idct_islow(j_decompress_ptr cinfo, jpeg_component_info *compptr,
360 JCOEFPTR coef_block, JSAMPARRAY output_buf,
361 JDIMENSION output_col)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000362{
363}
364
365GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400366jsimd_idct_ifast(j_decompress_ptr cinfo, jpeg_component_info *compptr,
367 JCOEFPTR coef_block, JSAMPARRAY output_buf,
368 JDIMENSION output_col)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000369{
370}
371
372GLOBAL(void)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400373jsimd_idct_float(j_decompress_ptr cinfo, jpeg_component_info *compptr,
374 JCOEFPTR coef_block, JSAMPARRAY output_buf,
375 JDIMENSION output_col)
Pierre Ossmanba82ddf2009-06-29 11:20:42 +0000376{
377}
378
Alex Naidis6eb7d372016-10-16 23:10:08 +0200379GLOBAL(int)
Leon Scroggins III3993b372018-07-16 10:43:45 -0400380jsimd_can_huff_encode_one_block(void)
Alex Naidis6eb7d372016-10-16 23:10:08 +0200381{
382 return 0;
383}
384
Leon Scroggins III3993b372018-07-16 10:43:45 -0400385GLOBAL(JOCTET *)
386jsimd_huff_encode_one_block(void *state, JOCTET *buffer, JCOEFPTR block,
387 int last_dc_val, c_derived_tbl *dctbl,
388 c_derived_tbl *actbl)
Alex Naidis6eb7d372016-10-16 23:10:08 +0200389{
390 return NULL;
391}
Leon Scroggins III3993b372018-07-16 10:43:45 -0400392
393GLOBAL(int)
394jsimd_can_encode_mcu_AC_first_prepare(void)
395{
396 return 0;
397}
398
399GLOBAL(void)
400jsimd_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
406GLOBAL(int)
407jsimd_can_encode_mcu_AC_refine_prepare(void)
408{
409 return 0;
410}
411
412GLOBAL(int)
413jsimd_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}