PageRenderTime 42ms CodeModel.GetById 4ms app.highlight 32ms RepoModel.GetById 1ms app.codeStats 0ms

/media/libjpeg/simd/jsimdcfg.inc.h

http://github.com/zpao/v8monkey
C Header | 168 lines | 138 code | 25 blank | 5 comment | 2 complexity | 540b145da75e772964ac562303fa36ce MD5 | raw file
  1// This file generates the include file for the assembly
  2// implementations by abusing the C preprocessor.
  3//
  4// Note: Some things are manually defined as they need to
  5// be mapped to NASM types.
  6
  7;
  8; Automatically generated include file from jsimdcfg.inc.h
  9;
 10
 11#define JPEG_INTERNALS
 12
 13#include "../jpeglib.h"
 14#include "../jconfig.h"
 15#include "../jmorecfg.h"
 16#include "jsimd.h"
 17
 18#define define(var) %define _cpp_protection_##var
 19#define definev(var) %define _cpp_protection_##var var
 20
 21;
 22; -- jpeglib.h
 23;
 24
 25definev(DCTSIZE)
 26definev(DCTSIZE2)
 27
 28;
 29; -- jmorecfg.h
 30;
 31
 32definev(RGB_RED)
 33definev(RGB_GREEN)
 34definev(RGB_BLUE)
 35
 36definev(RGB_PIXELSIZE)
 37
 38; Representation of a single sample (pixel element value).
 39; On this SIMD implementation, this must be 'unsigned char'.
 40;
 41
 42%define JSAMPLE                 byte          ; unsigned char
 43%define SIZEOF_JSAMPLE          SIZEOF_BYTE   ; sizeof(JSAMPLE)
 44
 45definev(CENTERJSAMPLE)
 46
 47; Representation of a DCT frequency coefficient.
 48; On this SIMD implementation, this must be 'short'.
 49;
 50%define JCOEF                   word          ; short
 51%define SIZEOF_JCOEF            SIZEOF_WORD   ; sizeof(JCOEF)
 52
 53; Datatype used for image dimensions.
 54; On this SIMD implementation, this must be 'unsigned int'.
 55;
 56%define JDIMENSION              dword         ; unsigned int
 57%define SIZEOF_JDIMENSION       SIZEOF_DWORD  ; sizeof(JDIMENSION)
 58
 59%define JSAMPROW                POINTER       ; JSAMPLE FAR * (jpeglib.h)
 60%define JSAMPARRAY              POINTER       ; JSAMPROW *    (jpeglib.h)
 61%define JSAMPIMAGE              POINTER       ; JSAMPARRAY *  (jpeglib.h)
 62%define JCOEFPTR                POINTER       ; JCOEF FAR *   (jpeglib.h)
 63%define SIZEOF_JSAMPROW         SIZEOF_POINTER  ; sizeof(JSAMPROW)
 64%define SIZEOF_JSAMPARRAY       SIZEOF_POINTER  ; sizeof(JSAMPARRAY)
 65%define SIZEOF_JSAMPIMAGE       SIZEOF_POINTER  ; sizeof(JSAMPIMAGE)
 66%define SIZEOF_JCOEFPTR         SIZEOF_POINTER  ; sizeof(JCOEFPTR)
 67
 68;
 69; -- jdct.h
 70;
 71
 72; A forward DCT routine is given a pointer to a work area of type DCTELEM[];
 73; the DCT is to be performed in-place in that buffer.
 74; To maximize parallelism, Type DCTELEM is changed to short (originally, int).
 75;
 76%define DCTELEM                 word          ; short
 77%define SIZEOF_DCTELEM          SIZEOF_WORD   ; sizeof(DCTELEM)
 78
 79%define FAST_FLOAT              FP32            ; float
 80%define SIZEOF_FAST_FLOAT       SIZEOF_FP32     ; sizeof(FAST_FLOAT)
 81
 82; To maximize parallelism, Type MULTIPLIER is changed to short.
 83;
 84%define ISLOW_MULT_TYPE         word          ; must be short
 85%define SIZEOF_ISLOW_MULT_TYPE  SIZEOF_WORD   ; sizeof(ISLOW_MULT_TYPE)
 86
 87%define IFAST_MULT_TYPE         word          ; must be short
 88%define SIZEOF_IFAST_MULT_TYPE  SIZEOF_WORD   ; sizeof(IFAST_MULT_TYPE)
 89%define IFAST_SCALE_BITS        2             ; fractional bits in scale factors
 90
 91%define FLOAT_MULT_TYPE         FP32          ; must be float
 92%define SIZEOF_FLOAT_MULT_TYPE  SIZEOF_FP32   ; sizeof(FLOAT_MULT_TYPE)
 93
 94;
 95; -- jsimd.h
 96;
 97
 98definev(JSIMD_NONE)
 99definev(JSIMD_MMX)
100definev(JSIMD_3DNOW)
101definev(JSIMD_SSE)
102definev(JSIMD_SSE2)
103
104; Short forms of external names for systems with brain-damaged linkers.
105;
106#ifdef NEED_SHORT_EXTERNAL_NAMES
107definev(jpeg_simd_cpu_support)
108definev(jsimd_rgb_ycc_convert_mmx)
109definev(jsimd_ycc_rgb_convert_mmx)
110definev(jconst_rgb_ycc_convert_sse2)
111definev(jsimd_rgb_ycc_convert_sse2)
112definev(jconst_ycc_rgb_convert_sse2)
113definev(jsimd_ycc_rgb_convert_sse2)
114definev(jsimd_h2v2_downsample_mmx)
115definev(jsimd_h2v1_downsample_mmx)
116definev(jsimd_h2v2_downsample_sse2)
117definev(jsimd_h2v1_downsample_sse2)
118definev(jsimd_h2v2_upsample_mmx)
119definev(jsimd_h2v1_upsample_mmx)
120definev(jsimd_h2v1_fancy_upsample_mmx)
121definev(jsimd_h2v2_fancy_upsample_mmx)
122definev(jsimd_h2v1_merged_upsample_mmx)
123definev(jsimd_h2v2_merged_upsample_mmx)
124definev(jsimd_h2v2_upsample_sse2)
125definev(jsimd_h2v1_upsample_sse2)
126definev(jconst_fancy_upsample_sse2)
127definev(jsimd_h2v1_fancy_upsample_sse2)
128definev(jsimd_h2v2_fancy_upsample_sse2)
129definev(jconst_merged_upsample_sse2)
130definev(jsimd_h2v1_merged_upsample_sse2)
131definev(jsimd_h2v2_merged_upsample_sse2)
132definev(jsimd_convsamp_mmx)
133definev(jsimd_convsamp_sse2)
134definev(jsimd_convsamp_float_3dnow)
135definev(jsimd_convsamp_float_sse)
136definev(jsimd_convsamp_float_sse2)
137definev(jsimd_fdct_islow_mmx)
138definev(jsimd_fdct_ifast_mmx)
139definev(jconst_fdct_islow_sse2)
140definev(jsimd_fdct_islow_sse2)
141definev(jconst_fdct_ifast_sse2)
142definev(jsimd_fdct_ifast_sse2)
143definev(jsimd_fdct_float_3dnow)
144definev(jconst_fdct_float_sse)
145definev(jsimd_fdct_float_sse)
146definev(jsimd_quantize_mmx)
147definev(jsimd_quantize_sse2)
148definev(jsimd_quantize_float_3dnow)
149definev(jsimd_quantize_float_sse)
150definev(jsimd_quantize_float_sse2)
151definev(jsimd_idct_2x2_mmx)
152definev(jsimd_idct_4x4_mmx)
153definev(jconst_idct_red_sse2)
154definev(jsimd_idct_2x2_sse2)
155definev(jsimd_idct_4x4_sse2)
156definev(jsimd_idct_islow_mmx)
157definev(jsimd_idct_ifast_mmx)
158definev(jconst_idct_islow_sse2)
159definev(jsimd_idct_islow_sse2)
160definev(jconst_idct_ifast_sse2)
161definev(jsimd_idct_ifast_sse2)
162definev(jsimd_idct_float_3dnow)
163definev(jconst_idct_float_sse)
164definev(jsimd_idct_float_sse)
165definev(jconst_idct_float_sse2)
166definev(jsimd_idct_float_sse2)
167#endif /* NEED_SHORT_EXTERNAL_NAMES */
168