| OLD | NEW |
| 1 Index: jmorecfg.h | 1 Index: jdmarker.c |
| 2 =================================================================== | 2 =================================================================== |
| 3 --- jmorecfg.h» (revision 64575) | 3 --- jdmarker.c» (revision 677) |
| 4 +++ jmorecfg.h» (working copy) | 4 +++ jdmarker.c» (working copy) |
| 5 @@ -159,8 +159,10 @@ | 5 @@ -940,7 +940,144 @@ |
| 6 /* INT32 must hold at least signed 32-bit values. */ | 6 return TRUE; |
| 7 } |
| 7 | 8 |
| 8 #ifndef XMD_H» » » /* X11/xmd.h correctly defines INT32 */ | 9 +#ifdef MOTION_JPEG_SUPPORTED |
| 9 +#ifndef _BASETSD_H_» » /* basetsd.h correctly defines INT32 */ | |
| 10 typedef long INT32; | |
| 11 #endif | |
| 12 +#endif | |
| 13 | 10 |
| 14 /* Datatype used for image dimensions. The JPEG standard only supports | 11 +/* The default Huffman tables used by motion JPEG frames. When a motion JPEG |
| 15 * images up to 64K*64K due to 16-bit fields in SOF markers. Therefore | 12 + * frame does not have DHT tables, we should use the huffman tables suggested b
y |
| 16 @@ -210,11 +212,13 @@ | 13 + * the JPEG standard. Each of these tables represents a member of the JHUFF_TBL
S |
| 17 * explicit coding is needed; see uses of the NEED_FAR_POINTERS symbol. | 14 + * struct so we can just copy it to the according JHUFF_TBLS member. |
| 18 */ | 15 + */ |
| 16 +/* DC table 0 */ |
| 17 +LOCAL(const unsigned char) mjpg_dc0_bits[] = { |
| 18 + 0x00, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01, 0x01, |
| 19 + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 |
| 20 +}; |
| 21 + |
| 22 +LOCAL(const unsigned char) mjpg_dc0_huffval[] = { |
| 23 + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, |
| 24 + 0x08, 0x09, 0x0A, 0x0B |
| 25 +}; |
| 26 + |
| 27 +/* DC table 1 */ |
| 28 +LOCAL(const unsigned char) mjpg_dc1_bits[] = { |
| 29 + 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, |
| 30 + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 |
| 31 +}; |
| 32 + |
| 33 +LOCAL(const unsigned char) mjpg_dc1_huffval[] = { |
| 34 + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, |
| 35 + 0x08, 0x09, 0x0A, 0x0B |
| 36 +}; |
| 37 + |
| 38 +/* AC table 0 */ |
| 39 +LOCAL(const unsigned char) mjpg_ac0_bits[] = { |
| 40 + 0x00, 0x02, 0x01, 0x03, 0x03, 0x02, 0x04, 0x03, |
| 41 + 0x05, 0x05, 0x04, 0x04, 0x00, 0x00, 0x01, 0x7D |
| 42 +}; |
| 43 + |
| 44 +LOCAL(const unsigned char) mjpg_ac0_huffval[] = { |
| 45 + 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, |
| 46 + 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07, |
| 47 + 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xA1, 0x08, |
| 48 + 0x23, 0x42, 0xB1, 0xC1, 0x15, 0x52, 0xD1, 0xF0, |
| 49 + 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0A, 0x16, |
| 50 + 0x17, 0x18, 0x19, 0x1A, 0x25, 0x26, 0x27, 0x28, |
| 51 + 0x29, 0x2A, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, |
| 52 + 0x3A, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, |
| 53 + 0x4A, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, |
| 54 + 0x5A, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, |
| 55 + 0x6A, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, |
| 56 + 0x7A, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, |
| 57 + 0x8A, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, |
| 58 + 0x99, 0x9A, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, |
| 59 + 0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, |
| 60 + 0xB7, 0xB8, 0xB9, 0xBA, 0xC2, 0xC3, 0xC4, 0xC5, |
| 61 + 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xD2, 0xD3, 0xD4, |
| 62 + 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xE1, 0xE2, |
| 63 + 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, |
| 64 + 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, |
| 65 + 0xF9, 0xFA |
| 66 +}; |
| 67 + |
| 68 +/* AC table 1 */ |
| 69 +LOCAL(const unsigned char) mjpg_ac1_bits[] = { |
| 70 + 0x00, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 0x04, |
| 71 + 0x07, 0x05, 0x04, 0x04, 0x00, 0x01, 0x02, 0x77 |
| 72 +}; |
| 73 + |
| 74 +LOCAL(const unsigned char) mjpg_ac1_huffval[] = { |
| 75 + 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, |
| 76 + 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71, |
| 77 + 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91, |
| 78 + 0xA1, 0xB1, 0xC1, 0x09, 0x23, 0x33, 0x52, 0xF0, |
| 79 + 0x15, 0x62, 0x72, 0xD1, 0x0A, 0x16, 0x24, 0x34, |
| 80 + 0xE1, 0x25, 0xF1, 0x17, 0x18, 0x19, 0x1A, 0x26, |
| 81 + 0x27, 0x28, 0x29, 0x2A, 0x35, 0x36, 0x37, 0x38, |
| 82 + 0x39, 0x3A, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, |
| 83 + 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, |
| 84 + 0x59, 0x5A, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, |
| 85 + 0x69, 0x6A, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, |
| 86 + 0x79, 0x7A, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, |
| 87 + 0x88, 0x89, 0x8A, 0x92, 0x93, 0x94, 0x95, 0x96, |
| 88 + 0x97, 0x98, 0x99, 0x9A, 0xA2, 0xA3, 0xA4, 0xA5, |
| 89 + 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, |
| 90 + 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xC2, 0xC3, |
| 91 + 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xD2, |
| 92 + 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, |
| 93 + 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, |
| 94 + 0xEA, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, |
| 95 + 0xF9, 0xFA |
| 96 +}; |
| 97 + |
| 98 +/* Loads the default Huffman tables used by motion JPEG frames. This function |
| 99 + * just copies the huffman tables suggested in the JPEG standard when we have |
| 100 + * not load them. |
| 101 + */ |
| 102 +LOCAL(void) |
| 103 +mjpg_load_huff_tables (j_decompress_ptr cinfo) |
| 104 +{ |
| 105 + JHUFF_TBL *htblptr; |
| 106 + |
| 107 + if (! cinfo->dc_huff_tbl_ptrs[0]) { |
| 108 + htblptr = jpeg_alloc_huff_table((j_common_ptr) cinfo); |
| 109 + MEMZERO(htblptr, SIZEOF(JHUFF_TBL)); |
| 110 + MEMCOPY(&htblptr->bits[1], mjpg_dc0_bits, SIZEOF(mjpg_dc0_bits)); |
| 111 + MEMCOPY(&htblptr->huffval[0], mjpg_dc0_huffval, SIZEOF(mjpg_dc0_huffval)); |
| 112 + cinfo->dc_huff_tbl_ptrs[0] = htblptr; |
| 113 + } |
| 114 + |
| 115 + if (! cinfo->dc_huff_tbl_ptrs[1]) { |
| 116 + htblptr = jpeg_alloc_huff_table((j_common_ptr) cinfo); |
| 117 + MEMZERO(htblptr, SIZEOF(JHUFF_TBL)); |
| 118 + MEMCOPY(&htblptr->bits[1], mjpg_dc1_bits, SIZEOF(mjpg_dc1_bits)); |
| 119 + MEMCOPY(&htblptr->huffval[0], mjpg_dc1_huffval, SIZEOF(mjpg_dc1_huffval)); |
| 120 + cinfo->dc_huff_tbl_ptrs[1] = htblptr; |
| 121 + } |
| 122 + |
| 123 + if (! cinfo->ac_huff_tbl_ptrs[0]) { |
| 124 + htblptr = jpeg_alloc_huff_table((j_common_ptr) cinfo); |
| 125 + MEMZERO(htblptr, SIZEOF(JHUFF_TBL)); |
| 126 + MEMCOPY(&htblptr->bits[1], mjpg_ac0_bits, SIZEOF(mjpg_ac0_bits)); |
| 127 + MEMCOPY(&htblptr->huffval[0], mjpg_ac0_huffval, SIZEOF(mjpg_ac0_huffval)); |
| 128 + cinfo->ac_huff_tbl_ptrs[0] = htblptr; |
| 129 + } |
| 130 + |
| 131 + if (! cinfo->ac_huff_tbl_ptrs[1]) { |
| 132 + htblptr = jpeg_alloc_huff_table((j_common_ptr) cinfo); |
| 133 + MEMZERO(htblptr, SIZEOF(JHUFF_TBL)); |
| 134 + MEMCOPY(&htblptr->bits[1], mjpg_ac1_bits, SIZEOF(mjpg_ac1_bits)); |
| 135 + MEMCOPY(&htblptr->huffval[0], mjpg_ac1_huffval, SIZEOF(mjpg_ac1_huffval)); |
| 136 + cinfo->ac_huff_tbl_ptrs[1] = htblptr; |
| 137 + } |
| 138 +} |
| 139 + |
| 140 +#else |
| 141 + |
| 142 +#define mjpg_load_huff_tables(cinfo) |
| 143 + |
| 144 +#endif /* MOTION_JPEG_SUPPORTED */ |
| 145 + |
| 146 + |
| 147 /* |
| 148 * Read markers until SOS or EOI. |
| 149 * |
| 150 @@ -1009,6 +1146,7 @@ |
| 151 break; |
| 19 | 152 |
| 20 +#ifndef FAR | 153 case M_SOS: |
| 21 #ifdef NEED_FAR_POINTERS | 154 + mjpg_load_huff_tables(cinfo); |
| 22 #define FAR far | 155 if (! get_sos(cinfo)) |
| 23 #else | 156 » return JPEG_SUSPENDED; |
| 24 #define FAR | 157 cinfo->unread_marker = 0;» /* processed the marker */ |
| 25 #endif | |
| 26 +#endif | |
| 27 | |
| 28 | |
| 29 /* | |
| 30 Index: jpeglib.h | 158 Index: jpeglib.h |
| 31 =================================================================== | 159 =================================================================== |
| 32 --- jpeglib.h» (revision 64575) | 160 --- jpeglib.h» (revision 677) |
| 33 +++ jpeglib.h (working copy) | 161 +++ jpeglib.h (working copy) |
| 34 @@ -18,6 +18,10 @@ | 162 @@ -15,6 +15,10 @@ |
| 35 extern "C" { | 163 #ifndef JPEGLIB_H |
| 36 #endif | 164 #define JPEGLIB_H |
| 37 | 165 |
| 38 +/* Begin chromium edits */ | 166 +/* Begin chromium edits */ |
| 39 +#include "jpeglibmangler.h" | 167 +#include "jpeglibmangler.h" |
| 40 +/* End chromium edits */ | 168 +/* End chromium edits */ |
| 41 + | 169 + |
| 42 /* | 170 /* |
| 43 * First we include the configuration files that record how this | 171 * First we include the configuration files that record how this |
| 44 * installation of the JPEG library is set up. jconfig.h can be | 172 * installation of the JPEG library is set up. jconfig.h can be |
| 45 Index: jpeglibmangler.h | 173 Index: jpeglibmangler.h |
| 46 =================================================================== | 174 =================================================================== |
| 47 --- jpeglibmangler.h (revision 0) | 175 --- jpeglibmangler.h (revision 0) |
| 48 +++ jpeglibmangler.h» (revision 78340) | 176 +++ jpeglibmangler.h» (revision 0) |
| 49 @@ -0,0 +1,113 @@ | 177 @@ -0,0 +1,113 @@ |
| 50 +// Copyright (c) 2009 The Chromium Authors. All rights reserved. | 178 +// Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| 51 +// Use of this source code is governed by a BSD-style license that can be | 179 +// Use of this source code is governed by a BSD-style license that can be |
| 52 +// found in the LICENSE file. | 180 +// found in the LICENSE file. |
| 53 + | 181 + |
| 54 +#ifndef THIRD_PARTY_LIBJPEG_TURBO_JPEGLIBMANGLER_H_ | 182 +#ifndef THIRD_PARTY_LIBJPEG_TURBO_JPEGLIBMANGLER_H_ |
| 55 +#define THIRD_PARTY_LIBJPEG_TURBO_JPEGLIBMANGLER_H_ | 183 +#define THIRD_PARTY_LIBJPEG_TURBO_JPEGLIBMANGLER_H_ |
| 56 + | 184 + |
| 57 +// Mangle all externally visible function names so we can build our own libjpeg | 185 +// Mangle all externally visible function names so we can build our own libjpeg |
| 58 +// without system libraries trying to use it. | 186 +// without system libraries trying to use it. |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 153 +#define jpeg_get_small chromium_jpeg_get_small | 281 +#define jpeg_get_small chromium_jpeg_get_small |
| 154 +#define jpeg_free_small chromium_jpeg_free_small | 282 +#define jpeg_free_small chromium_jpeg_free_small |
| 155 +#define jpeg_get_large chromium_jpeg_get_large | 283 +#define jpeg_get_large chromium_jpeg_get_large |
| 156 +#define jpeg_free_large chromium_jpeg_free_large | 284 +#define jpeg_free_large chromium_jpeg_free_large |
| 157 +#define jpeg_mem_available chromium_jpeg_mem_available | 285 +#define jpeg_mem_available chromium_jpeg_mem_available |
| 158 +#define jpeg_open_backing_store chromium_jpeg_open_backing_store | 286 +#define jpeg_open_backing_store chromium_jpeg_open_backing_store |
| 159 +#define jpeg_mem_init chromium_jpeg_mem_init | 287 +#define jpeg_mem_init chromium_jpeg_mem_init |
| 160 +#define jpeg_mem_term chromium_jpeg_mem_term | 288 +#define jpeg_mem_term chromium_jpeg_mem_term |
| 161 + | 289 + |
| 162 +#endif // THIRD_PARTY_LIBJPEG_TURBO_JPEGLIBMANGLER_H_ | 290 +#endif // THIRD_PARTY_LIBJPEG_TURBO_JPEGLIBMANGLER_H_ |
| 163 Index: jdhuff.c | 291 Index: simd/jcgrass2-64.asm |
| 164 =================================================================== | 292 =================================================================== |
| 165 --- jdhuff.c» (revision 64575) | 293 --- simd/jcgrass2-64.asm» (revision 677) |
| 166 +++ jdhuff.c» (working copy) | 294 +++ simd/jcgrass2-64.asm» (working copy) |
| 167 @@ -658,7 +658,7 @@ | 295 @@ -30,7 +30,7 @@ |
| 168 symbol |= GET_BITS(1); \ | 296 » SECTION»SEG_CONST |
| 169 size++; \ | |
| 170 } \ | |
| 171 - symbol = htbl->pub->huffval[ (int) (symbol + htbl->valoffset[size]) ]; \ | |
| 172 + symbol = htbl->pub->huffval[ (int) (symbol + htbl->valoffset[size]) & 0xFF
]; \ | |
| 173 } \ | |
| 174 } | |
| 175 Index: simd/jcqntmmx.asm | |
| 176 =================================================================== | |
| 177 --- simd/jcqntmmx.asm» (revision 64575) | |
| 178 +++ simd/jcqntmmx.asm» (working copy) | |
| 179 @@ -35,7 +35,7 @@ | |
| 180 %define workspace» ebp+16» » ; DCTELEM * workspace | |
| 181 | |
| 182 » align» 16 | |
| 183 -» global» EXTN(jsimd_convsamp_mmx) | |
| 184 +» global» EXTN(jsimd_convsamp_mmx) PRIVATE | |
| 185 | |
| 186 EXTN(jsimd_convsamp_mmx): | |
| 187 » push» ebp | |
| 188 @@ -140,7 +140,7 @@ | |
| 189 %define workspace» ebp+16» » ; DCTELEM * workspace | |
| 190 | |
| 191 » align» 16 | |
| 192 -» global» EXTN(jsimd_quantize_mmx) | |
| 193 +» global» EXTN(jsimd_quantize_mmx) PRIVATE | |
| 194 | |
| 195 EXTN(jsimd_quantize_mmx): | |
| 196 » push» ebp | |
| 197 Index: simd/jimmxfst.asm | |
| 198 =================================================================== | |
| 199 --- simd/jimmxfst.asm» (revision 64575) | |
| 200 +++ simd/jimmxfst.asm» (working copy) | |
| 201 @@ -59,7 +59,7 @@ | |
| 202 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) | |
| 203 | 297 |
| 204 alignz 16 | 298 alignz 16 |
| 205 -» global» EXTN(jconst_idct_ifast_mmx) | 299 -» global» EXTN(jconst_rgb_gray_convert_sse2) |
| 206 +» global» EXTN(jconst_idct_ifast_mmx) PRIVATE | 300 +» global» EXTN(jconst_rgb_gray_convert_sse2) PRIVATE |
| 207 | 301 |
| 208 EXTN(jconst_idct_ifast_mmx): | 302 EXTN(jconst_rgb_gray_convert_sse2): |
| 209 | 303 |
| 210 @@ -94,7 +94,7 @@ | |
| 211 ; JCOEF workspace[DCTSIZE2] | |
| 212 | |
| 213 align 16 | |
| 214 - global EXTN(jsimd_idct_ifast_mmx) | |
| 215 + global EXTN(jsimd_idct_ifast_mmx) PRIVATE | |
| 216 | |
| 217 EXTN(jsimd_idct_ifast_mmx): | |
| 218 push ebp | |
| 219 Index: simd/jfss2fst.asm | |
| 220 =================================================================== | |
| 221 --- simd/jfss2fst.asm (revision 64575) | |
| 222 +++ simd/jfss2fst.asm (working copy) | |
| 223 @@ -52,7 +52,7 @@ | |
| 224 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) | |
| 225 | |
| 226 alignz 16 | |
| 227 - global EXTN(jconst_fdct_ifast_sse2) | |
| 228 + global EXTN(jconst_fdct_ifast_sse2) PRIVATE | |
| 229 | |
| 230 EXTN(jconst_fdct_ifast_sse2): | |
| 231 | |
| 232 @@ -80,7 +80,7 @@ | |
| 233 %define WK_NUM 2 | |
| 234 | |
| 235 align 16 | |
| 236 - global EXTN(jsimd_fdct_ifast_sse2) | |
| 237 + global EXTN(jsimd_fdct_ifast_sse2) PRIVATE | |
| 238 | |
| 239 EXTN(jsimd_fdct_ifast_sse2): | |
| 240 push ebp | |
| 241 Index: simd/jiss2fst.asm | 304 Index: simd/jiss2fst.asm |
| 242 =================================================================== | 305 =================================================================== |
| 243 --- simd/jiss2fst.asm» (revision 64575) | 306 --- simd/jiss2fst.asm» (revision 677) |
| 244 +++ simd/jiss2fst.asm (working copy) | 307 +++ simd/jiss2fst.asm (working copy) |
| 245 @@ -59,7 +59,7 @@ | 308 @@ -59,7 +59,7 @@ |
| 246 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) | 309 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) |
| 247 | 310 |
| 248 alignz 16 | 311 alignz 16 |
| 249 - global EXTN(jconst_idct_ifast_sse2) | 312 - global EXTN(jconst_idct_ifast_sse2) |
| 250 + global EXTN(jconst_idct_ifast_sse2) PRIVATE | 313 + global EXTN(jconst_idct_ifast_sse2) PRIVATE |
| 251 | 314 |
| 252 EXTN(jconst_idct_ifast_sse2): | 315 EXTN(jconst_idct_ifast_sse2): |
| 253 | 316 |
| 254 @@ -92,7 +92,7 @@ | 317 @@ -92,7 +92,7 @@ |
| 255 %define WK_NUM 2 | 318 %define WK_NUM 2 |
| 256 | 319 |
| 257 align 16 | 320 align 16 |
| 258 - global EXTN(jsimd_idct_ifast_sse2) | 321 - global EXTN(jsimd_idct_ifast_sse2) |
| 259 + global EXTN(jsimd_idct_ifast_sse2) PRIVATE | 322 + global EXTN(jsimd_idct_ifast_sse2) PRIVATE |
| 260 | 323 |
| 261 EXTN(jsimd_idct_ifast_sse2): | 324 EXTN(jsimd_idct_ifast_sse2): |
| 262 push ebp | 325 push ebp |
| 263 Index: simd/jdcolss2-64.asm | |
| 264 =================================================================== | |
| 265 --- simd/jdcolss2-64.asm (revision 64575) | |
| 266 +++ simd/jdcolss2-64.asm (working copy) | |
| 267 @@ -35,7 +35,7 @@ | |
| 268 SECTION SEG_CONST | |
| 269 | |
| 270 alignz 16 | |
| 271 - global EXTN(jconst_ycc_rgb_convert_sse2) | |
| 272 + global EXTN(jconst_ycc_rgb_convert_sse2) PRIVATE | |
| 273 | |
| 274 EXTN(jconst_ycc_rgb_convert_sse2): | |
| 275 | |
| 276 Index: simd/jf3dnflt.asm | |
| 277 =================================================================== | |
| 278 --- simd/jf3dnflt.asm (revision 64575) | |
| 279 +++ simd/jf3dnflt.asm (working copy) | |
| 280 @@ -27,7 +27,7 @@ | |
| 281 SECTION SEG_CONST | |
| 282 | |
| 283 alignz 16 | |
| 284 - global EXTN(jconst_fdct_float_3dnow) | |
| 285 + global EXTN(jconst_fdct_float_3dnow) PRIVATE | |
| 286 | |
| 287 EXTN(jconst_fdct_float_3dnow): | |
| 288 | |
| 289 @@ -55,7 +55,7 @@ | |
| 290 %define WK_NUM 2 | |
| 291 | |
| 292 align 16 | |
| 293 - global EXTN(jsimd_fdct_float_3dnow) | |
| 294 + global EXTN(jsimd_fdct_float_3dnow) PRIVATE | |
| 295 | |
| 296 EXTN(jsimd_fdct_float_3dnow): | |
| 297 push ebp | |
| 298 Index: simd/jcclrss2-64.asm | 326 Index: simd/jcclrss2-64.asm |
| 299 =================================================================== | 327 =================================================================== |
| 300 --- simd/jcclrss2-64.asm» (revision 64575) | 328 --- simd/jcclrss2-64.asm» (revision 677) |
| 301 +++ simd/jcclrss2-64.asm (working copy) | 329 +++ simd/jcclrss2-64.asm (working copy) |
| 302 @@ -17,8 +17,12 @@ | 330 @@ -37,7 +37,7 @@ |
| 303 %include "jcolsamp.inc" | |
| 304 | |
| 305 ; -------------------------------------------------------------------------- | |
| 306 +%ifndef NEED_SECTION | |
| 307 +%define NEED_SECTION | |
| 308 » SECTION»SEG_TEXT | |
| 309 » BITS» 64 | |
| 310 +%endif | |
| 311 + | |
| 312 ; | |
| 313 ; Convert some rows of samples to the output colorspace. | |
| 314 ; | |
| 315 @@ -39,7 +43,7 @@ | |
| 316 | 331 |
| 317 align 16 | 332 align 16 |
| 318 | 333 |
| 319 - global EXTN(jsimd_rgb_ycc_convert_sse2) | 334 - global EXTN(jsimd_rgb_ycc_convert_sse2) |
| 320 + global EXTN(jsimd_rgb_ycc_convert_sse2) PRIVATE | 335 + global EXTN(jsimd_rgb_ycc_convert_sse2) PRIVATE |
| 321 | 336 |
| 322 EXTN(jsimd_rgb_ycc_convert_sse2): | 337 EXTN(jsimd_rgb_ycc_convert_sse2): |
| 323 push rbp | 338 push rbp |
| 324 Index: simd/jiss2red-64.asm | 339 Index: simd/jiss2red-64.asm |
| 325 =================================================================== | 340 =================================================================== |
| 326 --- simd/jiss2red-64.asm» (revision 64575) | 341 --- simd/jiss2red-64.asm» (revision 677) |
| 327 +++ simd/jiss2red-64.asm (working copy) | 342 +++ simd/jiss2red-64.asm (working copy) |
| 328 @@ -73,7 +73,7 @@ | 343 @@ -73,7 +73,7 @@ |
| 329 SECTION SEG_CONST | 344 SECTION SEG_CONST |
| 330 | 345 |
| 331 alignz 16 | 346 alignz 16 |
| 332 - global EXTN(jconst_idct_red_sse2) | 347 - global EXTN(jconst_idct_red_sse2) |
| 333 + global EXTN(jconst_idct_red_sse2) PRIVATE | 348 + global EXTN(jconst_idct_red_sse2) PRIVATE |
| 334 | 349 |
| 335 EXTN(jconst_idct_red_sse2): | 350 EXTN(jconst_idct_red_sse2): |
| 336 | 351 |
| 337 @@ -114,7 +114,7 @@ | 352 @@ -114,7 +114,7 @@ |
| 338 %define WK_NUM 2 | 353 %define WK_NUM 2 |
| 339 | 354 |
| 340 align 16 | 355 align 16 |
| 341 - global EXTN(jsimd_idct_4x4_sse2) | 356 - global EXTN(jsimd_idct_4x4_sse2) |
| 342 + global EXTN(jsimd_idct_4x4_sse2) PRIVATE | 357 + global EXTN(jsimd_idct_4x4_sse2) PRIVATE |
| 343 | 358 |
| 344 EXTN(jsimd_idct_4x4_sse2): | 359 EXTN(jsimd_idct_4x4_sse2): |
| 345 push rbp | 360 push rbp |
| 346 @@ -413,7 +413,7 @@ | 361 @@ -413,7 +413,7 @@ |
| 347 ; r13 = JDIMENSION output_col | 362 ; r13 = JDIMENSION output_col |
| 348 | 363 |
| 349 align 16 | 364 align 16 |
| 350 - global EXTN(jsimd_idct_2x2_sse2) | 365 - global EXTN(jsimd_idct_2x2_sse2) |
| 351 + global EXTN(jsimd_idct_2x2_sse2) PRIVATE | 366 + global EXTN(jsimd_idct_2x2_sse2) PRIVATE |
| 352 | 367 |
| 353 EXTN(jsimd_idct_2x2_sse2): | 368 EXTN(jsimd_idct_2x2_sse2): |
| 354 push rbp | 369 push rbp |
| 355 Index: simd/jdsamss2-64.asm | |
| 356 =================================================================== | |
| 357 --- simd/jdsamss2-64.asm (revision 64575) | |
| 358 +++ simd/jdsamss2-64.asm (working copy) | |
| 359 @@ -23,7 +23,7 @@ | |
| 360 SECTION SEG_CONST | |
| 361 | |
| 362 alignz 16 | |
| 363 - global EXTN(jconst_fancy_upsample_sse2) | |
| 364 + global EXTN(jconst_fancy_upsample_sse2) PRIVATE | |
| 365 | |
| 366 EXTN(jconst_fancy_upsample_sse2): | |
| 367 | |
| 368 @@ -59,7 +59,7 @@ | |
| 369 ; r13 = JSAMPARRAY * output_data_ptr | |
| 370 | |
| 371 align 16 | |
| 372 - global EXTN(jsimd_h2v1_fancy_upsample_sse2) | |
| 373 + global EXTN(jsimd_h2v1_fancy_upsample_sse2) PRIVATE | |
| 374 | |
| 375 EXTN(jsimd_h2v1_fancy_upsample_sse2): | |
| 376 push rbp | |
| 377 @@ -201,7 +201,7 @@ | |
| 378 %define WK_NUM 4 | |
| 379 | |
| 380 align 16 | |
| 381 - global EXTN(jsimd_h2v2_fancy_upsample_sse2) | |
| 382 + global EXTN(jsimd_h2v2_fancy_upsample_sse2) PRIVATE | |
| 383 | |
| 384 EXTN(jsimd_h2v2_fancy_upsample_sse2): | |
| 385 push rbp | |
| 386 @@ -498,7 +498,7 @@ | |
| 387 ; r13 = JSAMPARRAY * output_data_ptr | |
| 388 | |
| 389 align 16 | |
| 390 - global EXTN(jsimd_h2v1_upsample_sse2) | |
| 391 + global EXTN(jsimd_h2v1_upsample_sse2) PRIVATE | |
| 392 | |
| 393 EXTN(jsimd_h2v1_upsample_sse2): | |
| 394 push rbp | |
| 395 @@ -587,7 +587,7 @@ | |
| 396 ; r13 = JSAMPARRAY * output_data_ptr | |
| 397 | |
| 398 align 16 | |
| 399 - global EXTN(jsimd_h2v2_upsample_sse2) | |
| 400 + global EXTN(jsimd_h2v2_upsample_sse2) PRIVATE | |
| 401 | |
| 402 EXTN(jsimd_h2v2_upsample_sse2): | |
| 403 push rbp | |
| 404 Index: simd/ji3dnflt.asm | 370 Index: simd/ji3dnflt.asm |
| 405 =================================================================== | 371 =================================================================== |
| 406 --- simd/ji3dnflt.asm» (revision 64575) | 372 --- simd/ji3dnflt.asm» (revision 677) |
| 407 +++ simd/ji3dnflt.asm (working copy) | 373 +++ simd/ji3dnflt.asm (working copy) |
| 408 @@ -27,7 +27,7 @@ | 374 @@ -27,7 +27,7 @@ |
| 409 SECTION SEG_CONST | 375 SECTION SEG_CONST |
| 410 | 376 |
| 411 alignz 16 | 377 alignz 16 |
| 412 - global EXTN(jconst_idct_float_3dnow) | 378 - global EXTN(jconst_idct_float_3dnow) |
| 413 + global EXTN(jconst_idct_float_3dnow) PRIVATE | 379 + global EXTN(jconst_idct_float_3dnow) PRIVATE |
| 414 | 380 |
| 415 EXTN(jconst_idct_float_3dnow): | 381 EXTN(jconst_idct_float_3dnow): |
| 416 | 382 |
| 417 @@ -63,7 +63,7 @@ | 383 @@ -63,7 +63,7 @@ |
| 418 ; FAST_FLOAT workspace[DCTSIZE2] | 384 ; FAST_FLOAT workspace[DCTSIZE2] |
| 419 | 385 |
| 420 align 16 | 386 align 16 |
| 421 - global EXTN(jsimd_idct_float_3dnow) | 387 - global EXTN(jsimd_idct_float_3dnow) |
| 422 + global EXTN(jsimd_idct_float_3dnow) PRIVATE | 388 + global EXTN(jsimd_idct_float_3dnow) PRIVATE |
| 423 | 389 |
| 424 EXTN(jsimd_idct_float_3dnow): | 390 EXTN(jsimd_idct_float_3dnow): |
| 425 push ebp | 391 push ebp |
| 426 Index: simd/jsimdcpu.asm | 392 Index: simd/jsimdcpu.asm |
| 427 =================================================================== | 393 =================================================================== |
| 428 --- simd/jsimdcpu.asm» (revision 64575) | 394 --- simd/jsimdcpu.asm» (revision 677) |
| 429 +++ simd/jsimdcpu.asm (working copy) | 395 +++ simd/jsimdcpu.asm (working copy) |
| 430 @@ -29,7 +29,7 @@ | 396 @@ -29,7 +29,7 @@ |
| 431 ; | 397 ; |
| 432 | 398 |
| 433 align 16 | 399 align 16 |
| 434 - global EXTN(jpeg_simd_cpu_support) | 400 - global EXTN(jpeg_simd_cpu_support) |
| 435 + global EXTN(jpeg_simd_cpu_support) PRIVATE | 401 + global EXTN(jpeg_simd_cpu_support) PRIVATE |
| 436 | 402 |
| 437 EXTN(jpeg_simd_cpu_support): | 403 EXTN(jpeg_simd_cpu_support): |
| 438 push ebx | 404 push ebx |
| 439 Index: simd/jcsammmx.asm | 405 Index: simd/jdmerss2-64.asm |
| 440 =================================================================== | 406 =================================================================== |
| 441 --- simd/jcsammmx.asm» (revision 64575) | 407 --- simd/jdmerss2-64.asm» (revision 677) |
| 442 +++ simd/jcsammmx.asm» (working copy) | 408 +++ simd/jdmerss2-64.asm» (working copy) |
| 443 @@ -40,7 +40,7 @@ | 409 @@ -35,7 +35,7 @@ |
| 444 %define output_data(b)»(b)+28» ; JSAMPARRAY output_data | 410 » SECTION»SEG_CONST |
| 445 | 411 |
| 446 » align» 16 | 412 » alignz» 16 |
| 447 -» global» EXTN(jsimd_h2v1_downsample_mmx) | 413 -» global» EXTN(jconst_merged_upsample_sse2) |
| 448 +» global» EXTN(jsimd_h2v1_downsample_mmx) PRIVATE | 414 +» global» EXTN(jconst_merged_upsample_sse2) PRIVATE |
| 449 | 415 |
| 450 EXTN(jsimd_h2v1_downsample_mmx): | 416 EXTN(jconst_merged_upsample_sse2): |
| 451 » push» ebp | |
| 452 @@ -182,7 +182,7 @@ | |
| 453 %define output_data(b)»(b)+28» ; JSAMPARRAY output_data | |
| 454 | 417 |
| 455 align 16 | |
| 456 - global EXTN(jsimd_h2v2_downsample_mmx) | |
| 457 + global EXTN(jsimd_h2v2_downsample_mmx) PRIVATE | |
| 458 | |
| 459 EXTN(jsimd_h2v2_downsample_mmx): | |
| 460 push ebp | |
| 461 Index: simd/jdsammmx.asm | 418 Index: simd/jdsammmx.asm |
| 462 =================================================================== | 419 =================================================================== |
| 463 --- simd/jdsammmx.asm» (revision 64575) | 420 --- simd/jdsammmx.asm» (revision 677) |
| 464 +++ simd/jdsammmx.asm (working copy) | 421 +++ simd/jdsammmx.asm (working copy) |
| 465 @@ -22,7 +22,7 @@ | 422 @@ -22,7 +22,7 @@ |
| 466 SECTION SEG_CONST | 423 SECTION SEG_CONST |
| 467 | 424 |
| 468 alignz 16 | 425 alignz 16 |
| 469 - global EXTN(jconst_fancy_upsample_mmx) | 426 - global EXTN(jconst_fancy_upsample_mmx) |
| 470 + global EXTN(jconst_fancy_upsample_mmx) PRIVATE | 427 + global EXTN(jconst_fancy_upsample_mmx) PRIVATE |
| 471 | 428 |
| 472 EXTN(jconst_fancy_upsample_mmx): | 429 EXTN(jconst_fancy_upsample_mmx): |
| 473 | 430 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 500 push ebp | 457 push ebp |
| 501 @@ -643,7 +643,7 @@ | 458 @@ -643,7 +643,7 @@ |
| 502 %define output_data_ptr(b) (b)+20 ; JSAMPARRAY * output_data_ptr | 459 %define output_data_ptr(b) (b)+20 ; JSAMPARRAY * output_data_ptr |
| 503 | 460 |
| 504 align 16 | 461 align 16 |
| 505 - global EXTN(jsimd_h2v2_upsample_mmx) | 462 - global EXTN(jsimd_h2v2_upsample_mmx) |
| 506 + global EXTN(jsimd_h2v2_upsample_mmx) PRIVATE | 463 + global EXTN(jsimd_h2v2_upsample_mmx) PRIVATE |
| 507 | 464 |
| 508 EXTN(jsimd_h2v2_upsample_mmx): | 465 EXTN(jsimd_h2v2_upsample_mmx): |
| 509 push ebp | 466 push ebp |
| 510 Index: simd/jdmerss2-64.asm | |
| 511 =================================================================== | |
| 512 --- simd/jdmerss2-64.asm (revision 64575) | |
| 513 +++ simd/jdmerss2-64.asm (working copy) | |
| 514 @@ -35,7 +35,7 @@ | |
| 515 SECTION SEG_CONST | |
| 516 | |
| 517 alignz 16 | |
| 518 - global EXTN(jconst_merged_upsample_sse2) | |
| 519 + global EXTN(jconst_merged_upsample_sse2) PRIVATE | |
| 520 | |
| 521 EXTN(jconst_merged_upsample_sse2): | |
| 522 | |
| 523 Index: simd/jcqnts2f-64.asm | |
| 524 =================================================================== | |
| 525 --- simd/jcqnts2f-64.asm (revision 64575) | |
| 526 +++ simd/jcqnts2f-64.asm (working copy) | |
| 527 @@ -36,7 +36,7 @@ | |
| 528 ; r12 = FAST_FLOAT * workspace | |
| 529 | |
| 530 align 16 | |
| 531 - global EXTN(jsimd_convsamp_float_sse2) | |
| 532 + global EXTN(jsimd_convsamp_float_sse2) PRIVATE | |
| 533 | |
| 534 EXTN(jsimd_convsamp_float_sse2): | |
| 535 push rbp | |
| 536 @@ -110,7 +110,7 @@ | |
| 537 ; r12 = FAST_FLOAT * workspace | |
| 538 | |
| 539 align 16 | |
| 540 - global EXTN(jsimd_quantize_float_sse2) | |
| 541 + global EXTN(jsimd_quantize_float_sse2) PRIVATE | |
| 542 | |
| 543 EXTN(jsimd_quantize_float_sse2): | |
| 544 push rbp | |
| 545 Index: simd/jcqnt3dn.asm | |
| 546 =================================================================== | |
| 547 --- simd/jcqnt3dn.asm (revision 64575) | |
| 548 +++ simd/jcqnt3dn.asm (working copy) | |
| 549 @@ -35,7 +35,7 @@ | |
| 550 %define workspace ebp+16 ; FAST_FLOAT * workspace | |
| 551 | |
| 552 align 16 | |
| 553 - global EXTN(jsimd_convsamp_float_3dnow) | |
| 554 + global EXTN(jsimd_convsamp_float_3dnow) PRIVATE | |
| 555 | |
| 556 EXTN(jsimd_convsamp_float_3dnow): | |
| 557 push ebp | |
| 558 @@ -138,7 +138,7 @@ | |
| 559 %define workspace ebp+16 ; FAST_FLOAT * workspace | |
| 560 | |
| 561 align 16 | |
| 562 - global EXTN(jsimd_quantize_float_3dnow) | |
| 563 + global EXTN(jsimd_quantize_float_3dnow) PRIVATE | |
| 564 | |
| 565 EXTN(jsimd_quantize_float_3dnow): | |
| 566 push ebp | |
| 567 Index: simd/jcsamss2.asm | |
| 568 =================================================================== | |
| 569 --- simd/jcsamss2.asm (revision 64575) | |
| 570 +++ simd/jcsamss2.asm (working copy) | |
| 571 @@ -40,7 +40,7 @@ | |
| 572 %define output_data(b) (b)+28 ; JSAMPARRAY output_data | |
| 573 | |
| 574 align 16 | |
| 575 - global EXTN(jsimd_h2v1_downsample_sse2) | |
| 576 + global EXTN(jsimd_h2v1_downsample_sse2) PRIVATE | |
| 577 | |
| 578 EXTN(jsimd_h2v1_downsample_sse2): | |
| 579 push ebp | |
| 580 @@ -195,7 +195,7 @@ | |
| 581 %define output_data(b) (b)+28 ; JSAMPARRAY output_data | |
| 582 | |
| 583 align 16 | |
| 584 - global EXTN(jsimd_h2v2_downsample_sse2) | |
| 585 + global EXTN(jsimd_h2v2_downsample_sse2) PRIVATE | |
| 586 | |
| 587 EXTN(jsimd_h2v2_downsample_sse2): | |
| 588 push ebp | |
| 589 Index: simd/jdmrgmmx.asm | 467 Index: simd/jdmrgmmx.asm |
| 590 =================================================================== | 468 =================================================================== |
| 591 --- simd/jdmrgmmx.asm» (revision 64575) | 469 --- simd/jdmrgmmx.asm» (revision 677) |
| 592 +++ simd/jdmrgmmx.asm (working copy) | 470 +++ simd/jdmrgmmx.asm (working copy) |
| 593 @@ -19,8 +19,12 @@ | 471 @@ -40,7 +40,7 @@ |
| 594 %include "jcolsamp.inc" | |
| 595 | |
| 596 ; -------------------------------------------------------------------------- | |
| 597 +%ifndef NEED_SECTION | |
| 598 +%define NEED_SECTION | |
| 599 » SECTION»SEG_TEXT | |
| 600 » BITS» 32 | |
| 601 +%endif | |
| 602 + | |
| 603 ; | |
| 604 ; Upsample and color convert for the case of 2:1 horizontal and 1:1 vertical. | |
| 605 ; | |
| 606 @@ -42,7 +46,7 @@ | |
| 607 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr | 472 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr |
| 608 | 473 |
| 609 align 16 | 474 align 16 |
| 610 - global EXTN(jsimd_h2v1_merged_upsample_mmx) | 475 - global EXTN(jsimd_h2v1_merged_upsample_mmx) |
| 611 + global EXTN(jsimd_h2v1_merged_upsample_mmx) PRIVATE | 476 + global EXTN(jsimd_h2v1_merged_upsample_mmx) PRIVATE |
| 612 | 477 |
| 613 EXTN(jsimd_h2v1_merged_upsample_mmx): | 478 EXTN(jsimd_h2v1_merged_upsample_mmx): |
| 614 push ebp | 479 push ebp |
| 615 @@ -411,7 +415,7 @@ | 480 @@ -409,7 +409,7 @@ |
| 616 %define output_buf(b) (b)+20 ; JSAMPARRAY output_buf | 481 %define output_buf(b) (b)+20 ; JSAMPARRAY output_buf |
| 617 | 482 |
| 618 align 16 | 483 align 16 |
| 619 - global EXTN(jsimd_h2v2_merged_upsample_mmx) | 484 - global EXTN(jsimd_h2v2_merged_upsample_mmx) |
| 620 + global EXTN(jsimd_h2v2_merged_upsample_mmx) PRIVATE | 485 + global EXTN(jsimd_h2v2_merged_upsample_mmx) PRIVATE |
| 621 | 486 |
| 622 EXTN(jsimd_h2v2_merged_upsample_mmx): | 487 EXTN(jsimd_h2v2_merged_upsample_mmx): |
| 623 push ebp | 488 push ebp |
| 624 Index: simd/jdsamss2.asm | 489 Index: simd/jdsamss2.asm |
| 625 =================================================================== | 490 =================================================================== |
| 626 --- simd/jdsamss2.asm» (revision 64575) | 491 --- simd/jdsamss2.asm» (revision 677) |
| 627 +++ simd/jdsamss2.asm (working copy) | 492 +++ simd/jdsamss2.asm (working copy) |
| 628 @@ -22,7 +22,7 @@ | 493 @@ -22,7 +22,7 @@ |
| 629 SECTION SEG_CONST | 494 SECTION SEG_CONST |
| 630 | 495 |
| 631 alignz 16 | 496 alignz 16 |
| 632 - global EXTN(jconst_fancy_upsample_sse2) | 497 - global EXTN(jconst_fancy_upsample_sse2) |
| 633 + global EXTN(jconst_fancy_upsample_sse2) PRIVATE | 498 + global EXTN(jconst_fancy_upsample_sse2) PRIVATE |
| 634 | 499 |
| 635 EXTN(jconst_fancy_upsample_sse2): | 500 EXTN(jconst_fancy_upsample_sse2): |
| 636 | 501 |
| (...skipping 28 matching lines...) Expand all Loading... |
| 665 %define output_data_ptr(b) (b)+20 ; JSAMPARRAY * output_data_ptr | 530 %define output_data_ptr(b) (b)+20 ; JSAMPARRAY * output_data_ptr |
| 666 | 531 |
| 667 align 16 | 532 align 16 |
| 668 - global EXTN(jsimd_h2v2_upsample_sse2) | 533 - global EXTN(jsimd_h2v2_upsample_sse2) |
| 669 + global EXTN(jsimd_h2v2_upsample_sse2) PRIVATE | 534 + global EXTN(jsimd_h2v2_upsample_sse2) PRIVATE |
| 670 | 535 |
| 671 EXTN(jsimd_h2v2_upsample_sse2): | 536 EXTN(jsimd_h2v2_upsample_sse2): |
| 672 push ebp | 537 push ebp |
| 673 Index: simd/jiss2flt-64.asm | 538 Index: simd/jiss2flt-64.asm |
| 674 =================================================================== | 539 =================================================================== |
| 675 --- simd/jiss2flt-64.asm» (revision 64575) | 540 --- simd/jiss2flt-64.asm» (revision 677) |
| 676 +++ simd/jiss2flt-64.asm (working copy) | 541 +++ simd/jiss2flt-64.asm (working copy) |
| 677 @@ -38,7 +38,7 @@ | 542 @@ -38,7 +38,7 @@ |
| 678 SECTION SEG_CONST | 543 SECTION SEG_CONST |
| 679 | 544 |
| 680 alignz 16 | 545 alignz 16 |
| 681 - global EXTN(jconst_idct_float_sse2) | 546 - global EXTN(jconst_idct_float_sse2) |
| 682 + global EXTN(jconst_idct_float_sse2) PRIVATE | 547 + global EXTN(jconst_idct_float_sse2) PRIVATE |
| 683 | 548 |
| 684 EXTN(jconst_idct_float_sse2): | 549 EXTN(jconst_idct_float_sse2): |
| 685 | 550 |
| 686 @@ -74,7 +74,7 @@ | 551 @@ -74,7 +74,7 @@ |
| 687 ; FAST_FLOAT workspace[DCTSIZE2] | 552 ; FAST_FLOAT workspace[DCTSIZE2] |
| 688 | 553 |
| 689 align 16 | 554 align 16 |
| 690 - global EXTN(jsimd_idct_float_sse2) | 555 - global EXTN(jsimd_idct_float_sse2) |
| 691 + global EXTN(jsimd_idct_float_sse2) PRIVATE | 556 + global EXTN(jsimd_idct_float_sse2) PRIVATE |
| 692 | 557 |
| 693 EXTN(jsimd_idct_float_sse2): | 558 EXTN(jsimd_idct_float_sse2): |
| 694 push rbp | 559 push rbp |
| 695 Index: simd/jfss2int-64.asm | 560 Index: simd/jfss2int-64.asm |
| 696 =================================================================== | 561 =================================================================== |
| 697 --- simd/jfss2int-64.asm» (revision 64575) | 562 --- simd/jfss2int-64.asm» (revision 677) |
| 698 +++ simd/jfss2int-64.asm (working copy) | 563 +++ simd/jfss2int-64.asm (working copy) |
| 699 @@ -67,7 +67,7 @@ | 564 @@ -67,7 +67,7 @@ |
| 700 SECTION SEG_CONST | 565 SECTION SEG_CONST |
| 701 | 566 |
| 702 alignz 16 | 567 alignz 16 |
| 703 - global EXTN(jconst_fdct_islow_sse2) | 568 - global EXTN(jconst_fdct_islow_sse2) |
| 704 + global EXTN(jconst_fdct_islow_sse2) PRIVATE | 569 + global EXTN(jconst_fdct_islow_sse2) PRIVATE |
| 705 | 570 |
| 706 EXTN(jconst_fdct_islow_sse2): | 571 EXTN(jconst_fdct_islow_sse2): |
| 707 | 572 |
| 708 @@ -101,7 +101,7 @@ | 573 @@ -101,7 +101,7 @@ |
| 709 %define WK_NUM 6 | 574 %define WK_NUM 6 |
| 710 | 575 |
| 711 align 16 | 576 align 16 |
| 712 - global EXTN(jsimd_fdct_islow_sse2) | 577 - global EXTN(jsimd_fdct_islow_sse2) |
| 713 + global EXTN(jsimd_fdct_islow_sse2) PRIVATE | 578 + global EXTN(jsimd_fdct_islow_sse2) PRIVATE |
| 714 | 579 |
| 715 EXTN(jsimd_fdct_islow_sse2): | 580 EXTN(jsimd_fdct_islow_sse2): |
| 716 push rbp | 581 push rbp |
| 717 Index: simd/jcqnts2f.asm | 582 Index: simd/jcqnts2f.asm |
| 718 =================================================================== | 583 =================================================================== |
| 719 --- simd/jcqnts2f.asm» (revision 64575) | 584 --- simd/jcqnts2f.asm» (revision 677) |
| 720 +++ simd/jcqnts2f.asm (working copy) | 585 +++ simd/jcqnts2f.asm (working copy) |
| 721 @@ -35,7 +35,7 @@ | 586 @@ -35,7 +35,7 @@ |
| 722 %define workspace ebp+16 ; FAST_FLOAT * workspace | 587 %define workspace ebp+16 ; FAST_FLOAT * workspace |
| 723 | 588 |
| 724 align 16 | 589 align 16 |
| 725 - global EXTN(jsimd_convsamp_float_sse2) | 590 - global EXTN(jsimd_convsamp_float_sse2) |
| 726 + global EXTN(jsimd_convsamp_float_sse2) PRIVATE | 591 + global EXTN(jsimd_convsamp_float_sse2) PRIVATE |
| 727 | 592 |
| 728 EXTN(jsimd_convsamp_float_sse2): | 593 EXTN(jsimd_convsamp_float_sse2): |
| 729 push ebp | 594 push ebp |
| 730 @@ -115,7 +115,7 @@ | 595 @@ -115,7 +115,7 @@ |
| 731 %define workspace ebp+16 ; FAST_FLOAT * workspace | 596 %define workspace ebp+16 ; FAST_FLOAT * workspace |
| 732 | 597 |
| 733 align 16 | 598 align 16 |
| 734 - global EXTN(jsimd_quantize_float_sse2) | 599 - global EXTN(jsimd_quantize_float_sse2) |
| 735 + global EXTN(jsimd_quantize_float_sse2) PRIVATE | 600 + global EXTN(jsimd_quantize_float_sse2) PRIVATE |
| 736 | 601 |
| 737 EXTN(jsimd_quantize_float_sse2): | 602 EXTN(jsimd_quantize_float_sse2): |
| 738 push ebp | 603 push ebp |
| 739 Index: simd/jdmrgss2.asm | 604 Index: simd/jdmrgss2.asm |
| 740 =================================================================== | 605 =================================================================== |
| 741 --- simd/jdmrgss2.asm» (revision 64575) | 606 --- simd/jdmrgss2.asm» (revision 677) |
| 742 +++ simd/jdmrgss2.asm (working copy) | 607 +++ simd/jdmrgss2.asm (working copy) |
| 743 @@ -19,8 +19,12 @@ | 608 @@ -40,7 +40,7 @@ |
| 744 %include "jcolsamp.inc" | |
| 745 » » » » | |
| 746 ; -------------------------------------------------------------------------- | |
| 747 +%ifndef NEED_SECTION | |
| 748 +%define NEED_SECTION | |
| 749 » SECTION»SEG_TEXT | |
| 750 » BITS» 32 | |
| 751 +%endif | |
| 752 + | |
| 753 ; | |
| 754 ; Upsample and color convert for the case of 2:1 horizontal and 1:1 vertical. | |
| 755 ; | |
| 756 @@ -42,7 +46,7 @@ | |
| 757 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr | 609 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr |
| 758 | 610 |
| 759 align 16 | 611 align 16 |
| 760 - global EXTN(jsimd_h2v1_merged_upsample_sse2) | 612 - global EXTN(jsimd_h2v1_merged_upsample_sse2) |
| 761 + global EXTN(jsimd_h2v1_merged_upsample_sse2) PRIVATE | 613 + global EXTN(jsimd_h2v1_merged_upsample_sse2) PRIVATE |
| 762 | 614 |
| 763 EXTN(jsimd_h2v1_merged_upsample_sse2): | 615 EXTN(jsimd_h2v1_merged_upsample_sse2): |
| 764 push ebp | 616 push ebp |
| 765 @@ -309,6 +313,41 @@ | 617 @@ -307,6 +307,41 @@ |
| 766 movdqa xmmA,xmmD | 618 movdqa xmmA,xmmD |
| 767 sub ecx, byte SIZEOF_XMMWORD | 619 sub ecx, byte SIZEOF_XMMWORD |
| 768 .column_st15: | 620 .column_st15: |
| 769 +%ifdef STRICT_MEMORY_ACCESS | 621 +%ifdef STRICT_MEMORY_ACCESS |
| 770 + ; Store the lower 8 bytes of xmmA to the output when it has enough | 622 + ; Store the lower 8 bytes of xmmA to the output when it has enough |
| 771 + ; space. | 623 + ; space. |
| 772 + cmp ecx, byte SIZEOF_MMWORD | 624 + cmp ecx, byte SIZEOF_MMWORD |
| 773 + jb short .column_st7 | 625 + jb short .column_st7 |
| 774 + movq MMWORD [edi], xmmA | 626 + movq MMWORD [edi], xmmA |
| 775 + add edi, byte SIZEOF_MMWORD | 627 + add edi, byte SIZEOF_MMWORD |
| (...skipping 21 matching lines...) Expand all Loading... |
| 797 +.column_st1: | 649 +.column_st1: |
| 798 + ; Store the lower 1 byte of eax to the output when it has enough | 650 + ; Store the lower 1 byte of eax to the output when it has enough |
| 799 + ; space. | 651 + ; space. |
| 800 + test ecx, ecx | 652 + test ecx, ecx |
| 801 + jz short .endcolumn | 653 + jz short .endcolumn |
| 802 + mov BYTE [edi], al | 654 + mov BYTE [edi], al |
| 803 +%else | 655 +%else |
| 804 mov eax,ecx | 656 mov eax,ecx |
| 805 xor ecx, byte 0x0F | 657 xor ecx, byte 0x0F |
| 806 shl ecx, 2 | 658 shl ecx, 2 |
| 807 @@ -348,6 +387,7 @@ | 659 @@ -346,6 +381,7 @@ |
| 808 por xmmE,xmmC | 660 por xmmE,xmmC |
| 809 .adj0: ; ---------------- | 661 .adj0: ; ---------------- |
| 810 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA | 662 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA |
| 811 +%endif ; STRICT_MEMORY_ACCESS ; --------------- | 663 +%endif ; STRICT_MEMORY_ACCESS ; --------------- |
| 812 | 664 |
| 813 %else ; RGB_PIXELSIZE == 4 ; ----------- | 665 %else ; RGB_PIXELSIZE == 4 ; ----------- |
| 814 | 666 |
| 815 @@ -436,6 +476,22 @@ | 667 @@ -434,6 +470,22 @@ |
| 816 movdqa xmmA,xmmD | 668 movdqa xmmA,xmmD |
| 817 sub ecx, byte SIZEOF_XMMWORD/4 | 669 sub ecx, byte SIZEOF_XMMWORD/4 |
| 818 .column_st15: | 670 .column_st15: |
| 819 +%ifdef STRICT_MEMORY_ACCESS | 671 +%ifdef STRICT_MEMORY_ACCESS |
| 820 + ; Store two pixels (8 bytes) of xmmA to the output when it has enough | 672 + ; Store two pixels (8 bytes) of xmmA to the output when it has enough |
| 821 + ; space. | 673 + ; space. |
| 822 + cmp ecx, byte SIZEOF_XMMWORD/8 | 674 + cmp ecx, byte SIZEOF_XMMWORD/8 |
| 823 + jb short .column_st7 | 675 + jb short .column_st7 |
| 824 + movq MMWORD [edi], xmmA | 676 + movq MMWORD [edi], xmmA |
| 825 + add edi, byte SIZEOF_XMMWORD/8*4 | 677 + add edi, byte SIZEOF_XMMWORD/8*4 |
| 826 + sub ecx, byte SIZEOF_XMMWORD/8 | 678 + sub ecx, byte SIZEOF_XMMWORD/8 |
| 827 + psrldq xmmA, SIZEOF_XMMWORD/8*4 | 679 + psrldq xmmA, SIZEOF_XMMWORD/8*4 |
| 828 +.column_st7: | 680 +.column_st7: |
| 829 + ; Store one pixel (4 bytes) of xmmA to the output when it has enough | 681 + ; Store one pixel (4 bytes) of xmmA to the output when it has enough |
| 830 + ; space. | 682 + ; space. |
| 831 + test ecx, ecx | 683 + test ecx, ecx |
| 832 + jz short .endcolumn | 684 + jz short .endcolumn |
| 833 + movd DWORD [edi], xmmA | 685 + movd DWORD [edi], xmmA |
| 834 +%else | 686 +%else |
| 835 cmp ecx, byte SIZEOF_XMMWORD/16 | 687 cmp ecx, byte SIZEOF_XMMWORD/16 |
| 836 jb short .endcolumn | 688 jb short .endcolumn |
| 837 mov eax,ecx | 689 mov eax,ecx |
| 838 @@ -475,6 +531,7 @@ | 690 @@ -473,6 +525,7 @@ |
| 839 por xmmE,xmmG | 691 por xmmE,xmmG |
| 840 .adj0: ; ---------------- | 692 .adj0: ; ---------------- |
| 841 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA | 693 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA |
| 842 +%endif ; STRICT_MEMORY_ACCESS ; --------------- | 694 +%endif ; STRICT_MEMORY_ACCESS ; --------------- |
| 843 | 695 |
| 844 %endif ; RGB_PIXELSIZE ; --------------- | 696 %endif ; RGB_PIXELSIZE ; --------------- |
| 845 | 697 |
| 846 @@ -509,7 +566,7 @@ | 698 @@ -507,7 +560,7 @@ |
| 847 %define output_buf(b) (b)+20 ; JSAMPARRAY output_buf | 699 %define output_buf(b) (b)+20 ; JSAMPARRAY output_buf |
| 848 | 700 |
| 849 align 16 | 701 align 16 |
| 850 - global EXTN(jsimd_h2v2_merged_upsample_sse2) | 702 - global EXTN(jsimd_h2v2_merged_upsample_sse2) |
| 851 + global EXTN(jsimd_h2v2_merged_upsample_sse2) PRIVATE | 703 + global EXTN(jsimd_h2v2_merged_upsample_sse2) PRIVATE |
| 852 | 704 |
| 853 EXTN(jsimd_h2v2_merged_upsample_sse2): | 705 EXTN(jsimd_h2v2_merged_upsample_sse2): |
| 854 push ebp | 706 push ebp |
| 855 Index: simd/jfmmxint.asm | 707 Index: simd/jfmmxint.asm |
| 856 =================================================================== | 708 =================================================================== |
| 857 --- simd/jfmmxint.asm» (revision 64575) | 709 --- simd/jfmmxint.asm» (revision 677) |
| 858 +++ simd/jfmmxint.asm (working copy) | 710 +++ simd/jfmmxint.asm (working copy) |
| 859 @@ -66,7 +66,7 @@ | 711 @@ -66,7 +66,7 @@ |
| 860 SECTION SEG_CONST | 712 SECTION SEG_CONST |
| 861 | 713 |
| 862 alignz 16 | 714 alignz 16 |
| 863 - global EXTN(jconst_fdct_islow_mmx) | 715 - global EXTN(jconst_fdct_islow_mmx) |
| 864 + global EXTN(jconst_fdct_islow_mmx) PRIVATE | 716 + global EXTN(jconst_fdct_islow_mmx) PRIVATE |
| 865 | 717 |
| 866 EXTN(jconst_fdct_islow_mmx): | 718 EXTN(jconst_fdct_islow_mmx): |
| 867 | 719 |
| 868 @@ -101,7 +101,7 @@ | 720 @@ -101,7 +101,7 @@ |
| 869 %define WK_NUM 2 | 721 %define WK_NUM 2 |
| 870 | 722 |
| 871 align 16 | 723 align 16 |
| 872 - global EXTN(jsimd_fdct_islow_mmx) | 724 - global EXTN(jsimd_fdct_islow_mmx) |
| 873 + global EXTN(jsimd_fdct_islow_mmx) PRIVATE | 725 + global EXTN(jsimd_fdct_islow_mmx) PRIVATE |
| 874 | 726 |
| 875 EXTN(jsimd_fdct_islow_mmx): | 727 EXTN(jsimd_fdct_islow_mmx): |
| 876 push ebp | 728 push ebp |
| 729 Index: simd/jcgryss2-64.asm |
| 730 =================================================================== |
| 731 --- simd/jcgryss2-64.asm (revision 677) |
| 732 +++ simd/jcgryss2-64.asm (working copy) |
| 733 @@ -37,7 +37,7 @@ |
| 734 |
| 735 align 16 |
| 736 |
| 737 - global EXTN(jsimd_rgb_gray_convert_sse2) |
| 738 + global EXTN(jsimd_rgb_gray_convert_sse2) PRIVATE |
| 739 |
| 740 EXTN(jsimd_rgb_gray_convert_sse2): |
| 741 push rbp |
| 877 Index: simd/jcqnts2i.asm | 742 Index: simd/jcqnts2i.asm |
| 878 =================================================================== | 743 =================================================================== |
| 879 --- simd/jcqnts2i.asm» (revision 64575) | 744 --- simd/jcqnts2i.asm» (revision 677) |
| 880 +++ simd/jcqnts2i.asm (working copy) | 745 +++ simd/jcqnts2i.asm (working copy) |
| 881 @@ -35,7 +35,7 @@ | 746 @@ -35,7 +35,7 @@ |
| 882 %define workspace ebp+16 ; DCTELEM * workspace | 747 %define workspace ebp+16 ; DCTELEM * workspace |
| 883 | 748 |
| 884 align 16 | 749 align 16 |
| 885 - global EXTN(jsimd_convsamp_sse2) | 750 - global EXTN(jsimd_convsamp_sse2) |
| 886 + global EXTN(jsimd_convsamp_sse2) PRIVATE | 751 + global EXTN(jsimd_convsamp_sse2) PRIVATE |
| 887 | 752 |
| 888 EXTN(jsimd_convsamp_sse2): | 753 EXTN(jsimd_convsamp_sse2): |
| 889 push ebp | 754 push ebp |
| 890 @@ -117,7 +117,7 @@ | 755 @@ -117,7 +117,7 @@ |
| 891 %define workspace ebp+16 ; DCTELEM * workspace | 756 %define workspace ebp+16 ; DCTELEM * workspace |
| 892 | 757 |
| 893 align 16 | 758 align 16 |
| 894 - global EXTN(jsimd_quantize_sse2) | 759 - global EXTN(jsimd_quantize_sse2) |
| 895 + global EXTN(jsimd_quantize_sse2) PRIVATE | 760 + global EXTN(jsimd_quantize_sse2) PRIVATE |
| 896 | 761 |
| 897 EXTN(jsimd_quantize_sse2): | 762 EXTN(jsimd_quantize_sse2): |
| 898 push ebp | 763 push ebp |
| 899 Index: simd/jiss2fst-64.asm | 764 Index: simd/jiss2fst-64.asm |
| 900 =================================================================== | 765 =================================================================== |
| 901 --- simd/jiss2fst-64.asm» (revision 64575) | 766 --- simd/jiss2fst-64.asm» (revision 677) |
| 902 +++ simd/jiss2fst-64.asm (working copy) | 767 +++ simd/jiss2fst-64.asm (working copy) |
| 903 @@ -60,7 +60,7 @@ | 768 @@ -60,7 +60,7 @@ |
| 904 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) | 769 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) |
| 905 | 770 |
| 906 alignz 16 | 771 alignz 16 |
| 907 - global EXTN(jconst_idct_ifast_sse2) | 772 - global EXTN(jconst_idct_ifast_sse2) |
| 908 + global EXTN(jconst_idct_ifast_sse2) PRIVATE | 773 + global EXTN(jconst_idct_ifast_sse2) PRIVATE |
| 909 | 774 |
| 910 EXTN(jconst_idct_ifast_sse2): | 775 EXTN(jconst_idct_ifast_sse2): |
| 911 | 776 |
| 912 @@ -93,7 +93,7 @@ | 777 @@ -93,7 +93,7 @@ |
| 913 %define WK_NUM 2 | 778 %define WK_NUM 2 |
| 914 | 779 |
| 915 align 16 | 780 align 16 |
| 916 - global EXTN(jsimd_idct_ifast_sse2) | 781 - global EXTN(jsimd_idct_ifast_sse2) |
| 917 + global EXTN(jsimd_idct_ifast_sse2) PRIVATE | 782 + global EXTN(jsimd_idct_ifast_sse2) PRIVATE |
| 918 | 783 |
| 919 EXTN(jsimd_idct_ifast_sse2): | 784 EXTN(jsimd_idct_ifast_sse2): |
| 920 push rbp | 785 push rbp |
| 921 Index: simd/jimmxint.asm | |
| 922 =================================================================== | |
| 923 --- simd/jimmxint.asm (revision 64575) | |
| 924 +++ simd/jimmxint.asm (working copy) | |
| 925 @@ -66,7 +66,7 @@ | |
| 926 SECTION SEG_CONST | |
| 927 | |
| 928 alignz 16 | |
| 929 - global EXTN(jconst_idct_islow_mmx) | |
| 930 + global EXTN(jconst_idct_islow_mmx) PRIVATE | |
| 931 | |
| 932 EXTN(jconst_idct_islow_mmx): | |
| 933 | |
| 934 @@ -107,7 +107,7 @@ | |
| 935 ; JCOEF workspace[DCTSIZE2] | |
| 936 | |
| 937 align 16 | |
| 938 - global EXTN(jsimd_idct_islow_mmx) | |
| 939 + global EXTN(jsimd_idct_islow_mmx) PRIVATE | |
| 940 | |
| 941 EXTN(jsimd_idct_islow_mmx): | |
| 942 push ebp | |
| 943 Index: simd/jiss2flt.asm | 786 Index: simd/jiss2flt.asm |
| 944 =================================================================== | 787 =================================================================== |
| 945 --- simd/jiss2flt.asm» (revision 64575) | 788 --- simd/jiss2flt.asm» (revision 677) |
| 946 +++ simd/jiss2flt.asm (working copy) | 789 +++ simd/jiss2flt.asm (working copy) |
| 947 @@ -37,7 +37,7 @@ | 790 @@ -37,7 +37,7 @@ |
| 948 SECTION SEG_CONST | 791 SECTION SEG_CONST |
| 949 | 792 |
| 950 alignz 16 | 793 alignz 16 |
| 951 - global EXTN(jconst_idct_float_sse2) | 794 - global EXTN(jconst_idct_float_sse2) |
| 952 + global EXTN(jconst_idct_float_sse2) PRIVATE | 795 + global EXTN(jconst_idct_float_sse2) PRIVATE |
| 953 | 796 |
| 954 EXTN(jconst_idct_float_sse2): | 797 EXTN(jconst_idct_float_sse2): |
| 955 | 798 |
| 956 @@ -73,7 +73,7 @@ | 799 @@ -73,7 +73,7 @@ |
| 957 ; FAST_FLOAT workspace[DCTSIZE2] | 800 ; FAST_FLOAT workspace[DCTSIZE2] |
| 958 | 801 |
| 959 align 16 | 802 align 16 |
| 960 - global EXTN(jsimd_idct_float_sse2) | 803 - global EXTN(jsimd_idct_float_sse2) |
| 961 + global EXTN(jsimd_idct_float_sse2) PRIVATE | 804 + global EXTN(jsimd_idct_float_sse2) PRIVATE |
| 962 | 805 |
| 963 EXTN(jsimd_idct_float_sse2): | 806 EXTN(jsimd_idct_float_sse2): |
| 964 push ebp | 807 push ebp |
| 965 Index: simd/jfss2int.asm | |
| 966 =================================================================== | |
| 967 --- simd/jfss2int.asm (revision 64575) | |
| 968 +++ simd/jfss2int.asm (working copy) | |
| 969 @@ -66,7 +66,7 @@ | |
| 970 SECTION SEG_CONST | |
| 971 | |
| 972 alignz 16 | |
| 973 - global EXTN(jconst_fdct_islow_sse2) | |
| 974 + global EXTN(jconst_fdct_islow_sse2) PRIVATE | |
| 975 | |
| 976 EXTN(jconst_fdct_islow_sse2): | |
| 977 | |
| 978 @@ -101,7 +101,7 @@ | |
| 979 %define WK_NUM 6 | |
| 980 | |
| 981 align 16 | |
| 982 - global EXTN(jsimd_fdct_islow_sse2) | |
| 983 + global EXTN(jsimd_fdct_islow_sse2) PRIVATE | |
| 984 | |
| 985 EXTN(jsimd_fdct_islow_sse2): | |
| 986 push ebp | |
| 987 Index: simd/jiss2int.asm | 808 Index: simd/jiss2int.asm |
| 988 =================================================================== | 809 =================================================================== |
| 989 --- simd/jiss2int.asm» (revision 64575) | 810 --- simd/jiss2int.asm» (revision 677) |
| 990 +++ simd/jiss2int.asm (working copy) | 811 +++ simd/jiss2int.asm (working copy) |
| 991 @@ -66,7 +66,7 @@ | 812 @@ -66,7 +66,7 @@ |
| 992 SECTION SEG_CONST | 813 SECTION SEG_CONST |
| 993 | 814 |
| 994 alignz 16 | 815 alignz 16 |
| 995 - global EXTN(jconst_idct_islow_sse2) | 816 - global EXTN(jconst_idct_islow_sse2) |
| 996 + global EXTN(jconst_idct_islow_sse2) PRIVATE | 817 + global EXTN(jconst_idct_islow_sse2) PRIVATE |
| 997 | 818 |
| 998 EXTN(jconst_idct_islow_sse2): | 819 EXTN(jconst_idct_islow_sse2): |
| 999 | 820 |
| 1000 @@ -105,7 +105,7 @@ | 821 @@ -105,7 +105,7 @@ |
| 1001 %define WK_NUM 12 | 822 %define WK_NUM 12 |
| 1002 | 823 |
| 1003 align 16 | 824 align 16 |
| 1004 - global EXTN(jsimd_idct_islow_sse2) | 825 - global EXTN(jsimd_idct_islow_sse2) |
| 1005 + global EXTN(jsimd_idct_islow_sse2) PRIVATE | 826 + global EXTN(jsimd_idct_islow_sse2) PRIVATE |
| 1006 | 827 |
| 1007 EXTN(jsimd_idct_islow_sse2): | 828 EXTN(jsimd_idct_islow_sse2): |
| 1008 push ebp | 829 push ebp |
| 1009 Index: simd/jfsseflt-64.asm | 830 Index: simd/jfsseflt-64.asm |
| 1010 =================================================================== | 831 =================================================================== |
| 1011 --- simd/jfsseflt-64.asm» (revision 64575) | 832 --- simd/jfsseflt-64.asm» (revision 677) |
| 1012 +++ simd/jfsseflt-64.asm (working copy) | 833 +++ simd/jfsseflt-64.asm (working copy) |
| 1013 @@ -38,7 +38,7 @@ | 834 @@ -38,7 +38,7 @@ |
| 1014 SECTION SEG_CONST | 835 SECTION SEG_CONST |
| 1015 | 836 |
| 1016 alignz 16 | 837 alignz 16 |
| 1017 - global EXTN(jconst_fdct_float_sse) | 838 - global EXTN(jconst_fdct_float_sse) |
| 1018 + global EXTN(jconst_fdct_float_sse) PRIVATE | 839 + global EXTN(jconst_fdct_float_sse) PRIVATE |
| 1019 | 840 |
| 1020 EXTN(jconst_fdct_float_sse): | 841 EXTN(jconst_fdct_float_sse): |
| 1021 | 842 |
| 1022 @@ -65,7 +65,7 @@ | 843 @@ -65,7 +65,7 @@ |
| 1023 %define WK_NUM 2 | 844 %define WK_NUM 2 |
| 1024 | 845 |
| 1025 align 16 | 846 align 16 |
| 1026 - global EXTN(jsimd_fdct_float_sse) | 847 - global EXTN(jsimd_fdct_float_sse) |
| 1027 + global EXTN(jsimd_fdct_float_sse) PRIVATE | 848 + global EXTN(jsimd_fdct_float_sse) PRIVATE |
| 1028 | 849 |
| 1029 EXTN(jsimd_fdct_float_sse): | 850 EXTN(jsimd_fdct_float_sse): |
| 1030 push rbp | 851 push rbp |
| 1031 Index: simd/jccolss2-64.asm | 852 Index: simd/jccolss2-64.asm |
| 1032 =================================================================== | 853 =================================================================== |
| 1033 --- simd/jccolss2-64.asm» (revision 64575) | 854 --- simd/jccolss2-64.asm» (revision 677) |
| 1034 +++ simd/jccolss2-64.asm (working copy) | 855 +++ simd/jccolss2-64.asm (working copy) |
| 1035 @@ -34,7 +34,7 @@ | 856 @@ -34,7 +34,7 @@ |
| 1036 SECTION SEG_CONST | 857 SECTION SEG_CONST |
| 1037 | 858 |
| 1038 alignz 16 | 859 alignz 16 |
| 1039 - global EXTN(jconst_rgb_ycc_convert_sse2) | 860 - global EXTN(jconst_rgb_ycc_convert_sse2) |
| 1040 + global EXTN(jconst_rgb_ycc_convert_sse2) PRIVATE | 861 + global EXTN(jconst_rgb_ycc_convert_sse2) PRIVATE |
| 1041 | 862 |
| 1042 EXTN(jconst_rgb_ycc_convert_sse2): | 863 EXTN(jconst_rgb_ycc_convert_sse2): |
| 1043 | 864 |
| 1044 Index: simd/jccolmmx.asm | |
| 1045 =================================================================== | |
| 1046 --- simd/jccolmmx.asm (revision 64575) | |
| 1047 +++ simd/jccolmmx.asm (working copy) | |
| 1048 @@ -37,7 +37,7 @@ | |
| 1049 SECTION SEG_CONST | |
| 1050 | |
| 1051 alignz 16 | |
| 1052 - global EXTN(jconst_rgb_ycc_convert_mmx) | |
| 1053 + global EXTN(jconst_rgb_ycc_convert_mmx) PRIVATE | |
| 1054 | |
| 1055 EXTN(jconst_rgb_ycc_convert_mmx): | |
| 1056 | |
| 1057 Index: simd/jcsamss2-64.asm | 865 Index: simd/jcsamss2-64.asm |
| 1058 =================================================================== | 866 =================================================================== |
| 1059 --- simd/jcsamss2-64.asm» (revision 64575) | 867 --- simd/jcsamss2-64.asm» (revision 677) |
| 1060 +++ simd/jcsamss2-64.asm (working copy) | 868 +++ simd/jcsamss2-64.asm (working copy) |
| 1061 @@ -41,7 +41,7 @@ | 869 @@ -41,7 +41,7 @@ |
| 1062 ; r15 = JSAMPARRAY output_data | 870 ; r15 = JSAMPARRAY output_data |
| 1063 | 871 |
| 1064 align 16 | 872 align 16 |
| 1065 - global EXTN(jsimd_h2v1_downsample_sse2) | 873 - global EXTN(jsimd_h2v1_downsample_sse2) |
| 1066 + global EXTN(jsimd_h2v1_downsample_sse2) PRIVATE | 874 + global EXTN(jsimd_h2v1_downsample_sse2) PRIVATE |
| 1067 | 875 |
| 1068 EXTN(jsimd_h2v1_downsample_sse2): | 876 EXTN(jsimd_h2v1_downsample_sse2): |
| 1069 push rbp | 877 push rbp |
| 1070 @@ -185,7 +185,7 @@ | 878 @@ -185,7 +185,7 @@ |
| 1071 ; r15 = JSAMPARRAY output_data | 879 ; r15 = JSAMPARRAY output_data |
| 1072 | 880 |
| 1073 align 16 | 881 align 16 |
| 1074 - global EXTN(jsimd_h2v2_downsample_sse2) | 882 - global EXTN(jsimd_h2v2_downsample_sse2) |
| 1075 + global EXTN(jsimd_h2v2_downsample_sse2) PRIVATE | 883 + global EXTN(jsimd_h2v2_downsample_sse2) PRIVATE |
| 1076 | 884 |
| 1077 EXTN(jsimd_h2v2_downsample_sse2): | 885 EXTN(jsimd_h2v2_downsample_sse2): |
| 1078 push rbp | 886 push rbp |
| 1079 Index: simd/jdcolmmx.asm | |
| 1080 =================================================================== | |
| 1081 --- simd/jdcolmmx.asm (revision 64575) | |
| 1082 +++ simd/jdcolmmx.asm (working copy) | |
| 1083 @@ -35,7 +35,7 @@ | |
| 1084 SECTION SEG_CONST | |
| 1085 | |
| 1086 alignz 16 | |
| 1087 - global EXTN(jconst_ycc_rgb_convert_mmx) | |
| 1088 + global EXTN(jconst_ycc_rgb_convert_mmx) PRIVATE | |
| 1089 | |
| 1090 EXTN(jconst_ycc_rgb_convert_mmx): | |
| 1091 | |
| 1092 Index: simd/jdclrss2-64.asm | 887 Index: simd/jdclrss2-64.asm |
| 1093 =================================================================== | 888 =================================================================== |
| 1094 --- simd/jdclrss2-64.asm» (revision 64575) | 889 --- simd/jdclrss2-64.asm» (revision 677) |
| 1095 +++ simd/jdclrss2-64.asm (working copy) | 890 +++ simd/jdclrss2-64.asm (working copy) |
| 1096 @@ -20,8 +20,12 @@ | 891 @@ -39,7 +39,7 @@ |
| 1097 %include "jcolsamp.inc" | |
| 1098 » » » » | |
| 1099 ; -------------------------------------------------------------------------- | |
| 1100 +%ifndef NEED_SECTION | |
| 1101 +%define NEED_SECTION | |
| 1102 » SECTION»SEG_TEXT | |
| 1103 » BITS» 64 | |
| 1104 +%endif | |
| 1105 + | |
| 1106 ; | |
| 1107 ; Convert some rows of samples to the output colorspace. | |
| 1108 ; | |
| 1109 @@ -41,7 +45,7 @@ | |
| 1110 %define WK_NUM 2 | 892 %define WK_NUM 2 |
| 1111 | 893 |
| 1112 align 16 | 894 align 16 |
| 1113 - global EXTN(jsimd_ycc_rgb_convert_sse2) | 895 - global EXTN(jsimd_ycc_rgb_convert_sse2) |
| 1114 + global EXTN(jsimd_ycc_rgb_convert_sse2) PRIVATE | 896 + global EXTN(jsimd_ycc_rgb_convert_sse2) PRIVATE |
| 1115 | 897 |
| 1116 EXTN(jsimd_ycc_rgb_convert_sse2): | 898 EXTN(jsimd_ycc_rgb_convert_sse2): |
| 1117 push rbp | 899 push rbp |
| 1118 @@ -292,6 +296,41 @@ | 900 @@ -290,6 +290,41 @@ |
| 1119 movdqa xmmA,xmmD | 901 movdqa xmmA,xmmD |
| 1120 sub rcx, byte SIZEOF_XMMWORD | 902 sub rcx, byte SIZEOF_XMMWORD |
| 1121 .column_st15: | 903 .column_st15: |
| 1122 +%ifdef STRICT_MEMORY_ACCESS | 904 +%ifdef STRICT_MEMORY_ACCESS |
| 1123 + ; Store the lower 8 bytes of xmmA to the output when it has enough | 905 + ; Store the lower 8 bytes of xmmA to the output when it has enough |
| 1124 + ; space. | 906 + ; space. |
| 1125 + cmp rcx, byte SIZEOF_MMWORD | 907 + cmp rcx, byte SIZEOF_MMWORD |
| 1126 + jb short .column_st7 | 908 + jb short .column_st7 |
| 1127 + movq MMWORD [rdi], xmmA | 909 + movq MMWORD [rdi], xmmA |
| 1128 + add rdi, byte SIZEOF_MMWORD | 910 + add rdi, byte SIZEOF_MMWORD |
| (...skipping 21 matching lines...) Expand all Loading... |
| 1150 +.column_st1: | 932 +.column_st1: |
| 1151 + ; Store the lower 1 byte of rax to the output when it has enough | 933 + ; Store the lower 1 byte of rax to the output when it has enough |
| 1152 + ; space. | 934 + ; space. |
| 1153 + test rcx, rcx | 935 + test rcx, rcx |
| 1154 + jz short .nextrow | 936 + jz short .nextrow |
| 1155 + mov BYTE [rdi], al | 937 + mov BYTE [rdi], al |
| 1156 +%else | 938 +%else |
| 1157 mov rax,rcx | 939 mov rax,rcx |
| 1158 xor rcx, byte 0x0F | 940 xor rcx, byte 0x0F |
| 1159 shl rcx, 2 | 941 shl rcx, 2 |
| 1160 @@ -331,6 +370,7 @@ | 942 @@ -329,6 +364,7 @@ |
| 1161 por xmmE,xmmC | 943 por xmmE,xmmC |
| 1162 .adj0: ; ---------------- | 944 .adj0: ; ---------------- |
| 1163 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [rdi], xmmA | 945 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [rdi], xmmA |
| 1164 +%endif ; STRICT_MEMORY_ACCESS ; --------------- | 946 +%endif ; STRICT_MEMORY_ACCESS ; --------------- |
| 1165 | 947 |
| 1166 %else ; RGB_PIXELSIZE == 4 ; ----------- | 948 %else ; RGB_PIXELSIZE == 4 ; ----------- |
| 1167 | 949 |
| 1168 @@ -415,6 +455,22 @@ | 950 @@ -413,6 +449,22 @@ |
| 1169 movdqa xmmA,xmmD | 951 movdqa xmmA,xmmD |
| 1170 sub rcx, byte SIZEOF_XMMWORD/4 | 952 sub rcx, byte SIZEOF_XMMWORD/4 |
| 1171 .column_st15: | 953 .column_st15: |
| 1172 +%ifdef STRICT_MEMORY_ACCESS | 954 +%ifdef STRICT_MEMORY_ACCESS |
| 1173 + ; Store two pixels (8 bytes) of xmmA to the output when it has enough | 955 + ; Store two pixels (8 bytes) of xmmA to the output when it has enough |
| 1174 + ; space. | 956 + ; space. |
| 1175 + cmp rcx, byte SIZEOF_XMMWORD/8 | 957 + cmp rcx, byte SIZEOF_XMMWORD/8 |
| 1176 + jb short .column_st7 | 958 + jb short .column_st7 |
| 1177 + movq MMWORD [rdi], xmmA | 959 + movq MMWORD [rdi], xmmA |
| 1178 + add rdi, byte SIZEOF_XMMWORD/8*4 | 960 + add rdi, byte SIZEOF_XMMWORD/8*4 |
| 1179 + sub rcx, byte SIZEOF_XMMWORD/8 | 961 + sub rcx, byte SIZEOF_XMMWORD/8 |
| 1180 + psrldq xmmA, SIZEOF_XMMWORD/8*4 | 962 + psrldq xmmA, SIZEOF_XMMWORD/8*4 |
| 1181 +.column_st7: | 963 +.column_st7: |
| 1182 + ; Store one pixel (4 bytes) of xmmA to the output when it has enough | 964 + ; Store one pixel (4 bytes) of xmmA to the output when it has enough |
| 1183 + ; space. | 965 + ; space. |
| 1184 + test rcx, rcx | 966 + test rcx, rcx |
| 1185 + jz short .nextrow | 967 + jz short .nextrow |
| 1186 + movd DWORD [rdi], xmmA | 968 + movd DWORD [rdi], xmmA |
| 1187 +%else | 969 +%else |
| 1188 cmp rcx, byte SIZEOF_XMMWORD/16 | 970 cmp rcx, byte SIZEOF_XMMWORD/16 |
| 1189 jb near .nextrow | 971 jb near .nextrow |
| 1190 mov rax,rcx | 972 mov rax,rcx |
| 1191 @@ -454,6 +510,7 @@ | 973 @@ -452,6 +504,7 @@ |
| 1192 por xmmE,xmmG | 974 por xmmE,xmmG |
| 1193 .adj0: ; ---------------- | 975 .adj0: ; ---------------- |
| 1194 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [rdi], xmmA | 976 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [rdi], xmmA |
| 1195 +%endif ; STRICT_MEMORY_ACCESS ; --------------- | 977 +%endif ; STRICT_MEMORY_ACCESS ; --------------- |
| 1196 | 978 |
| 1197 %endif ; RGB_PIXELSIZE ; --------------- | 979 %endif ; RGB_PIXELSIZE ; --------------- |
| 1198 | 980 |
| 981 Index: simd/jdcolmmx.asm |
| 982 =================================================================== |
| 983 --- simd/jdcolmmx.asm (revision 677) |
| 984 +++ simd/jdcolmmx.asm (working copy) |
| 985 @@ -35,7 +35,7 @@ |
| 986 SECTION SEG_CONST |
| 987 |
| 988 alignz 16 |
| 989 - global EXTN(jconst_ycc_rgb_convert_mmx) |
| 990 + global EXTN(jconst_ycc_rgb_convert_mmx) PRIVATE |
| 991 |
| 992 EXTN(jconst_ycc_rgb_convert_mmx): |
| 993 |
| 1199 Index: simd/jcclrmmx.asm | 994 Index: simd/jcclrmmx.asm |
| 1200 =================================================================== | 995 =================================================================== |
| 1201 --- simd/jcclrmmx.asm» (revision 64575) | 996 --- simd/jcclrmmx.asm» (revision 677) |
| 1202 +++ simd/jcclrmmx.asm (working copy) | 997 +++ simd/jcclrmmx.asm (working copy) |
| 1203 @@ -19,8 +19,12 @@ | 998 @@ -40,7 +40,7 @@ |
| 1204 %include "jcolsamp.inc" | |
| 1205 | |
| 1206 ; -------------------------------------------------------------------------- | |
| 1207 +%ifndef NEED_SECTION | |
| 1208 +%define NEED_SECTION | |
| 1209 » SECTION»SEG_TEXT | |
| 1210 » BITS» 32 | |
| 1211 +%endif | |
| 1212 + | |
| 1213 ; | |
| 1214 ; Convert some rows of samples to the output colorspace. | |
| 1215 ; | |
| 1216 @@ -42,7 +46,7 @@ | |
| 1217 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr | 999 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr |
| 1218 | 1000 |
| 1219 align 16 | 1001 align 16 |
| 1220 - global EXTN(jsimd_rgb_ycc_convert_mmx) | 1002 - global EXTN(jsimd_rgb_ycc_convert_mmx) |
| 1221 + global EXTN(jsimd_rgb_ycc_convert_mmx) PRIVATE | 1003 + global EXTN(jsimd_rgb_ycc_convert_mmx) PRIVATE |
| 1222 | 1004 |
| 1223 EXTN(jsimd_rgb_ycc_convert_mmx): | 1005 EXTN(jsimd_rgb_ycc_convert_mmx): |
| 1224 push ebp | 1006 push ebp |
| 1225 Index: simd/jimmxred.asm | |
| 1226 =================================================================== | |
| 1227 --- simd/jimmxred.asm (revision 64575) | |
| 1228 +++ simd/jimmxred.asm (working copy) | |
| 1229 @@ -72,7 +72,7 @@ | |
| 1230 SECTION SEG_CONST | |
| 1231 | |
| 1232 alignz 16 | |
| 1233 - global EXTN(jconst_idct_red_mmx) | |
| 1234 + global EXTN(jconst_idct_red_mmx) PRIVATE | |
| 1235 | |
| 1236 EXTN(jconst_idct_red_mmx): | |
| 1237 | |
| 1238 @@ -115,7 +115,7 @@ | |
| 1239 ; JCOEF workspace[DCTSIZE2] | |
| 1240 | |
| 1241 align 16 | |
| 1242 - global EXTN(jsimd_idct_4x4_mmx) | |
| 1243 + global EXTN(jsimd_idct_4x4_mmx) PRIVATE | |
| 1244 | |
| 1245 EXTN(jsimd_idct_4x4_mmx): | |
| 1246 push ebp | |
| 1247 @@ -503,7 +503,7 @@ | |
| 1248 %define output_col(b) (b)+20 ; JDIMENSION output_col | |
| 1249 | |
| 1250 align 16 | |
| 1251 - global EXTN(jsimd_idct_2x2_mmx) | |
| 1252 + global EXTN(jsimd_idct_2x2_mmx) PRIVATE | |
| 1253 | |
| 1254 EXTN(jsimd_idct_2x2_mmx): | |
| 1255 push ebp | |
| 1256 Index: simd/jdclrmmx.asm | |
| 1257 =================================================================== | |
| 1258 --- simd/jdclrmmx.asm (revision 64575) | |
| 1259 +++ simd/jdclrmmx.asm (working copy) | |
| 1260 @@ -19,8 +19,12 @@ | |
| 1261 %include "jcolsamp.inc" | |
| 1262 | |
| 1263 ; -------------------------------------------------------------------------- | |
| 1264 +%ifndef NEED_SECTION | |
| 1265 +%define NEED_SECTION | |
| 1266 SECTION SEG_TEXT | |
| 1267 BITS 32 | |
| 1268 +%endif | |
| 1269 + | |
| 1270 ; | |
| 1271 ; Convert some rows of samples to the output colorspace. | |
| 1272 ; | |
| 1273 @@ -42,7 +46,7 @@ | |
| 1274 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr | |
| 1275 | |
| 1276 align 16 | |
| 1277 - global EXTN(jsimd_ycc_rgb_convert_mmx) | |
| 1278 + global EXTN(jsimd_ycc_rgb_convert_mmx) PRIVATE | |
| 1279 | |
| 1280 EXTN(jsimd_ycc_rgb_convert_mmx): | |
| 1281 push ebp | |
| 1282 Index: simd/jfsseflt.asm | 1007 Index: simd/jfsseflt.asm |
| 1283 =================================================================== | 1008 =================================================================== |
| 1284 --- simd/jfsseflt.asm» (revision 64575) | 1009 --- simd/jfsseflt.asm» (revision 677) |
| 1285 +++ simd/jfsseflt.asm (working copy) | 1010 +++ simd/jfsseflt.asm (working copy) |
| 1286 @@ -37,7 +37,7 @@ | 1011 @@ -37,7 +37,7 @@ |
| 1287 SECTION SEG_CONST | 1012 SECTION SEG_CONST |
| 1288 | 1013 |
| 1289 alignz 16 | 1014 alignz 16 |
| 1290 - global EXTN(jconst_fdct_float_sse) | 1015 - global EXTN(jconst_fdct_float_sse) |
| 1291 + global EXTN(jconst_fdct_float_sse) PRIVATE | 1016 + global EXTN(jconst_fdct_float_sse) PRIVATE |
| 1292 | 1017 |
| 1293 EXTN(jconst_fdct_float_sse): | 1018 EXTN(jconst_fdct_float_sse): |
| 1294 | 1019 |
| 1295 @@ -65,7 +65,7 @@ | 1020 @@ -65,7 +65,7 @@ |
| 1296 %define WK_NUM 2 | 1021 %define WK_NUM 2 |
| 1297 | 1022 |
| 1298 align 16 | 1023 align 16 |
| 1299 - global EXTN(jsimd_fdct_float_sse) | 1024 - global EXTN(jsimd_fdct_float_sse) |
| 1300 + global EXTN(jsimd_fdct_float_sse) PRIVATE | 1025 + global EXTN(jsimd_fdct_float_sse) PRIVATE |
| 1301 | 1026 |
| 1302 EXTN(jsimd_fdct_float_sse): | 1027 EXTN(jsimd_fdct_float_sse): |
| 1303 push ebp | 1028 push ebp |
| 1304 Index: simd/jsimdext.inc | |
| 1305 =================================================================== | |
| 1306 --- simd/jsimdext.inc (revision 64575) | |
| 1307 +++ simd/jsimdext.inc (working copy) | |
| 1308 @@ -38,16 +38,16 @@ | |
| 1309 | |
| 1310 ; -- segment definition -- | |
| 1311 ; | |
| 1312 -%define SEG_TEXT .text align=16 public use32 class=CODE | |
| 1313 -%define SEG_CONST .rdata align=16 public use32 class=CONST | |
| 1314 +%define SEG_TEXT .text align=16 ; public use32 class=CODE | |
| 1315 +%define SEG_CONST .rdata align=16 ; public use32 class=CONST | |
| 1316 | |
| 1317 %elifdef WIN64 ; ----(nasm -fwin64 -DWIN64 ...)-------- | |
| 1318 ; * Microsoft Visual C++ | |
| 1319 | |
| 1320 ; -- segment definition -- | |
| 1321 ; | |
| 1322 -%define SEG_TEXT .text align=16 public use64 class=CODE | |
| 1323 -%define SEG_CONST .rdata align=16 public use64 class=CONST | |
| 1324 +%define SEG_TEXT .text align=16 ; public use64 class=CODE | |
| 1325 +%define SEG_CONST .rdata align=16 ; public use64 class=CONST | |
| 1326 %ifdef MSVC | |
| 1327 %define EXTN(name) name ; foo() -> foo | |
| 1328 %endif | |
| 1329 @@ -369,4 +369,14 @@ | |
| 1330 ; | |
| 1331 %include "jsimdcfg.inc" | |
| 1332 | |
| 1333 +; Begin chromium edits | |
| 1334 +%ifdef MACHO ; ----(nasm -fmacho -DMACHO ...)-------- | |
| 1335 +%define PRIVATE :private_extern | |
| 1336 +%elifdef ELF ; ----(nasm -felf[64] -DELF ...)------------ | |
| 1337 +%define PRIVATE :hidden | |
| 1338 +%else | |
| 1339 +%define PRIVATE | |
| 1340 +%endif | |
| 1341 +; End chromium edits | |
| 1342 + | |
| 1343 ; -------------------------------------------------------------------------- | |
| 1344 Index: simd/jdmrgss2-64.asm | 1029 Index: simd/jdmrgss2-64.asm |
| 1345 =================================================================== | 1030 =================================================================== |
| 1346 --- simd/jdmrgss2-64.asm» (revision 64575) | 1031 --- simd/jdmrgss2-64.asm» (revision 677) |
| 1347 +++ simd/jdmrgss2-64.asm (working copy) | 1032 +++ simd/jdmrgss2-64.asm (working copy) |
| 1348 @@ -20,8 +20,12 @@ | 1033 @@ -39,7 +39,7 @@ |
| 1349 %include "jcolsamp.inc" | |
| 1350 » » » » | |
| 1351 ; -------------------------------------------------------------------------- | |
| 1352 +%ifndef NEED_SECTION | |
| 1353 +%define NEED_SECTION | |
| 1354 » SECTION»SEG_TEXT | |
| 1355 » BITS» 64 | |
| 1356 +%endif | |
| 1357 + | |
| 1358 ; | |
| 1359 ; Upsample and color convert for the case of 2:1 horizontal and 1:1 vertical. | |
| 1360 ; | |
| 1361 @@ -41,7 +45,7 @@ | |
| 1362 %define WK_NUM 3 | 1034 %define WK_NUM 3 |
| 1363 | 1035 |
| 1364 align 16 | 1036 align 16 |
| 1365 - global EXTN(jsimd_h2v1_merged_upsample_sse2) | 1037 - global EXTN(jsimd_h2v1_merged_upsample_sse2) |
| 1366 + global EXTN(jsimd_h2v1_merged_upsample_sse2) PRIVATE | 1038 + global EXTN(jsimd_h2v1_merged_upsample_sse2) PRIVATE |
| 1367 | 1039 |
| 1368 EXTN(jsimd_h2v1_merged_upsample_sse2): | 1040 EXTN(jsimd_h2v1_merged_upsample_sse2): |
| 1369 push rbp | 1041 push rbp |
| 1370 @@ -296,6 +300,41 @@ | 1042 @@ -294,6 +294,41 @@ |
| 1371 movdqa xmmA,xmmD | 1043 movdqa xmmA,xmmD |
| 1372 sub rcx, byte SIZEOF_XMMWORD | 1044 sub rcx, byte SIZEOF_XMMWORD |
| 1373 .column_st15: | 1045 .column_st15: |
| 1374 +%ifdef STRICT_MEMORY_ACCESS | 1046 +%ifdef STRICT_MEMORY_ACCESS |
| 1375 + ; Store the lower 8 bytes of xmmA to the output when it has enough | 1047 + ; Store the lower 8 bytes of xmmA to the output when it has enough |
| 1376 + ; space. | 1048 + ; space. |
| 1377 + cmp rcx, byte SIZEOF_MMWORD | 1049 + cmp rcx, byte SIZEOF_MMWORD |
| 1378 + jb short .column_st7 | 1050 + jb short .column_st7 |
| 1379 + movq MMWORD [rdi], xmmA | 1051 + movq MMWORD [rdi], xmmA |
| 1380 + add rdi, byte SIZEOF_MMWORD | 1052 + add rdi, byte SIZEOF_MMWORD |
| (...skipping 21 matching lines...) Expand all Loading... |
| 1402 +.column_st1: | 1074 +.column_st1: |
| 1403 + ; Store the lower 1 byte of rax to the output when it has enough | 1075 + ; Store the lower 1 byte of rax to the output when it has enough |
| 1404 + ; space. | 1076 + ; space. |
| 1405 + test rcx, rcx | 1077 + test rcx, rcx |
| 1406 + jz short .endcolumn | 1078 + jz short .endcolumn |
| 1407 + mov BYTE [rdi], al | 1079 + mov BYTE [rdi], al |
| 1408 +%else | 1080 +%else |
| 1409 mov rax,rcx | 1081 mov rax,rcx |
| 1410 xor rcx, byte 0x0F | 1082 xor rcx, byte 0x0F |
| 1411 shl rcx, 2 | 1083 shl rcx, 2 |
| 1412 @@ -335,6 +374,7 @@ | 1084 @@ -333,6 +368,7 @@ |
| 1413 por xmmE,xmmC | 1085 por xmmE,xmmC |
| 1414 .adj0: ; ---------------- | 1086 .adj0: ; ---------------- |
| 1415 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA | 1087 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA |
| 1416 +%endif ; STRICT_MEMORY_ACCESS ; --------------- | 1088 +%endif ; STRICT_MEMORY_ACCESS ; --------------- |
| 1417 | 1089 |
| 1418 %else ; RGB_PIXELSIZE == 4 ; ----------- | 1090 %else ; RGB_PIXELSIZE == 4 ; ----------- |
| 1419 | 1091 |
| 1420 @@ -422,6 +462,22 @@ | 1092 @@ -420,6 +456,22 @@ |
| 1421 movdqa xmmA,xmmD | 1093 movdqa xmmA,xmmD |
| 1422 sub rcx, byte SIZEOF_XMMWORD/4 | 1094 sub rcx, byte SIZEOF_XMMWORD/4 |
| 1423 .column_st15: | 1095 .column_st15: |
| 1424 +%ifdef STRICT_MEMORY_ACCESS | 1096 +%ifdef STRICT_MEMORY_ACCESS |
| 1425 + ; Store two pixels (8 bytes) of xmmA to the output when it has enough | 1097 + ; Store two pixels (8 bytes) of xmmA to the output when it has enough |
| 1426 + ; space. | 1098 + ; space. |
| 1427 + cmp rcx, byte SIZEOF_XMMWORD/8 | 1099 + cmp rcx, byte SIZEOF_XMMWORD/8 |
| 1428 + jb short .column_st7 | 1100 + jb short .column_st7 |
| 1429 + movq MMWORD [rdi], xmmA | 1101 + movq MMWORD [rdi], xmmA |
| 1430 + add rdi, byte SIZEOF_XMMWORD/8*4 | 1102 + add rdi, byte SIZEOF_XMMWORD/8*4 |
| 1431 + sub rcx, byte SIZEOF_XMMWORD/8 | 1103 + sub rcx, byte SIZEOF_XMMWORD/8 |
| 1432 + psrldq xmmA, SIZEOF_XMMWORD/8*4 | 1104 + psrldq xmmA, SIZEOF_XMMWORD/8*4 |
| 1433 +.column_st7: | 1105 +.column_st7: |
| 1434 + ; Store one pixel (4 bytes) of xmmA to the output when it has enough | 1106 + ; Store one pixel (4 bytes) of xmmA to the output when it has enough |
| 1435 + ; space. | 1107 + ; space. |
| 1436 + test rcx, rcx | 1108 + test rcx, rcx |
| 1437 + jz short .endcolumn | 1109 + jz short .endcolumn |
| 1438 + movd DWORD [rdi], xmmA | 1110 + movd DWORD [rdi], xmmA |
| 1439 +%else | 1111 +%else |
| 1440 cmp rcx, byte SIZEOF_XMMWORD/16 | 1112 cmp rcx, byte SIZEOF_XMMWORD/16 |
| 1441 jb near .endcolumn | 1113 jb near .endcolumn |
| 1442 mov rax,rcx | 1114 mov rax,rcx |
| 1443 @@ -461,6 +517,7 @@ | 1115 @@ -459,6 +511,7 @@ |
| 1444 por xmmE,xmmG | 1116 por xmmE,xmmG |
| 1445 .adj0: ; ---------------- | 1117 .adj0: ; ---------------- |
| 1446 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA | 1118 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA |
| 1447 +%endif ; STRICT_MEMORY_ACCESS ; --------------- | 1119 +%endif ; STRICT_MEMORY_ACCESS ; --------------- |
| 1448 | 1120 |
| 1449 %endif ; RGB_PIXELSIZE ; --------------- | 1121 %endif ; RGB_PIXELSIZE ; --------------- |
| 1450 | 1122 |
| 1451 @@ -492,7 +549,7 @@ | 1123 @@ -490,7 +543,7 @@ |
| 1452 ; r13 = JSAMPARRAY output_buf | 1124 ; r13 = JSAMPARRAY output_buf |
| 1453 | 1125 |
| 1454 align 16 | 1126 align 16 |
| 1455 - global EXTN(jsimd_h2v2_merged_upsample_sse2) | 1127 - global EXTN(jsimd_h2v2_merged_upsample_sse2) |
| 1456 + global EXTN(jsimd_h2v2_merged_upsample_sse2) PRIVATE | 1128 + global EXTN(jsimd_h2v2_merged_upsample_sse2) PRIVATE |
| 1457 | 1129 |
| 1458 EXTN(jsimd_h2v2_merged_upsample_sse2): | 1130 EXTN(jsimd_h2v2_merged_upsample_sse2): |
| 1459 push rbp | 1131 push rbp |
| 1460 Index: simd/jccolss2.asm | 1132 Index: simd/jdcolss2.asm |
| 1461 =================================================================== | 1133 =================================================================== |
| 1462 --- simd/jccolss2.asm» (revision 64575) | 1134 --- simd/jdcolss2.asm» (revision 677) |
| 1463 +++ simd/jccolss2.asm» (working copy) | 1135 +++ simd/jdcolss2.asm» (working copy) |
| 1464 @@ -34,7 +34,7 @@ | 1136 @@ -35,7 +35,7 @@ |
| 1465 SECTION SEG_CONST | 1137 SECTION SEG_CONST |
| 1466 | 1138 |
| 1467 alignz 16 | 1139 alignz 16 |
| 1468 -» global» EXTN(jconst_rgb_ycc_convert_sse2) | 1140 -» global» EXTN(jconst_ycc_rgb_convert_sse2) |
| 1469 +» global» EXTN(jconst_rgb_ycc_convert_sse2) PRIVATE | 1141 +» global» EXTN(jconst_ycc_rgb_convert_sse2) PRIVATE |
| 1470 | 1142 |
| 1471 EXTN(jconst_rgb_ycc_convert_sse2): | 1143 EXTN(jconst_ycc_rgb_convert_sse2): |
| 1472 | 1144 |
| 1473 Index: simd/jdmermmx.asm | 1145 Index: simd/jdmermmx.asm |
| 1474 =================================================================== | 1146 =================================================================== |
| 1475 --- simd/jdmermmx.asm» (revision 64575) | 1147 --- simd/jdmermmx.asm» (revision 677) |
| 1476 +++ simd/jdmermmx.asm (working copy) | 1148 +++ simd/jdmermmx.asm (working copy) |
| 1477 @@ -35,7 +35,7 @@ | 1149 @@ -35,7 +35,7 @@ |
| 1478 SECTION SEG_CONST | 1150 SECTION SEG_CONST |
| 1479 | 1151 |
| 1480 alignz 16 | 1152 alignz 16 |
| 1481 - global EXTN(jconst_merged_upsample_mmx) | 1153 - global EXTN(jconst_merged_upsample_mmx) |
| 1482 + global EXTN(jconst_merged_upsample_mmx) PRIVATE | 1154 + global EXTN(jconst_merged_upsample_mmx) PRIVATE |
| 1483 | 1155 |
| 1484 EXTN(jconst_merged_upsample_mmx): | 1156 EXTN(jconst_merged_upsample_mmx): |
| 1485 | 1157 |
| 1486 Index: simd/jdcolss2.asm | 1158 Index: simd/jcclrss2.asm |
| 1487 =================================================================== | 1159 =================================================================== |
| 1488 --- simd/jdcolss2.asm» (revision 64575) | 1160 --- simd/jcclrss2.asm» (revision 677) |
| 1489 +++ simd/jdcolss2.asm» (working copy) | 1161 +++ simd/jcclrss2.asm» (working copy) |
| 1162 @@ -38,7 +38,7 @@ |
| 1163 |
| 1164 » align» 16 |
| 1165 |
| 1166 -» global» EXTN(jsimd_rgb_ycc_convert_sse2) |
| 1167 +» global» EXTN(jsimd_rgb_ycc_convert_sse2) PRIVATE |
| 1168 |
| 1169 EXTN(jsimd_rgb_ycc_convert_sse2): |
| 1170 » push» ebp |
| 1171 Index: simd/jiss2red.asm |
| 1172 =================================================================== |
| 1173 --- simd/jiss2red.asm» (revision 677) |
| 1174 +++ simd/jiss2red.asm» (working copy) |
| 1175 @@ -72,7 +72,7 @@ |
| 1176 » SECTION»SEG_CONST |
| 1177 |
| 1178 » alignz» 16 |
| 1179 -» global» EXTN(jconst_idct_red_sse2) |
| 1180 +» global» EXTN(jconst_idct_red_sse2) PRIVATE |
| 1181 |
| 1182 EXTN(jconst_idct_red_sse2): |
| 1183 |
| 1184 @@ -113,7 +113,7 @@ |
| 1185 %define WK_NUM»» 2 |
| 1186 |
| 1187 » align» 16 |
| 1188 -» global» EXTN(jsimd_idct_4x4_sse2) |
| 1189 +» global» EXTN(jsimd_idct_4x4_sse2) PRIVATE |
| 1190 |
| 1191 EXTN(jsimd_idct_4x4_sse2): |
| 1192 » push» ebp |
| 1193 @@ -424,7 +424,7 @@ |
| 1194 %define output_col(b)» (b)+20» » ; JDIMENSION output_col |
| 1195 |
| 1196 » align» 16 |
| 1197 -» global» EXTN(jsimd_idct_2x2_sse2) |
| 1198 +» global» EXTN(jsimd_idct_2x2_sse2) PRIVATE |
| 1199 |
| 1200 EXTN(jsimd_idct_2x2_sse2): |
| 1201 » push» ebp |
| 1202 Index: simd/jdmerss2.asm |
| 1203 =================================================================== |
| 1204 --- simd/jdmerss2.asm» (revision 677) |
| 1205 +++ simd/jdmerss2.asm» (working copy) |
| 1206 @@ -35,7 +35,7 @@ |
| 1207 » SECTION»SEG_CONST |
| 1208 |
| 1209 » alignz» 16 |
| 1210 -» global» EXTN(jconst_merged_upsample_sse2) |
| 1211 +» global» EXTN(jconst_merged_upsample_sse2) PRIVATE |
| 1212 |
| 1213 EXTN(jconst_merged_upsample_sse2): |
| 1214 |
| 1215 Index: simd/jfss2fst-64.asm |
| 1216 =================================================================== |
| 1217 --- simd/jfss2fst-64.asm» (revision 677) |
| 1218 +++ simd/jfss2fst-64.asm» (working copy) |
| 1219 @@ -53,7 +53,7 @@ |
| 1220 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) |
| 1221 |
| 1222 » alignz» 16 |
| 1223 -» global» EXTN(jconst_fdct_ifast_sse2) |
| 1224 +» global» EXTN(jconst_fdct_ifast_sse2) PRIVATE |
| 1225 |
| 1226 EXTN(jconst_fdct_ifast_sse2): |
| 1227 |
| 1228 @@ -80,7 +80,7 @@ |
| 1229 %define WK_NUM»» 2 |
| 1230 |
| 1231 » align» 16 |
| 1232 -» global» EXTN(jsimd_fdct_ifast_sse2) |
| 1233 +» global» EXTN(jsimd_fdct_ifast_sse2) PRIVATE |
| 1234 |
| 1235 EXTN(jsimd_fdct_ifast_sse2): |
| 1236 » push» rbp |
| 1237 Index: simd/jcqntmmx.asm |
| 1238 =================================================================== |
| 1239 --- simd/jcqntmmx.asm» (revision 677) |
| 1240 +++ simd/jcqntmmx.asm» (working copy) |
| 1241 @@ -35,7 +35,7 @@ |
| 1242 %define workspace» ebp+16» » ; DCTELEM * workspace |
| 1243 |
| 1244 » align» 16 |
| 1245 -» global» EXTN(jsimd_convsamp_mmx) |
| 1246 +» global» EXTN(jsimd_convsamp_mmx) PRIVATE |
| 1247 |
| 1248 EXTN(jsimd_convsamp_mmx): |
| 1249 » push» ebp |
| 1250 @@ -140,7 +140,7 @@ |
| 1251 %define workspace» ebp+16» » ; DCTELEM * workspace |
| 1252 |
| 1253 » align» 16 |
| 1254 -» global» EXTN(jsimd_quantize_mmx) |
| 1255 +» global» EXTN(jsimd_quantize_mmx) PRIVATE |
| 1256 |
| 1257 EXTN(jsimd_quantize_mmx): |
| 1258 » push» ebp |
| 1259 Index: simd/jimmxfst.asm |
| 1260 =================================================================== |
| 1261 --- simd/jimmxfst.asm» (revision 677) |
| 1262 +++ simd/jimmxfst.asm» (working copy) |
| 1263 @@ -59,7 +59,7 @@ |
| 1264 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) |
| 1265 |
| 1266 » alignz» 16 |
| 1267 -» global» EXTN(jconst_idct_ifast_mmx) |
| 1268 +» global» EXTN(jconst_idct_ifast_mmx) PRIVATE |
| 1269 |
| 1270 EXTN(jconst_idct_ifast_mmx): |
| 1271 |
| 1272 @@ -94,7 +94,7 @@ |
| 1273 » » » » » ; JCOEF workspace[DCTSIZE2] |
| 1274 |
| 1275 » align» 16 |
| 1276 -» global» EXTN(jsimd_idct_ifast_mmx) |
| 1277 +» global» EXTN(jsimd_idct_ifast_mmx) PRIVATE |
| 1278 |
| 1279 EXTN(jsimd_idct_ifast_mmx): |
| 1280 » push» ebp |
| 1281 Index: simd/jfss2fst.asm |
| 1282 =================================================================== |
| 1283 --- simd/jfss2fst.asm» (revision 677) |
| 1284 +++ simd/jfss2fst.asm» (working copy) |
| 1285 @@ -52,7 +52,7 @@ |
| 1286 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) |
| 1287 |
| 1288 » alignz» 16 |
| 1289 -» global» EXTN(jconst_fdct_ifast_sse2) |
| 1290 +» global» EXTN(jconst_fdct_ifast_sse2) PRIVATE |
| 1291 |
| 1292 EXTN(jconst_fdct_ifast_sse2): |
| 1293 |
| 1294 @@ -80,7 +80,7 @@ |
| 1295 %define WK_NUM»» 2 |
| 1296 |
| 1297 » align» 16 |
| 1298 -» global» EXTN(jsimd_fdct_ifast_sse2) |
| 1299 +» global» EXTN(jsimd_fdct_ifast_sse2) PRIVATE |
| 1300 |
| 1301 EXTN(jsimd_fdct_ifast_sse2): |
| 1302 » push» ebp |
| 1303 Index: simd/jcgrammx.asm |
| 1304 =================================================================== |
| 1305 --- simd/jcgrammx.asm» (revision 677) |
| 1306 +++ simd/jcgrammx.asm» (working copy) |
| 1307 @@ -33,7 +33,7 @@ |
| 1308 » SECTION»SEG_CONST |
| 1309 |
| 1310 » alignz» 16 |
| 1311 -» global» EXTN(jconst_rgb_gray_convert_mmx) |
| 1312 +» global» EXTN(jconst_rgb_gray_convert_mmx) PRIVATE |
| 1313 |
| 1314 EXTN(jconst_rgb_gray_convert_mmx): |
| 1315 |
| 1316 Index: simd/jdcolss2-64.asm |
| 1317 =================================================================== |
| 1318 --- simd/jdcolss2-64.asm» (revision 677) |
| 1319 +++ simd/jdcolss2-64.asm» (working copy) |
| 1490 @@ -35,7 +35,7 @@ | 1320 @@ -35,7 +35,7 @@ |
| 1491 SECTION SEG_CONST | 1321 SECTION SEG_CONST |
| 1492 | 1322 |
| 1493 alignz 16 | 1323 alignz 16 |
| 1494 - global EXTN(jconst_ycc_rgb_convert_sse2) | 1324 - global EXTN(jconst_ycc_rgb_convert_sse2) |
| 1495 + global EXTN(jconst_ycc_rgb_convert_sse2) PRIVATE | 1325 + global EXTN(jconst_ycc_rgb_convert_sse2) PRIVATE |
| 1496 | 1326 |
| 1497 EXTN(jconst_ycc_rgb_convert_sse2): | 1327 EXTN(jconst_ycc_rgb_convert_sse2): |
| 1498 | 1328 |
| 1329 Index: simd/jf3dnflt.asm |
| 1330 =================================================================== |
| 1331 --- simd/jf3dnflt.asm (revision 677) |
| 1332 +++ simd/jf3dnflt.asm (working copy) |
| 1333 @@ -27,7 +27,7 @@ |
| 1334 SECTION SEG_CONST |
| 1335 |
| 1336 alignz 16 |
| 1337 - global EXTN(jconst_fdct_float_3dnow) |
| 1338 + global EXTN(jconst_fdct_float_3dnow) PRIVATE |
| 1339 |
| 1340 EXTN(jconst_fdct_float_3dnow): |
| 1341 |
| 1342 @@ -55,7 +55,7 @@ |
| 1343 %define WK_NUM 2 |
| 1344 |
| 1345 align 16 |
| 1346 - global EXTN(jsimd_fdct_float_3dnow) |
| 1347 + global EXTN(jsimd_fdct_float_3dnow) PRIVATE |
| 1348 |
| 1349 EXTN(jsimd_fdct_float_3dnow): |
| 1350 push ebp |
| 1351 Index: simd/jdsamss2-64.asm |
| 1352 =================================================================== |
| 1353 --- simd/jdsamss2-64.asm (revision 677) |
| 1354 +++ simd/jdsamss2-64.asm (working copy) |
| 1355 @@ -23,7 +23,7 @@ |
| 1356 SECTION SEG_CONST |
| 1357 |
| 1358 alignz 16 |
| 1359 - global EXTN(jconst_fancy_upsample_sse2) |
| 1360 + global EXTN(jconst_fancy_upsample_sse2) PRIVATE |
| 1361 |
| 1362 EXTN(jconst_fancy_upsample_sse2): |
| 1363 |
| 1364 @@ -59,7 +59,7 @@ |
| 1365 ; r13 = JSAMPARRAY * output_data_ptr |
| 1366 |
| 1367 align 16 |
| 1368 - global EXTN(jsimd_h2v1_fancy_upsample_sse2) |
| 1369 + global EXTN(jsimd_h2v1_fancy_upsample_sse2) PRIVATE |
| 1370 |
| 1371 EXTN(jsimd_h2v1_fancy_upsample_sse2): |
| 1372 push rbp |
| 1373 @@ -201,7 +201,7 @@ |
| 1374 %define WK_NUM 4 |
| 1375 |
| 1376 align 16 |
| 1377 - global EXTN(jsimd_h2v2_fancy_upsample_sse2) |
| 1378 + global EXTN(jsimd_h2v2_fancy_upsample_sse2) PRIVATE |
| 1379 |
| 1380 EXTN(jsimd_h2v2_fancy_upsample_sse2): |
| 1381 push rbp |
| 1382 @@ -498,7 +498,7 @@ |
| 1383 ; r13 = JSAMPARRAY * output_data_ptr |
| 1384 |
| 1385 align 16 |
| 1386 - global EXTN(jsimd_h2v1_upsample_sse2) |
| 1387 + global EXTN(jsimd_h2v1_upsample_sse2) PRIVATE |
| 1388 |
| 1389 EXTN(jsimd_h2v1_upsample_sse2): |
| 1390 push rbp |
| 1391 @@ -587,7 +587,7 @@ |
| 1392 ; r13 = JSAMPARRAY * output_data_ptr |
| 1393 |
| 1394 align 16 |
| 1395 - global EXTN(jsimd_h2v2_upsample_sse2) |
| 1396 + global EXTN(jsimd_h2v2_upsample_sse2) PRIVATE |
| 1397 |
| 1398 EXTN(jsimd_h2v2_upsample_sse2): |
| 1399 push rbp |
| 1400 Index: simd/jcgrass2.asm |
| 1401 =================================================================== |
| 1402 --- simd/jcgrass2.asm (revision 677) |
| 1403 +++ simd/jcgrass2.asm (working copy) |
| 1404 @@ -30,7 +30,7 @@ |
| 1405 SECTION SEG_CONST |
| 1406 |
| 1407 alignz 16 |
| 1408 - global EXTN(jconst_rgb_gray_convert_sse2) |
| 1409 + global EXTN(jconst_rgb_gray_convert_sse2) PRIVATE |
| 1410 |
| 1411 EXTN(jconst_rgb_gray_convert_sse2): |
| 1412 |
| 1413 Index: simd/jcsammmx.asm |
| 1414 =================================================================== |
| 1415 --- simd/jcsammmx.asm (revision 677) |
| 1416 +++ simd/jcsammmx.asm (working copy) |
| 1417 @@ -40,7 +40,7 @@ |
| 1418 %define output_data(b) (b)+28 ; JSAMPARRAY output_data |
| 1419 |
| 1420 align 16 |
| 1421 - global EXTN(jsimd_h2v1_downsample_mmx) |
| 1422 + global EXTN(jsimd_h2v1_downsample_mmx) PRIVATE |
| 1423 |
| 1424 EXTN(jsimd_h2v1_downsample_mmx): |
| 1425 push ebp |
| 1426 @@ -182,7 +182,7 @@ |
| 1427 %define output_data(b) (b)+28 ; JSAMPARRAY output_data |
| 1428 |
| 1429 align 16 |
| 1430 - global EXTN(jsimd_h2v2_downsample_mmx) |
| 1431 + global EXTN(jsimd_h2v2_downsample_mmx) PRIVATE |
| 1432 |
| 1433 EXTN(jsimd_h2v2_downsample_mmx): |
| 1434 push ebp |
| 1435 Index: simd/jcqnts2f-64.asm |
| 1436 =================================================================== |
| 1437 --- simd/jcqnts2f-64.asm (revision 677) |
| 1438 +++ simd/jcqnts2f-64.asm (working copy) |
| 1439 @@ -36,7 +36,7 @@ |
| 1440 ; r12 = FAST_FLOAT * workspace |
| 1441 |
| 1442 align 16 |
| 1443 - global EXTN(jsimd_convsamp_float_sse2) |
| 1444 + global EXTN(jsimd_convsamp_float_sse2) PRIVATE |
| 1445 |
| 1446 EXTN(jsimd_convsamp_float_sse2): |
| 1447 push rbp |
| 1448 @@ -110,7 +110,7 @@ |
| 1449 ; r12 = FAST_FLOAT * workspace |
| 1450 |
| 1451 align 16 |
| 1452 - global EXTN(jsimd_quantize_float_sse2) |
| 1453 + global EXTN(jsimd_quantize_float_sse2) PRIVATE |
| 1454 |
| 1455 EXTN(jsimd_quantize_float_sse2): |
| 1456 push rbp |
| 1457 Index: simd/jcqnt3dn.asm |
| 1458 =================================================================== |
| 1459 --- simd/jcqnt3dn.asm (revision 677) |
| 1460 +++ simd/jcqnt3dn.asm (working copy) |
| 1461 @@ -35,7 +35,7 @@ |
| 1462 %define workspace ebp+16 ; FAST_FLOAT * workspace |
| 1463 |
| 1464 align 16 |
| 1465 - global EXTN(jsimd_convsamp_float_3dnow) |
| 1466 + global EXTN(jsimd_convsamp_float_3dnow) PRIVATE |
| 1467 |
| 1468 EXTN(jsimd_convsamp_float_3dnow): |
| 1469 push ebp |
| 1470 @@ -138,7 +138,7 @@ |
| 1471 %define workspace ebp+16 ; FAST_FLOAT * workspace |
| 1472 |
| 1473 align 16 |
| 1474 - global EXTN(jsimd_quantize_float_3dnow) |
| 1475 + global EXTN(jsimd_quantize_float_3dnow) PRIVATE |
| 1476 |
| 1477 EXTN(jsimd_quantize_float_3dnow): |
| 1478 push ebp |
| 1479 Index: simd/jcsamss2.asm |
| 1480 =================================================================== |
| 1481 --- simd/jcsamss2.asm (revision 677) |
| 1482 +++ simd/jcsamss2.asm (working copy) |
| 1483 @@ -40,7 +40,7 @@ |
| 1484 %define output_data(b) (b)+28 ; JSAMPARRAY output_data |
| 1485 |
| 1486 align 16 |
| 1487 - global EXTN(jsimd_h2v1_downsample_sse2) |
| 1488 + global EXTN(jsimd_h2v1_downsample_sse2) PRIVATE |
| 1489 |
| 1490 EXTN(jsimd_h2v1_downsample_sse2): |
| 1491 push ebp |
| 1492 @@ -195,7 +195,7 @@ |
| 1493 %define output_data(b) (b)+28 ; JSAMPARRAY output_data |
| 1494 |
| 1495 align 16 |
| 1496 - global EXTN(jsimd_h2v2_downsample_sse2) |
| 1497 + global EXTN(jsimd_h2v2_downsample_sse2) PRIVATE |
| 1498 |
| 1499 EXTN(jsimd_h2v2_downsample_sse2): |
| 1500 push ebp |
| 1501 Index: simd/jimmxint.asm |
| 1502 =================================================================== |
| 1503 --- simd/jimmxint.asm (revision 677) |
| 1504 +++ simd/jimmxint.asm (working copy) |
| 1505 @@ -66,7 +66,7 @@ |
| 1506 SECTION SEG_CONST |
| 1507 |
| 1508 alignz 16 |
| 1509 - global EXTN(jconst_idct_islow_mmx) |
| 1510 + global EXTN(jconst_idct_islow_mmx) PRIVATE |
| 1511 |
| 1512 EXTN(jconst_idct_islow_mmx): |
| 1513 |
| 1514 @@ -107,7 +107,7 @@ |
| 1515 ; JCOEF workspace[DCTSIZE2] |
| 1516 |
| 1517 align 16 |
| 1518 - global EXTN(jsimd_idct_islow_mmx) |
| 1519 + global EXTN(jsimd_idct_islow_mmx) PRIVATE |
| 1520 |
| 1521 EXTN(jsimd_idct_islow_mmx): |
| 1522 push ebp |
| 1523 Index: simd/jcgrymmx.asm |
| 1524 =================================================================== |
| 1525 --- simd/jcgrymmx.asm (revision 677) |
| 1526 +++ simd/jcgrymmx.asm (working copy) |
| 1527 @@ -41,7 +41,7 @@ |
| 1528 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr |
| 1529 |
| 1530 align 16 |
| 1531 - global EXTN(jsimd_rgb_gray_convert_mmx) |
| 1532 + global EXTN(jsimd_rgb_gray_convert_mmx) PRIVATE |
| 1533 |
| 1534 EXTN(jsimd_rgb_gray_convert_mmx): |
| 1535 push ebp |
| 1536 Index: simd/jfss2int.asm |
| 1537 =================================================================== |
| 1538 --- simd/jfss2int.asm (revision 677) |
| 1539 +++ simd/jfss2int.asm (working copy) |
| 1540 @@ -66,7 +66,7 @@ |
| 1541 SECTION SEG_CONST |
| 1542 |
| 1543 alignz 16 |
| 1544 - global EXTN(jconst_fdct_islow_sse2) |
| 1545 + global EXTN(jconst_fdct_islow_sse2) PRIVATE |
| 1546 |
| 1547 EXTN(jconst_fdct_islow_sse2): |
| 1548 |
| 1549 @@ -101,7 +101,7 @@ |
| 1550 %define WK_NUM 6 |
| 1551 |
| 1552 align 16 |
| 1553 - global EXTN(jsimd_fdct_islow_sse2) |
| 1554 + global EXTN(jsimd_fdct_islow_sse2) PRIVATE |
| 1555 |
| 1556 EXTN(jsimd_fdct_islow_sse2): |
| 1557 push ebp |
| 1558 Index: simd/jcgryss2.asm |
| 1559 =================================================================== |
| 1560 --- simd/jcgryss2.asm (revision 677) |
| 1561 +++ simd/jcgryss2.asm (working copy) |
| 1562 @@ -39,7 +39,7 @@ |
| 1563 |
| 1564 align 16 |
| 1565 |
| 1566 - global EXTN(jsimd_rgb_gray_convert_sse2) |
| 1567 + global EXTN(jsimd_rgb_gray_convert_sse2) PRIVATE |
| 1568 |
| 1569 EXTN(jsimd_rgb_gray_convert_sse2): |
| 1570 push ebp |
| 1571 Index: simd/jccolmmx.asm |
| 1572 =================================================================== |
| 1573 --- simd/jccolmmx.asm (revision 677) |
| 1574 +++ simd/jccolmmx.asm (working copy) |
| 1575 @@ -37,7 +37,7 @@ |
| 1576 SECTION SEG_CONST |
| 1577 |
| 1578 alignz 16 |
| 1579 - global EXTN(jconst_rgb_ycc_convert_mmx) |
| 1580 + global EXTN(jconst_rgb_ycc_convert_mmx) PRIVATE |
| 1581 |
| 1582 EXTN(jconst_rgb_ycc_convert_mmx): |
| 1583 |
| 1584 Index: simd/jimmxred.asm |
| 1585 =================================================================== |
| 1586 --- simd/jimmxred.asm (revision 677) |
| 1587 +++ simd/jimmxred.asm (working copy) |
| 1588 @@ -72,7 +72,7 @@ |
| 1589 SECTION SEG_CONST |
| 1590 |
| 1591 alignz 16 |
| 1592 - global EXTN(jconst_idct_red_mmx) |
| 1593 + global EXTN(jconst_idct_red_mmx) PRIVATE |
| 1594 |
| 1595 EXTN(jconst_idct_red_mmx): |
| 1596 |
| 1597 @@ -115,7 +115,7 @@ |
| 1598 ; JCOEF workspace[DCTSIZE2] |
| 1599 |
| 1600 align 16 |
| 1601 - global EXTN(jsimd_idct_4x4_mmx) |
| 1602 + global EXTN(jsimd_idct_4x4_mmx) PRIVATE |
| 1603 |
| 1604 EXTN(jsimd_idct_4x4_mmx): |
| 1605 push ebp |
| 1606 @@ -503,7 +503,7 @@ |
| 1607 %define output_col(b) (b)+20 ; JDIMENSION output_col |
| 1608 |
| 1609 align 16 |
| 1610 - global EXTN(jsimd_idct_2x2_mmx) |
| 1611 + global EXTN(jsimd_idct_2x2_mmx) PRIVATE |
| 1612 |
| 1613 EXTN(jsimd_idct_2x2_mmx): |
| 1614 push ebp |
| 1615 Index: simd/jsimdext.inc |
| 1616 =================================================================== |
| 1617 --- simd/jsimdext.inc (revision 677) |
| 1618 +++ simd/jsimdext.inc (working copy) |
| 1619 @@ -373,4 +373,14 @@ |
| 1620 ; |
| 1621 %include "jsimdcfg.inc" |
| 1622 |
| 1623 +; Begin chromium edits |
| 1624 +%ifdef MACHO ; ----(nasm -fmacho -DMACHO ...)-------- |
| 1625 +%define PRIVATE :private_extern |
| 1626 +%elifdef ELF ; ----(nasm -felf[64] -DELF ...)------------ |
| 1627 +%define PRIVATE :hidden |
| 1628 +%else |
| 1629 +%define PRIVATE |
| 1630 +%endif |
| 1631 +; End chromium edits |
| 1632 + |
| 1633 ; -------------------------------------------------------------------------- |
| 1634 Index: simd/jdclrmmx.asm |
| 1635 =================================================================== |
| 1636 --- simd/jdclrmmx.asm (revision 677) |
| 1637 +++ simd/jdclrmmx.asm (working copy) |
| 1638 @@ -40,7 +40,7 @@ |
| 1639 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr |
| 1640 |
| 1641 align 16 |
| 1642 - global EXTN(jsimd_ycc_rgb_convert_mmx) |
| 1643 + global EXTN(jsimd_ycc_rgb_convert_mmx) PRIVATE |
| 1644 |
| 1645 EXTN(jsimd_ycc_rgb_convert_mmx): |
| 1646 push ebp |
| 1647 Index: simd/jccolss2.asm |
| 1648 =================================================================== |
| 1649 --- simd/jccolss2.asm (revision 677) |
| 1650 +++ simd/jccolss2.asm (working copy) |
| 1651 @@ -34,7 +34,7 @@ |
| 1652 SECTION SEG_CONST |
| 1653 |
| 1654 alignz 16 |
| 1655 - global EXTN(jconst_rgb_ycc_convert_sse2) |
| 1656 + global EXTN(jconst_rgb_ycc_convert_sse2) PRIVATE |
| 1657 |
| 1658 EXTN(jconst_rgb_ycc_convert_sse2): |
| 1659 |
| 1499 Index: simd/jisseflt.asm | 1660 Index: simd/jisseflt.asm |
| 1500 =================================================================== | 1661 =================================================================== |
| 1501 --- simd/jisseflt.asm» (revision 64575) | 1662 --- simd/jisseflt.asm» (revision 677) |
| 1502 +++ simd/jisseflt.asm (working copy) | 1663 +++ simd/jisseflt.asm (working copy) |
| 1503 @@ -37,7 +37,7 @@ | 1664 @@ -37,7 +37,7 @@ |
| 1504 SECTION SEG_CONST | 1665 SECTION SEG_CONST |
| 1505 | 1666 |
| 1506 alignz 16 | 1667 alignz 16 |
| 1507 - global EXTN(jconst_idct_float_sse) | 1668 - global EXTN(jconst_idct_float_sse) |
| 1508 + global EXTN(jconst_idct_float_sse) PRIVATE | 1669 + global EXTN(jconst_idct_float_sse) PRIVATE |
| 1509 | 1670 |
| 1510 EXTN(jconst_idct_float_sse): | 1671 EXTN(jconst_idct_float_sse): |
| 1511 | 1672 |
| 1512 @@ -73,7 +73,7 @@ | 1673 @@ -73,7 +73,7 @@ |
| 1513 ; FAST_FLOAT workspace[DCTSIZE2] | 1674 ; FAST_FLOAT workspace[DCTSIZE2] |
| 1514 | 1675 |
| 1515 align 16 | 1676 align 16 |
| 1516 - global EXTN(jsimd_idct_float_sse) | 1677 - global EXTN(jsimd_idct_float_sse) |
| 1517 + global EXTN(jsimd_idct_float_sse) PRIVATE | 1678 + global EXTN(jsimd_idct_float_sse) PRIVATE |
| 1518 | 1679 |
| 1519 EXTN(jsimd_idct_float_sse): | 1680 EXTN(jsimd_idct_float_sse): |
| 1520 push ebp | 1681 push ebp |
| 1521 Index: simd/jcqnts2i-64.asm | 1682 Index: simd/jcqnts2i-64.asm |
| 1522 =================================================================== | 1683 =================================================================== |
| 1523 --- simd/jcqnts2i-64.asm» (revision 64575) | 1684 --- simd/jcqnts2i-64.asm» (revision 677) |
| 1524 +++ simd/jcqnts2i-64.asm (working copy) | 1685 +++ simd/jcqnts2i-64.asm (working copy) |
| 1525 @@ -36,7 +36,7 @@ | 1686 @@ -36,7 +36,7 @@ |
| 1526 ; r12 = DCTELEM * workspace | 1687 ; r12 = DCTELEM * workspace |
| 1527 | 1688 |
| 1528 align 16 | 1689 align 16 |
| 1529 - global EXTN(jsimd_convsamp_sse2) | 1690 - global EXTN(jsimd_convsamp_sse2) |
| 1530 + global EXTN(jsimd_convsamp_sse2) PRIVATE | 1691 + global EXTN(jsimd_convsamp_sse2) PRIVATE |
| 1531 | 1692 |
| 1532 EXTN(jsimd_convsamp_sse2): | 1693 EXTN(jsimd_convsamp_sse2): |
| 1533 push rbp | 1694 push rbp |
| 1534 @@ -112,7 +112,7 @@ | 1695 @@ -112,7 +112,7 @@ |
| 1535 ; r12 = DCTELEM * workspace | 1696 ; r12 = DCTELEM * workspace |
| 1536 | 1697 |
| 1537 align 16 | 1698 align 16 |
| 1538 - global EXTN(jsimd_quantize_sse2) | 1699 - global EXTN(jsimd_quantize_sse2) |
| 1539 + global EXTN(jsimd_quantize_sse2) PRIVATE | 1700 + global EXTN(jsimd_quantize_sse2) PRIVATE |
| 1540 | 1701 |
| 1541 EXTN(jsimd_quantize_sse2): | 1702 EXTN(jsimd_quantize_sse2): |
| 1542 push rbp | 1703 push rbp |
| 1543 Index: simd/jcclrss2.asm | |
| 1544 =================================================================== | |
| 1545 --- simd/jcclrss2.asm (revision 64575) | |
| 1546 +++ simd/jcclrss2.asm (working copy) | |
| 1547 @@ -16,8 +16,12 @@ | |
| 1548 %include "jcolsamp.inc" | |
| 1549 | |
| 1550 ; -------------------------------------------------------------------------- | |
| 1551 +%ifndef NEED_SECTION | |
| 1552 +%define NEED_SECTION | |
| 1553 SECTION SEG_TEXT | |
| 1554 BITS 32 | |
| 1555 +%endif | |
| 1556 + | |
| 1557 ; | |
| 1558 ; Convert some rows of samples to the output colorspace. | |
| 1559 ; | |
| 1560 @@ -40,7 +44,7 @@ | |
| 1561 | |
| 1562 align 16 | |
| 1563 | |
| 1564 - global EXTN(jsimd_rgb_ycc_convert_sse2) | |
| 1565 + global EXTN(jsimd_rgb_ycc_convert_sse2) PRIVATE | |
| 1566 | |
| 1567 EXTN(jsimd_rgb_ycc_convert_sse2): | |
| 1568 push ebp | |
| 1569 Index: simd/jiss2red.asm | |
| 1570 =================================================================== | |
| 1571 --- simd/jiss2red.asm (revision 64575) | |
| 1572 +++ simd/jiss2red.asm (working copy) | |
| 1573 @@ -72,7 +72,7 @@ | |
| 1574 SECTION SEG_CONST | |
| 1575 | |
| 1576 alignz 16 | |
| 1577 - global EXTN(jconst_idct_red_sse2) | |
| 1578 + global EXTN(jconst_idct_red_sse2) PRIVATE | |
| 1579 | |
| 1580 EXTN(jconst_idct_red_sse2): | |
| 1581 | |
| 1582 @@ -113,7 +113,7 @@ | |
| 1583 %define WK_NUM 2 | |
| 1584 | |
| 1585 align 16 | |
| 1586 - global EXTN(jsimd_idct_4x4_sse2) | |
| 1587 + global EXTN(jsimd_idct_4x4_sse2) PRIVATE | |
| 1588 | |
| 1589 EXTN(jsimd_idct_4x4_sse2): | |
| 1590 push ebp | |
| 1591 @@ -424,7 +424,7 @@ | |
| 1592 %define output_col(b) (b)+20 ; JDIMENSION output_col | |
| 1593 | |
| 1594 align 16 | |
| 1595 - global EXTN(jsimd_idct_2x2_sse2) | |
| 1596 + global EXTN(jsimd_idct_2x2_sse2) PRIVATE | |
| 1597 | |
| 1598 EXTN(jsimd_idct_2x2_sse2): | |
| 1599 push ebp | |
| 1600 Index: simd/jdclrss2.asm | 1704 Index: simd/jdclrss2.asm |
| 1601 =================================================================== | 1705 =================================================================== |
| 1602 --- simd/jdclrss2.asm» (revision 64575) | 1706 --- simd/jdclrss2.asm» (revision 677) |
| 1603 +++ simd/jdclrss2.asm (working copy) | 1707 +++ simd/jdclrss2.asm (working copy) |
| 1604 @@ -19,8 +19,12 @@ | 1708 @@ -40,7 +40,7 @@ |
| 1605 %include "jcolsamp.inc" | |
| 1606 » » » » | |
| 1607 ; -------------------------------------------------------------------------- | |
| 1608 +%ifndef NEED_SECTION | |
| 1609 +%define NEED_SECTION | |
| 1610 » SECTION»SEG_TEXT | |
| 1611 » BITS» 32 | |
| 1612 +%endif | |
| 1613 + | |
| 1614 ; | |
| 1615 ; Convert some rows of samples to the output colorspace. | |
| 1616 ; | |
| 1617 @@ -42,7 +46,7 @@ | |
| 1618 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr | 1709 %define gotptr wk(0)-SIZEOF_POINTER ; void * gotptr |
| 1619 | 1710 |
| 1620 align 16 | 1711 align 16 |
| 1621 - global EXTN(jsimd_ycc_rgb_convert_sse2) | 1712 - global EXTN(jsimd_ycc_rgb_convert_sse2) |
| 1622 + global EXTN(jsimd_ycc_rgb_convert_sse2) PRIVATE | 1713 + global EXTN(jsimd_ycc_rgb_convert_sse2) PRIVATE |
| 1623 | 1714 |
| 1624 EXTN(jsimd_ycc_rgb_convert_sse2): | 1715 EXTN(jsimd_ycc_rgb_convert_sse2): |
| 1625 push ebp | 1716 push ebp |
| 1626 @@ -304,6 +308,41 @@ | 1717 @@ -302,6 +302,41 @@ |
| 1627 movdqa xmmA,xmmD | 1718 movdqa xmmA,xmmD |
| 1628 sub ecx, byte SIZEOF_XMMWORD | 1719 sub ecx, byte SIZEOF_XMMWORD |
| 1629 .column_st15: | 1720 .column_st15: |
| 1630 +%ifdef STRICT_MEMORY_ACCESS | 1721 +%ifdef STRICT_MEMORY_ACCESS |
| 1631 + ; Store the lower 8 bytes of xmmA to the output when it has enough | 1722 + ; Store the lower 8 bytes of xmmA to the output when it has enough |
| 1632 + ; space. | 1723 + ; space. |
| 1633 + cmp ecx, byte SIZEOF_MMWORD | 1724 + cmp ecx, byte SIZEOF_MMWORD |
| 1634 + jb short .column_st7 | 1725 + jb short .column_st7 |
| 1635 + movq MMWORD [edi], xmmA | 1726 + movq MMWORD [edi], xmmA |
| 1636 + add edi, byte SIZEOF_MMWORD | 1727 + add edi, byte SIZEOF_MMWORD |
| (...skipping 21 matching lines...) Expand all Loading... |
| 1658 +.column_st1: | 1749 +.column_st1: |
| 1659 + ; Store the lower 1 byte of eax to the output when it has enough | 1750 + ; Store the lower 1 byte of eax to the output when it has enough |
| 1660 + ; space. | 1751 + ; space. |
| 1661 + test ecx, ecx | 1752 + test ecx, ecx |
| 1662 + jz short .nextrow | 1753 + jz short .nextrow |
| 1663 + mov BYTE [edi], al | 1754 + mov BYTE [edi], al |
| 1664 +%else | 1755 +%else |
| 1665 mov eax,ecx | 1756 mov eax,ecx |
| 1666 xor ecx, byte 0x0F | 1757 xor ecx, byte 0x0F |
| 1667 shl ecx, 2 | 1758 shl ecx, 2 |
| 1668 @@ -343,6 +382,7 @@ | 1759 @@ -341,6 +376,7 @@ |
| 1669 por xmmE,xmmC | 1760 por xmmE,xmmC |
| 1670 .adj0: ; ---------------- | 1761 .adj0: ; ---------------- |
| 1671 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA | 1762 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA |
| 1672 +%endif ; STRICT_MEMORY_ACCESS ; --------------- | 1763 +%endif ; STRICT_MEMORY_ACCESS ; --------------- |
| 1673 | 1764 |
| 1674 %else ; RGB_PIXELSIZE == 4 ; ----------- | 1765 %else ; RGB_PIXELSIZE == 4 ; ----------- |
| 1675 | 1766 |
| 1676 @@ -428,6 +468,22 @@ | 1767 @@ -426,6 +462,22 @@ |
| 1677 movdqa xmmA,xmmD | 1768 movdqa xmmA,xmmD |
| 1678 sub ecx, byte SIZEOF_XMMWORD/4 | 1769 sub ecx, byte SIZEOF_XMMWORD/4 |
| 1679 .column_st15: | 1770 .column_st15: |
| 1680 +%ifdef STRICT_MEMORY_ACCESS | 1771 +%ifdef STRICT_MEMORY_ACCESS |
| 1681 + ; Store two pixels (8 bytes) of xmmA to the output when it has enough | 1772 + ; Store two pixels (8 bytes) of xmmA to the output when it has enough |
| 1682 + ; space. | 1773 + ; space. |
| 1683 + cmp ecx, byte SIZEOF_XMMWORD/8 | 1774 + cmp ecx, byte SIZEOF_XMMWORD/8 |
| 1684 + jb short .column_st7 | 1775 + jb short .column_st7 |
| 1685 + movq MMWORD [edi], xmmA | 1776 + movq MMWORD [edi], xmmA |
| 1686 + add edi, byte SIZEOF_XMMWORD/8*4 | 1777 + add edi, byte SIZEOF_XMMWORD/8*4 |
| 1687 + sub ecx, byte SIZEOF_XMMWORD/8 | 1778 + sub ecx, byte SIZEOF_XMMWORD/8 |
| 1688 + psrldq xmmA, SIZEOF_XMMWORD/8*4 | 1779 + psrldq xmmA, SIZEOF_XMMWORD/8*4 |
| 1689 +.column_st7: | 1780 +.column_st7: |
| 1690 + ; Store one pixel (4 bytes) of xmmA to the output when it has enough | 1781 + ; Store one pixel (4 bytes) of xmmA to the output when it has enough |
| 1691 + ; space. | 1782 + ; space. |
| 1692 + test ecx, ecx | 1783 + test ecx, ecx |
| 1693 + jz short .nextrow | 1784 + jz short .nextrow |
| 1694 + movd DWORD [edi], xmmA | 1785 + movd DWORD [edi], xmmA |
| 1695 +%else | 1786 +%else |
| 1696 cmp ecx, byte SIZEOF_XMMWORD/16 | 1787 cmp ecx, byte SIZEOF_XMMWORD/16 |
| 1697 jb short .nextrow | 1788 jb short .nextrow |
| 1698 mov eax,ecx | 1789 mov eax,ecx |
| 1699 @@ -467,6 +523,7 @@ | 1790 @@ -465,6 +517,7 @@ |
| 1700 por xmmE,xmmG | 1791 por xmmE,xmmG |
| 1701 .adj0: ; ---------------- | 1792 .adj0: ; ---------------- |
| 1702 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA | 1793 maskmovdqu xmmA,xmmE ; movntdqu XMMWORD [edi], xmmA |
| 1703 +%endif ; STRICT_MEMORY_ACCESS ; --------------- | 1794 +%endif ; STRICT_MEMORY_ACCESS ; --------------- |
| 1704 | 1795 |
| 1705 %endif ; RGB_PIXELSIZE ; --------------- | 1796 %endif ; RGB_PIXELSIZE ; --------------- |
| 1706 | 1797 |
| 1707 Index: simd/jdmerss2.asm | |
| 1708 =================================================================== | |
| 1709 --- simd/jdmerss2.asm (revision 64575) | |
| 1710 +++ simd/jdmerss2.asm (working copy) | |
| 1711 @@ -35,7 +35,7 @@ | |
| 1712 SECTION SEG_CONST | |
| 1713 | |
| 1714 alignz 16 | |
| 1715 - global EXTN(jconst_merged_upsample_sse2) | |
| 1716 + global EXTN(jconst_merged_upsample_sse2) PRIVATE | |
| 1717 | |
| 1718 EXTN(jconst_merged_upsample_sse2): | |
| 1719 | |
| 1720 Index: simd/jcqntsse.asm | 1798 Index: simd/jcqntsse.asm |
| 1721 =================================================================== | 1799 =================================================================== |
| 1722 --- simd/jcqntsse.asm» (revision 64575) | 1800 --- simd/jcqntsse.asm» (revision 677) |
| 1723 +++ simd/jcqntsse.asm (working copy) | 1801 +++ simd/jcqntsse.asm (working copy) |
| 1724 @@ -35,7 +35,7 @@ | 1802 @@ -35,7 +35,7 @@ |
| 1725 %define workspace ebp+16 ; FAST_FLOAT * workspace | 1803 %define workspace ebp+16 ; FAST_FLOAT * workspace |
| 1726 | 1804 |
| 1727 align 16 | 1805 align 16 |
| 1728 - global EXTN(jsimd_convsamp_float_sse) | 1806 - global EXTN(jsimd_convsamp_float_sse) |
| 1729 + global EXTN(jsimd_convsamp_float_sse) PRIVATE | 1807 + global EXTN(jsimd_convsamp_float_sse) PRIVATE |
| 1730 | 1808 |
| 1731 EXTN(jsimd_convsamp_float_sse): | 1809 EXTN(jsimd_convsamp_float_sse): |
| 1732 push ebp | 1810 push ebp |
| 1733 @@ -138,7 +138,7 @@ | 1811 @@ -138,7 +138,7 @@ |
| 1734 %define workspace ebp+16 ; FAST_FLOAT * workspace | 1812 %define workspace ebp+16 ; FAST_FLOAT * workspace |
| 1735 | 1813 |
| 1736 align 16 | 1814 align 16 |
| 1737 - global EXTN(jsimd_quantize_float_sse) | 1815 - global EXTN(jsimd_quantize_float_sse) |
| 1738 + global EXTN(jsimd_quantize_float_sse) PRIVATE | 1816 + global EXTN(jsimd_quantize_float_sse) PRIVATE |
| 1739 | 1817 |
| 1740 EXTN(jsimd_quantize_float_sse): | 1818 EXTN(jsimd_quantize_float_sse): |
| 1741 push ebp | 1819 push ebp |
| 1742 Index: simd/jfss2fst-64.asm | |
| 1743 =================================================================== | |
| 1744 --- simd/jfss2fst-64.asm (revision 64575) | |
| 1745 +++ simd/jfss2fst-64.asm (working copy) | |
| 1746 @@ -53,7 +53,7 @@ | |
| 1747 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) | |
| 1748 | |
| 1749 alignz 16 | |
| 1750 - global EXTN(jconst_fdct_ifast_sse2) | |
| 1751 + global EXTN(jconst_fdct_ifast_sse2) PRIVATE | |
| 1752 | |
| 1753 EXTN(jconst_fdct_ifast_sse2): | |
| 1754 | |
| 1755 @@ -80,7 +80,7 @@ | |
| 1756 %define WK_NUM 2 | |
| 1757 | |
| 1758 align 16 | |
| 1759 - global EXTN(jsimd_fdct_ifast_sse2) | |
| 1760 + global EXTN(jsimd_fdct_ifast_sse2) PRIVATE | |
| 1761 | |
| 1762 EXTN(jsimd_fdct_ifast_sse2): | |
| 1763 push rbp | |
| 1764 Index: simd/jiss2int-64.asm | 1820 Index: simd/jiss2int-64.asm |
| 1765 =================================================================== | 1821 =================================================================== |
| 1766 --- simd/jiss2int-64.asm» (revision 64575) | 1822 --- simd/jiss2int-64.asm» (revision 677) |
| 1767 +++ simd/jiss2int-64.asm (working copy) | 1823 +++ simd/jiss2int-64.asm (working copy) |
| 1768 @@ -67,7 +67,7 @@ | 1824 @@ -67,7 +67,7 @@ |
| 1769 SECTION SEG_CONST | 1825 SECTION SEG_CONST |
| 1770 | 1826 |
| 1771 alignz 16 | 1827 alignz 16 |
| 1772 - global EXTN(jconst_idct_islow_sse2) | 1828 - global EXTN(jconst_idct_islow_sse2) |
| 1773 + global EXTN(jconst_idct_islow_sse2) PRIVATE | 1829 + global EXTN(jconst_idct_islow_sse2) PRIVATE |
| 1774 | 1830 |
| 1775 EXTN(jconst_idct_islow_sse2): | 1831 EXTN(jconst_idct_islow_sse2): |
| 1776 | 1832 |
| 1777 @@ -106,7 +106,7 @@ | 1833 @@ -106,7 +106,7 @@ |
| 1778 %define WK_NUM 12 | 1834 %define WK_NUM 12 |
| 1779 | 1835 |
| 1780 align 16 | 1836 align 16 |
| 1781 - global EXTN(jsimd_idct_islow_sse2) | 1837 - global EXTN(jsimd_idct_islow_sse2) |
| 1782 + global EXTN(jsimd_idct_islow_sse2) PRIVATE | 1838 + global EXTN(jsimd_idct_islow_sse2) PRIVATE |
| 1783 | 1839 |
| 1784 EXTN(jsimd_idct_islow_sse2): | 1840 EXTN(jsimd_idct_islow_sse2): |
| 1785 push rbp | 1841 push rbp |
| 1786 Index: simd/jfmmxfst.asm | 1842 Index: simd/jfmmxfst.asm |
| 1787 =================================================================== | 1843 =================================================================== |
| 1788 --- simd/jfmmxfst.asm» (revision 64575) | 1844 --- simd/jfmmxfst.asm» (revision 677) |
| 1789 +++ simd/jfmmxfst.asm (working copy) | 1845 +++ simd/jfmmxfst.asm (working copy) |
| 1790 @@ -52,7 +52,7 @@ | 1846 @@ -52,7 +52,7 @@ |
| 1791 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) | 1847 %define CONST_SHIFT (16 - PRE_MULTIPLY_SCALE_BITS - CONST_BITS) |
| 1792 | 1848 |
| 1793 alignz 16 | 1849 alignz 16 |
| 1794 - global EXTN(jconst_fdct_ifast_mmx) | 1850 - global EXTN(jconst_fdct_ifast_mmx) |
| 1795 + global EXTN(jconst_fdct_ifast_mmx) PRIVATE | 1851 + global EXTN(jconst_fdct_ifast_mmx) PRIVATE |
| 1796 | 1852 |
| 1797 EXTN(jconst_fdct_ifast_mmx): | 1853 EXTN(jconst_fdct_ifast_mmx): |
| 1798 | 1854 |
| 1799 @@ -80,7 +80,7 @@ | 1855 @@ -80,7 +80,7 @@ |
| 1800 %define WK_NUM 2 | 1856 %define WK_NUM 2 |
| 1801 | 1857 |
| 1802 align 16 | 1858 align 16 |
| 1803 - global EXTN(jsimd_fdct_ifast_mmx) | 1859 - global EXTN(jsimd_fdct_ifast_mmx) |
| 1804 + global EXTN(jsimd_fdct_ifast_mmx) PRIVATE | 1860 + global EXTN(jsimd_fdct_ifast_mmx) PRIVATE |
| 1805 | 1861 |
| 1806 EXTN(jsimd_fdct_ifast_mmx): | 1862 EXTN(jsimd_fdct_ifast_mmx): |
| 1807 push ebp | 1863 push ebp |
| OLD | NEW |