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