Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
michael@0 | 1 | /* |
michael@0 | 2 | * jsimddct.h |
michael@0 | 3 | * |
michael@0 | 4 | * Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB |
michael@0 | 5 | * |
michael@0 | 6 | * Based on the x86 SIMD extension for IJG JPEG library, |
michael@0 | 7 | * Copyright (C) 1999-2006, MIYASAKA Masaru. |
michael@0 | 8 | * For conditions of distribution and use, see copyright notice in jsimdext.inc |
michael@0 | 9 | * |
michael@0 | 10 | */ |
michael@0 | 11 | |
michael@0 | 12 | /* Short forms of external names for systems with brain-damaged linkers. */ |
michael@0 | 13 | |
michael@0 | 14 | #ifdef NEED_SHORT_EXTERNAL_NAMES |
michael@0 | 15 | #define jsimd_can_convsamp jSCanConv |
michael@0 | 16 | #define jsimd_can_convsamp_float jSCanConvF |
michael@0 | 17 | #define jsimd_convsamp jSConv |
michael@0 | 18 | #define jsimd_convsamp_float jSConvF |
michael@0 | 19 | #define jsimd_can_fdct_islow jSCanFDCTIS |
michael@0 | 20 | #define jsimd_can_fdct_ifast jSCanFDCTIF |
michael@0 | 21 | #define jsimd_can_fdct_float jSCanFDCTFl |
michael@0 | 22 | #define jsimd_fdct_islow jSFDCTIS |
michael@0 | 23 | #define jsimd_fdct_ifast jSFDCTIF |
michael@0 | 24 | #define jsimd_fdct_float jSFDCTFl |
michael@0 | 25 | #define jsimd_can_quantize jSCanQuant |
michael@0 | 26 | #define jsimd_can_quantize_float jSCanQuantF |
michael@0 | 27 | #define jsimd_quantize jSQuant |
michael@0 | 28 | #define jsimd_quantize_float jSQuantF |
michael@0 | 29 | #define jsimd_can_idct_2x2 jSCanIDCT22 |
michael@0 | 30 | #define jsimd_can_idct_4x4 jSCanIDCT44 |
michael@0 | 31 | #define jsimd_idct_2x2 jSIDCT22 |
michael@0 | 32 | #define jsimd_idct_4x4 jSIDCT44 |
michael@0 | 33 | #define jsimd_can_idct_islow jSCanIDCTIS |
michael@0 | 34 | #define jsimd_can_idct_ifast jSCanIDCTIF |
michael@0 | 35 | #define jsimd_can_idct_float jSCanIDCTFl |
michael@0 | 36 | #define jsimd_idct_islow jSIDCTIS |
michael@0 | 37 | #define jsimd_idct_ifast jSIDCTIF |
michael@0 | 38 | #define jsimd_idct_float jSIDCTFl |
michael@0 | 39 | #endif /* NEED_SHORT_EXTERNAL_NAMES */ |
michael@0 | 40 | |
michael@0 | 41 | EXTERN(int) jsimd_can_convsamp JPP((void)); |
michael@0 | 42 | EXTERN(int) jsimd_can_convsamp_float JPP((void)); |
michael@0 | 43 | |
michael@0 | 44 | EXTERN(void) jsimd_convsamp JPP((JSAMPARRAY sample_data, |
michael@0 | 45 | JDIMENSION start_col, |
michael@0 | 46 | DCTELEM * workspace)); |
michael@0 | 47 | EXTERN(void) jsimd_convsamp_float JPP((JSAMPARRAY sample_data, |
michael@0 | 48 | JDIMENSION start_col, |
michael@0 | 49 | FAST_FLOAT * workspace)); |
michael@0 | 50 | |
michael@0 | 51 | EXTERN(int) jsimd_can_fdct_islow JPP((void)); |
michael@0 | 52 | EXTERN(int) jsimd_can_fdct_ifast JPP((void)); |
michael@0 | 53 | EXTERN(int) jsimd_can_fdct_float JPP((void)); |
michael@0 | 54 | |
michael@0 | 55 | EXTERN(void) jsimd_fdct_islow JPP((DCTELEM * data)); |
michael@0 | 56 | EXTERN(void) jsimd_fdct_ifast JPP((DCTELEM * data)); |
michael@0 | 57 | EXTERN(void) jsimd_fdct_float JPP((FAST_FLOAT * data)); |
michael@0 | 58 | |
michael@0 | 59 | EXTERN(int) jsimd_can_quantize JPP((void)); |
michael@0 | 60 | EXTERN(int) jsimd_can_quantize_float JPP((void)); |
michael@0 | 61 | |
michael@0 | 62 | EXTERN(void) jsimd_quantize JPP((JCOEFPTR coef_block, |
michael@0 | 63 | DCTELEM * divisors, |
michael@0 | 64 | DCTELEM * workspace)); |
michael@0 | 65 | EXTERN(void) jsimd_quantize_float JPP((JCOEFPTR coef_block, |
michael@0 | 66 | FAST_FLOAT * divisors, |
michael@0 | 67 | FAST_FLOAT * workspace)); |
michael@0 | 68 | |
michael@0 | 69 | EXTERN(int) jsimd_can_idct_2x2 JPP((void)); |
michael@0 | 70 | EXTERN(int) jsimd_can_idct_4x4 JPP((void)); |
michael@0 | 71 | |
michael@0 | 72 | EXTERN(void) jsimd_idct_2x2 JPP((j_decompress_ptr cinfo, |
michael@0 | 73 | jpeg_component_info * compptr, |
michael@0 | 74 | JCOEFPTR coef_block, |
michael@0 | 75 | JSAMPARRAY output_buf, |
michael@0 | 76 | JDIMENSION output_col)); |
michael@0 | 77 | EXTERN(void) jsimd_idct_4x4 JPP((j_decompress_ptr cinfo, |
michael@0 | 78 | jpeg_component_info * compptr, |
michael@0 | 79 | JCOEFPTR coef_block, |
michael@0 | 80 | JSAMPARRAY output_buf, |
michael@0 | 81 | JDIMENSION output_col)); |
michael@0 | 82 | |
michael@0 | 83 | EXTERN(int) jsimd_can_idct_islow JPP((void)); |
michael@0 | 84 | EXTERN(int) jsimd_can_idct_ifast JPP((void)); |
michael@0 | 85 | EXTERN(int) jsimd_can_idct_float JPP((void)); |
michael@0 | 86 | |
michael@0 | 87 | EXTERN(void) jsimd_idct_islow JPP((j_decompress_ptr cinfo, |
michael@0 | 88 | jpeg_component_info * compptr, |
michael@0 | 89 | JCOEFPTR coef_block, |
michael@0 | 90 | JSAMPARRAY output_buf, |
michael@0 | 91 | JDIMENSION output_col)); |
michael@0 | 92 | EXTERN(void) jsimd_idct_ifast JPP((j_decompress_ptr cinfo, |
michael@0 | 93 | jpeg_component_info * compptr, |
michael@0 | 94 | JCOEFPTR coef_block, |
michael@0 | 95 | JSAMPARRAY output_buf, |
michael@0 | 96 | JDIMENSION output_col)); |
michael@0 | 97 | EXTERN(void) jsimd_idct_float JPP((j_decompress_ptr cinfo, |
michael@0 | 98 | jpeg_component_info * compptr, |
michael@0 | 99 | JCOEFPTR coef_block, |
michael@0 | 100 | JSAMPARRAY output_buf, |
michael@0 | 101 | JDIMENSION output_col)); |
michael@0 | 102 |