1/*
2 * jsimd.h
3 *
4 * Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
5 * Copyright 2011 D. R. Commander
6 *
7 * Based on the x86 SIMD extension for IJG JPEG library,
8 * Copyright (C) 1999-2006, MIYASAKA Masaru.
9 * For conditions of distribution and use, see copyright notice in jsimdext.inc
10 *
11 */
12
13/* Short forms of external names for systems with brain-damaged linkers. */
14
15#ifdef NEED_SHORT_EXTERNAL_NAMES
16#define jsimd_can_rgb_ycc                 jSCanRgbYcc
17#define jsimd_can_rgb_gray                jSCanRgbGry
18#define jsimd_can_ycc_rgb                 jSCanYccRgb
19#define jsimd_rgb_ycc_convert             jSRgbYccConv
20#define jsimd_rgb_gray_convert            jSRgbGryConv
21#define jsimd_ycc_rgb_convert             jSYccRgbConv
22#define jsimd_can_h2v2_downsample         jSCanH2V2Down
23#define jsimd_can_h2v1_downsample         jSCanH2V1Down
24#define jsimd_h2v2_downsample             jSH2V2Down
25#define jsimd_h2v1_downsample             jSH2V1Down
26#define jsimd_can_h2v2_upsample           jSCanH2V2Up
27#define jsimd_can_h2v1_upsample           jSCanH2V1Up
28#define jsimd_h2v2_upsample               jSH2V2Up
29#define jsimd_h2v1_upsample               jSH2V1Up
30#define jsimd_can_h2v2_fancy_upsample     jSCanH2V2FUp
31#define jsimd_can_h2v1_fancy_upsample     jSCanH2V1FUp
32#define jsimd_h2v2_fancy_upsample         jSH2V2FUp
33#define jsimd_h2v1_fancy_upsample         jSH2V1FUp
34#define jsimd_can_h2v2_merged_upsample    jSCanH2V2MUp
35#define jsimd_can_h2v1_merged_upsample    jSCanH2V1MUp
36#define jsimd_h2v2_merged_upsample        jSH2V2MUp
37#define jsimd_h2v1_merged_upsample        jSH2V1MUp
38#endif /* NEED_SHORT_EXTERNAL_NAMES */
39
40EXTERN(int) jsimd_can_rgb_ycc JPP((void));
41EXTERN(int) jsimd_can_rgb_gray JPP((void));
42EXTERN(int) jsimd_can_ycc_rgb JPP((void));
43
44EXTERN(void) jsimd_rgb_ycc_convert
45        JPP((j_compress_ptr cinfo,
46             JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
47             JDIMENSION output_row, int num_rows));
48EXTERN(void) jsimd_rgb_gray_convert
49        JPP((j_compress_ptr cinfo,
50             JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
51             JDIMENSION output_row, int num_rows));
52EXTERN(void) jsimd_ycc_rgb_convert
53        JPP((j_decompress_ptr cinfo,
54             JSAMPIMAGE input_buf, JDIMENSION input_row,
55             JSAMPARRAY output_buf, int num_rows));
56
57EXTERN(int) jsimd_can_h2v2_downsample JPP((void));
58EXTERN(int) jsimd_can_h2v1_downsample JPP((void));
59
60EXTERN(void) jsimd_h2v2_downsample
61        JPP((j_compress_ptr cinfo, jpeg_component_info * compptr,
62             JSAMPARRAY input_data, JSAMPARRAY output_data));
63EXTERN(void) jsimd_h2v1_downsample
64        JPP((j_compress_ptr cinfo, jpeg_component_info * compptr,
65             JSAMPARRAY input_data, JSAMPARRAY output_data));
66
67EXTERN(int) jsimd_can_h2v2_upsample JPP((void));
68EXTERN(int) jsimd_can_h2v1_upsample JPP((void));
69
70EXTERN(void) jsimd_h2v2_upsample
71        JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr,
72             JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr));
73EXTERN(void) jsimd_h2v1_upsample
74        JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr,
75             JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr));
76
77EXTERN(int) jsimd_can_h2v2_fancy_upsample JPP((void));
78EXTERN(int) jsimd_can_h2v1_fancy_upsample JPP((void));
79
80EXTERN(void) jsimd_h2v2_fancy_upsample
81        JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr,
82             JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr));
83EXTERN(void) jsimd_h2v1_fancy_upsample
84        JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr,
85             JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr));
86
87EXTERN(int) jsimd_can_h2v2_merged_upsample JPP((void));
88EXTERN(int) jsimd_can_h2v1_merged_upsample JPP((void));
89
90EXTERN(void) jsimd_h2v2_merged_upsample
91        JPP((j_decompress_ptr cinfo,
92             JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
93             JSAMPARRAY output_buf));
94EXTERN(void) jsimd_h2v1_merged_upsample
95        JPP((j_decompress_ptr cinfo,
96             JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
97             JSAMPARRAY output_buf));
98
99