OLD | NEW |
1 // This file generates the include file for the assembly | 1 // This file generates the include file for the assembly |
2 // implementations by abusing the C preprocessor. | 2 // implementations by abusing the C preprocessor. |
3 // | 3 // |
4 // Note: Some things are manually defined as they need to | 4 // Note: Some things are manually defined as they need to |
5 // be mapped to NASM types. | 5 // be mapped to NASM types. |
6 | 6 |
7 ; | 7 ; |
8 ; Automatically generated include file from jsimdcfg.inc.h | 8 ; Automatically generated include file from jsimdcfg.inc.h |
9 ; | 9 ; |
10 | 10 |
11 #define JPEG_INTERNALS | 11 #define JPEG_INTERNALS |
12 | 12 |
13 #include "../jpeglib.h" | 13 #include "../jpeglib.h" |
14 #include "../jconfig.h" | 14 #include "../jconfig.h" |
15 #include "../jmorecfg.h" | 15 #include "../jmorecfg.h" |
16 #include "jsimd.h" | 16 #include "jsimd.h" |
17 | 17 |
18 #define define(var) %define _cpp_protection_##var | |
19 #define definev(var) %define _cpp_protection_##var var | |
20 | |
21 ; | 18 ; |
22 ; -- jpeglib.h | 19 ; -- jpeglib.h |
23 ; | 20 ; |
24 | 21 |
25 definev(DCTSIZE) | 22 %define _cpp_protection_DCTSIZE DCTSIZE |
26 definev(DCTSIZE2) | 23 %define _cpp_protection_DCTSIZE2 DCTSIZE2 |
27 | 24 |
28 ; | 25 ; |
29 ; -- jmorecfg.h | 26 ; -- jmorecfg.h |
30 ; | 27 ; |
31 | 28 |
32 definev(RGB_RED) | 29 %define _cpp_protection_RGB_RED RGB_RED |
33 definev(RGB_GREEN) | 30 %define _cpp_protection_RGB_GREEN RGB_GREEN |
34 definev(RGB_BLUE) | 31 %define _cpp_protection_RGB_BLUE RGB_BLUE |
35 definev(RGB_PIXELSIZE) | 32 %define _cpp_protection_RGB_PIXELSIZE RGB_PIXELSIZE |
36 | 33 |
37 definev(EXT_RGB_RED) | 34 %define _cpp_protection_EXT_RGB_RED EXT_RGB_RED |
38 definev(EXT_RGB_GREEN) | 35 %define _cpp_protection_EXT_RGB_GREEN EXT_RGB_GREEN |
39 definev(EXT_RGB_BLUE) | 36 %define _cpp_protection_EXT_RGB_BLUE EXT_RGB_BLUE |
40 definev(EXT_RGB_PIXELSIZE) | 37 %define _cpp_protection_EXT_RGB_PIXELSIZE EXT_RGB_PIXELSIZE |
41 | 38 |
42 definev(EXT_RGBX_RED) | 39 %define _cpp_protection_EXT_RGBX_RED EXT_RGBX_RED |
43 definev(EXT_RGBX_GREEN) | 40 %define _cpp_protection_EXT_RGBX_GREEN EXT_RGBX_GREEN |
44 definev(EXT_RGBX_BLUE) | 41 %define _cpp_protection_EXT_RGBX_BLUE EXT_RGBX_BLUE |
45 definev(EXT_RGBX_PIXELSIZE) | 42 %define _cpp_protection_EXT_RGBX_PIXELSIZE EXT_RGBX_PIXELSIZE |
46 | 43 |
47 definev(EXT_BGR_RED) | 44 %define _cpp_protection_EXT_BGR_RED EXT_BGR_RED |
48 definev(EXT_BGR_GREEN) | 45 %define _cpp_protection_EXT_BGR_GREEN EXT_BGR_GREEN |
49 definev(EXT_BGR_BLUE) | 46 %define _cpp_protection_EXT_BGR_BLUE EXT_BGR_BLUE |
50 definev(EXT_BGR_PIXELSIZE) | 47 %define _cpp_protection_EXT_BGR_PIXELSIZE EXT_BGR_PIXELSIZE |
51 | 48 |
52 definev(EXT_BGRX_RED) | 49 %define _cpp_protection_EXT_BGRX_RED EXT_BGRX_RED |
53 definev(EXT_BGRX_GREEN) | 50 %define _cpp_protection_EXT_BGRX_GREEN EXT_BGRX_GREEN |
54 definev(EXT_BGRX_BLUE) | 51 %define _cpp_protection_EXT_BGRX_BLUE EXT_BGRX_BLUE |
55 definev(EXT_BGRX_PIXELSIZE) | 52 %define _cpp_protection_EXT_BGRX_PIXELSIZE EXT_BGRX_PIXELSIZE |
56 | 53 |
57 definev(EXT_XBGR_RED) | 54 %define _cpp_protection_EXT_XBGR_RED EXT_XBGR_RED |
58 definev(EXT_XBGR_GREEN) | 55 %define _cpp_protection_EXT_XBGR_GREEN EXT_XBGR_GREEN |
59 definev(EXT_XBGR_BLUE) | 56 %define _cpp_protection_EXT_XBGR_BLUE EXT_XBGR_BLUE |
60 definev(EXT_XBGR_PIXELSIZE) | 57 %define _cpp_protection_EXT_XBGR_PIXELSIZE EXT_XBGR_PIXELSIZE |
61 | 58 |
62 definev(EXT_XRGB_RED) | 59 %define _cpp_protection_EXT_XRGB_RED EXT_XRGB_RED |
63 definev(EXT_XRGB_GREEN) | 60 %define _cpp_protection_EXT_XRGB_GREEN EXT_XRGB_GREEN |
64 definev(EXT_XRGB_BLUE) | 61 %define _cpp_protection_EXT_XRGB_BLUE EXT_XRGB_BLUE |
65 definev(EXT_XRGB_PIXELSIZE) | 62 %define _cpp_protection_EXT_XRGB_PIXELSIZE EXT_XRGB_PIXELSIZE |
66 | 63 |
67 %define RGBX_FILLER_0XFF 1 | 64 %define RGBX_FILLER_0XFF 1 |
68 | 65 |
69 ; Representation of a single sample (pixel element value). | 66 ; Representation of a single sample (pixel element value). |
70 ; On this SIMD implementation, this must be 'unsigned char'. | 67 ; On this SIMD implementation, this must be 'unsigned char'. |
71 ; | 68 ; |
72 | 69 |
73 %define JSAMPLE byte ; unsigned char | 70 %define JSAMPLE byte ; unsigned char |
74 %define SIZEOF_JSAMPLE SIZEOF_BYTE ; sizeof(JSAMPLE) | 71 %define SIZEOF_JSAMPLE SIZEOF_BYTE ; sizeof(JSAMPLE) |
75 | 72 |
76 definev(CENTERJSAMPLE) | 73 %define _cpp_protection_CENTERJSAMPLE CENTERJSAMPLE |
77 | 74 |
78 ; Representation of a DCT frequency coefficient. | 75 ; Representation of a DCT frequency coefficient. |
79 ; On this SIMD implementation, this must be 'short'. | 76 ; On this SIMD implementation, this must be 'short'. |
80 ; | 77 ; |
81 %define JCOEF word ; short | 78 %define JCOEF word ; short |
82 %define SIZEOF_JCOEF SIZEOF_WORD ; sizeof(JCOEF) | 79 %define SIZEOF_JCOEF SIZEOF_WORD ; sizeof(JCOEF) |
83 | 80 |
84 ; Datatype used for image dimensions. | 81 ; Datatype used for image dimensions. |
85 ; On this SIMD implementation, this must be 'unsigned int'. | 82 ; On this SIMD implementation, this must be 'unsigned int'. |
86 ; | 83 ; |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 %define SIZEOF_IFAST_MULT_TYPE SIZEOF_WORD ; sizeof(IFAST_MULT_TYPE) | 116 %define SIZEOF_IFAST_MULT_TYPE SIZEOF_WORD ; sizeof(IFAST_MULT_TYPE) |
120 %define IFAST_SCALE_BITS 2 ; fractional bits in scale factors | 117 %define IFAST_SCALE_BITS 2 ; fractional bits in scale factors |
121 | 118 |
122 %define FLOAT_MULT_TYPE FP32 ; must be float | 119 %define FLOAT_MULT_TYPE FP32 ; must be float |
123 %define SIZEOF_FLOAT_MULT_TYPE SIZEOF_FP32 ; sizeof(FLOAT_MULT_TYPE) | 120 %define SIZEOF_FLOAT_MULT_TYPE SIZEOF_FP32 ; sizeof(FLOAT_MULT_TYPE) |
124 | 121 |
125 ; | 122 ; |
126 ; -- jsimd.h | 123 ; -- jsimd.h |
127 ; | 124 ; |
128 | 125 |
129 definev(JSIMD_NONE) | 126 %define _cpp_protection_JSIMD_NONE JSIMD_NONE |
130 definev(JSIMD_MMX) | 127 %define _cpp_protection_JSIMD_MMX JSIMD_MMX |
131 definev(JSIMD_3DNOW) | 128 %define _cpp_protection_JSIMD_3DNOW JSIMD_3DNOW |
132 definev(JSIMD_SSE) | 129 %define _cpp_protection_JSIMD_SSE JSIMD_SSE |
133 definev(JSIMD_SSE2) | 130 %define _cpp_protection_JSIMD_SSE2 JSIMD_SSE2 |
134 | 131 |
135 ; Short forms of external names for systems with brain-damaged linkers. | 132 ; Short forms of external names for systems with brain-damaged linkers. |
136 ; | 133 ; |
137 #ifdef NEED_SHORT_EXTERNAL_NAMES | 134 #ifdef NEED_SHORT_EXTERNAL_NAMES |
138 definev(jpeg_simd_cpu_support) | 135 %define _cpp_protection_jpeg_simd_cpu_support jpeg_simd_cpu_support |
139 definev(jsimd_rgb_ycc_convert_mmx) | 136 %define _cpp_protection_jsimd_rgb_ycc_convert_mmx jsimd_rgb_ycc_convert_mmx |
140 definev(jsimd_ycc_rgb_convert_mmx) | 137 %define _cpp_protection_jsimd_ycc_rgb_convert_mmx jsimd_ycc_rgb_convert_mmx |
141 definev(jconst_rgb_ycc_convert_sse2) | 138 %define _cpp_protection_jconst_rgb_ycc_convert_sse2 jconst_rgb_ycc_convert_sse2 |
142 definev(jsimd_rgb_ycc_convert_sse2) | 139 %define _cpp_protection_jsimd_rgb_ycc_convert_sse2 jsimd_rgb_ycc_convert_sse2 |
143 definev(jconst_ycc_rgb_convert_sse2) | 140 %define _cpp_protection_jconst_ycc_rgb_convert_sse2 jconst_ycc_rgb_convert_sse2 |
144 definev(jsimd_ycc_rgb_convert_sse2) | 141 %define _cpp_protection_jsimd_ycc_rgb_convert_sse2 jsimd_ycc_rgb_convert_sse2 |
145 definev(jsimd_h2v2_downsample_mmx) | 142 %define _cpp_protection_jsimd_h2v2_downsample_mmx jsimd_h2v2_downsample_mmx |
146 definev(jsimd_h2v1_downsample_mmx) | 143 %define _cpp_protection_jsimd_h2v1_downsample_mmx jsimd_h2v1_downsample_mmx |
147 definev(jsimd_h2v2_downsample_sse2) | 144 %define _cpp_protection_jsimd_h2v2_downsample_sse2 jsimd_h2v2_downsample_sse2 |
148 definev(jsimd_h2v1_downsample_sse2) | 145 %define _cpp_protection_jsimd_h2v1_downsample_sse2 jsimd_h2v1_downsample_sse2 |
149 definev(jsimd_h2v2_upsample_mmx) | 146 %define _cpp_protection_jsimd_h2v2_upsample_mmx jsimd_h2v2_upsample_mmx |
150 definev(jsimd_h2v1_upsample_mmx) | 147 %define _cpp_protection_jsimd_h2v1_upsample_mmx jsimd_h2v1_upsample_mmx |
151 definev(jsimd_h2v1_fancy_upsample_mmx) | 148 %define _cpp_protection_jsimd_h2v1_fancy_upsample_mmx jsimd_h2v1_fancy_upsample_
mmx |
152 definev(jsimd_h2v2_fancy_upsample_mmx) | 149 %define _cpp_protection_jsimd_h2v2_fancy_upsample_mmx jsimd_h2v2_fancy_upsample_
mmx |
153 definev(jsimd_h2v1_merged_upsample_mmx) | 150 %define _cpp_protection_jsimd_h2v1_merged_upsample_mmx jsimd_h2v1_merged_upsampl
e_mmx |
154 definev(jsimd_h2v2_merged_upsample_mmx) | 151 %define _cpp_protection_jsimd_h2v2_merged_upsample_mmx jsimd_h2v2_merged_upsampl
e_mmx |
155 definev(jsimd_h2v2_upsample_sse2) | 152 %define _cpp_protection_jsimd_h2v2_upsample_sse2 jsimd_h2v2_upsample_sse2 |
156 definev(jsimd_h2v1_upsample_sse2) | 153 %define _cpp_protection_jsimd_h2v1_upsample_sse2 jsimd_h2v1_upsample_sse2 |
157 definev(jconst_fancy_upsample_sse2) | 154 %define _cpp_protection_jconst_fancy_upsample_sse2 jconst_fancy_upsample_sse2 |
158 definev(jsimd_h2v1_fancy_upsample_sse2) | 155 %define _cpp_protection_jsimd_h2v1_fancy_upsample_sse2 jsimd_h2v1_fancy_upsample
_sse2 |
159 definev(jsimd_h2v2_fancy_upsample_sse2) | 156 %define _cpp_protection_jsimd_h2v2_fancy_upsample_sse2 jsimd_h2v2_fancy_upsample
_sse2 |
160 definev(jconst_merged_upsample_sse2) | 157 %define _cpp_protection_jconst_merged_upsample_sse2 jconst_merged_upsample_sse2 |
161 definev(jsimd_h2v1_merged_upsample_sse2) | 158 %define _cpp_protection_jsimd_h2v1_merged_upsample_sse2 jsimd_h2v1_merged_upsamp
le_sse2 |
162 definev(jsimd_h2v2_merged_upsample_sse2) | 159 %define _cpp_protection_jsimd_h2v2_merged_upsample_sse2 jsimd_h2v2_merged_upsamp
le_sse2 |
163 definev(jsimd_convsamp_mmx) | 160 %define _cpp_protection_jsimd_convsamp_mmx jsimd_convsamp_mmx |
164 definev(jsimd_convsamp_sse2) | 161 %define _cpp_protection_jsimd_convsamp_sse2 jsimd_convsamp_sse2 |
165 definev(jsimd_convsamp_float_3dnow) | 162 %define _cpp_protection_jsimd_convsamp_float_3dnow jsimd_convsamp_float_3dnow |
166 definev(jsimd_convsamp_float_sse) | 163 %define _cpp_protection_jsimd_convsamp_float_sse jsimd_convsamp_float_sse |
167 definev(jsimd_convsamp_float_sse2) | 164 %define _cpp_protection_jsimd_convsamp_float_sse2 jsimd_convsamp_float_sse2 |
168 definev(jsimd_fdct_islow_mmx) | 165 %define _cpp_protection_jsimd_fdct_islow_mmx jsimd_fdct_islow_mmx |
169 definev(jsimd_fdct_ifast_mmx) | 166 %define _cpp_protection_jsimd_fdct_ifast_mmx jsimd_fdct_ifast_mmx |
170 definev(jconst_fdct_islow_sse2) | 167 %define _cpp_protection_jconst_fdct_islow_sse2 jconst_fdct_islow_sse2 |
171 definev(jsimd_fdct_islow_sse2) | 168 %define _cpp_protection_jsimd_fdct_islow_sse2 jsimd_fdct_islow_sse2 |
172 definev(jconst_fdct_ifast_sse2) | 169 %define _cpp_protection_jconst_fdct_ifast_sse2 jconst_fdct_ifast_sse2 |
173 definev(jsimd_fdct_ifast_sse2) | 170 %define _cpp_protection_jsimd_fdct_ifast_sse2 jsimd_fdct_ifast_sse2 |
174 definev(jsimd_fdct_float_3dnow) | 171 %define _cpp_protection_jsimd_fdct_float_3dnow jsimd_fdct_float_3dnow |
175 definev(jconst_fdct_float_sse) | 172 %define _cpp_protection_jconst_fdct_float_sse jconst_fdct_float_sse |
176 definev(jsimd_fdct_float_sse) | 173 %define _cpp_protection_jsimd_fdct_float_sse jsimd_fdct_float_sse |
177 definev(jsimd_quantize_mmx) | 174 %define _cpp_protection_jsimd_quantize_mmx jsimd_quantize_mmx |
178 definev(jsimd_quantize_sse2) | 175 %define _cpp_protection_jsimd_quantize_sse2 jsimd_quantize_sse2 |
179 definev(jsimd_quantize_float_3dnow) | 176 %define _cpp_protection_jsimd_quantize_float_3dnow jsimd_quantize_float_3dnow |
180 definev(jsimd_quantize_float_sse) | 177 %define _cpp_protection_jsimd_quantize_float_sse jsimd_quantize_float_sse |
181 definev(jsimd_quantize_float_sse2) | 178 %define _cpp_protection_jsimd_quantize_float_sse2 jsimd_quantize_float_sse2 |
182 definev(jsimd_idct_2x2_mmx) | 179 %define _cpp_protection_jsimd_idct_2x2_mmx jsimd_idct_2x2_mmx |
183 definev(jsimd_idct_4x4_mmx) | 180 %define _cpp_protection_jsimd_idct_4x4_mmx jsimd_idct_4x4_mmx |
184 definev(jconst_idct_red_sse2) | 181 %define _cpp_protection_jconst_idct_red_sse2 jconst_idct_red_sse2 |
185 definev(jsimd_idct_2x2_sse2) | 182 %define _cpp_protection_jsimd_idct_2x2_sse2 jsimd_idct_2x2_sse2 |
186 definev(jsimd_idct_4x4_sse2) | 183 %define _cpp_protection_jsimd_idct_4x4_sse2 jsimd_idct_4x4_sse2 |
187 definev(jsimd_idct_islow_mmx) | 184 %define _cpp_protection_jsimd_idct_islow_mmx jsimd_idct_islow_mmx |
188 definev(jsimd_idct_ifast_mmx) | 185 %define _cpp_protection_jsimd_idct_ifast_mmx jsimd_idct_ifast_mmx |
189 definev(jconst_idct_islow_sse2) | 186 %define _cpp_protection_jconst_idct_islow_sse2 jconst_idct_islow_sse2 |
190 definev(jsimd_idct_islow_sse2) | 187 %define _cpp_protection_jsimd_idct_islow_sse2 jsimd_idct_islow_sse2 |
191 definev(jconst_idct_ifast_sse2) | 188 %define _cpp_protection_jconst_idct_ifast_sse2 jconst_idct_ifast_sse2 |
192 definev(jsimd_idct_ifast_sse2) | 189 %define _cpp_protection_jsimd_idct_ifast_sse2 jsimd_idct_ifast_sse2 |
193 definev(jsimd_idct_float_3dnow) | 190 %define _cpp_protection_jsimd_idct_float_3dnow jsimd_idct_float_3dnow |
194 definev(jconst_idct_float_sse) | 191 %define _cpp_protection_jconst_idct_float_sse jconst_idct_float_sse |
195 definev(jsimd_idct_float_sse) | 192 %define _cpp_protection_jsimd_idct_float_sse jsimd_idct_float_sse |
196 definev(jconst_idct_float_sse2) | 193 %define _cpp_protection_jconst_idct_float_sse2 jconst_idct_float_sse2 |
197 definev(jsimd_idct_float_sse2) | 194 %define _cpp_protection_jsimd_idct_float_sse2 jsimd_idct_float_sse2 |
198 #endif /* NEED_SHORT_EXTERNAL_NAMES */ | 195 #endif /* NEED_SHORT_EXTERNAL_NAMES */ |
199 | 196 |
OLD | NEW |