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