blob: 3fa2c43271ceadff438deed40453e7bc8348910d [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
DRC392e0482011-02-18 20:43:04 +00005 * Copyright 2011 D. R. Commander
Pierre Ossman59a39382009-03-09 13:15:56 +00006 *
7 * Based on the x86 SIMD extension for IJG JPEG library,
8 * Copyright (C) 1999-2006, MIYASAKA Masaru.
DRCaf1ca9b2011-02-02 05:42:37 +00009 * For conditions of distribution and use, see copyright notice in jsimdext.inc
Pierre Ossman59a39382009-03-09 13:15:56 +000010 *
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
DRCc8666332011-02-18 11:23:45 +000017#define jsimd_can_rgb_gray jSCanRgbGry
Pierre Ossman59a39382009-03-09 13:15:56 +000018#define jsimd_can_ycc_rgb jSCanYccRgb
19#define jsimd_rgb_ycc_convert jSRgbYccConv
DRCc8666332011-02-18 11:23:45 +000020#define jsimd_rgb_gray_convert jSRgbGryConv
Pierre Ossman59a39382009-03-09 13:15:56 +000021#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));
DRCc8666332011-02-18 11:23:45 +000041EXTERN(int) jsimd_can_rgb_gray JPP((void));
Pierre Ossman59a39382009-03-09 13:15:56 +000042EXTERN(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));
DRCc8666332011-02-18 11:23:45 +000048EXTERN(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));
Pierre Ossman59a39382009-03-09 13:15:56 +000052EXTERN(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