src/hermes/HeadX86.h

/* [<][>][^][v][top]
[bottom][index][help] */

FUNCTIONS

This source file includes following functions.

   1 /*
   2    Header definitions for the x86 routines for the HERMES library
   3    Copyright (c) 1998 Christian Nentwich (brn@eleet.mcb.at)
   4    This source code is licensed under the GNU LGPL
   5   
   6    Please refer to the file COPYING.LIB contained in the distribution for
   7    licensing conditions
   8 */
   9 
  10 #ifndef __HERMES_HEAD_X86__
  11 #define __HERMES_HEAD_X86__
  12 
  13 
  14 #ifdef X86_ASSEMBLER
  15 
  16 /* If you can't stand IFDEFS, then close your eyes now, please :) */
  17 
  18 /* Ok, we start with normal function definitions */
  19 #ifdef __cplusplus
  20 extern "C" {
  21 #endif
  22 
  23 
  24 void STACKCALL ConvertX86(HermesConverterInterface *);
  25 void STACKCALL ClearX86_32(HermesClearInterface *);
  26 void STACKCALL ClearX86_24(HermesClearInterface *);
  27 void STACKCALL ClearX86_16(HermesClearInterface *);
  28 void STACKCALL ClearX86_8(HermesClearInterface *);
  29 
  30 int STACKCALL Hermes_X86_CPU();
  31 
  32 void ConvertX86p32_32BGR888();
  33 void ConvertX86p32_32RGBA888();
  34 void ConvertX86p32_32BGRA888();
  35 void ConvertX86p32_24RGB888();
  36 void ConvertX86p32_24BGR888();
  37 void ConvertX86p32_16RGB565();
  38 void ConvertX86p32_16BGR565();
  39 void ConvertX86p32_16RGB555();
  40 void ConvertX86p32_16BGR555();
  41 void ConvertX86p32_8RGB332();
  42 
  43 void ConvertX86p16_32RGB888();
  44 void ConvertX86p16_32BGR888();
  45 void ConvertX86p16_32RGBA888();
  46 void ConvertX86p16_32BGRA888();
  47 void ConvertX86p16_24RGB888();
  48 void ConvertX86p16_24BGR888();
  49 void ConvertX86p16_16BGR565();
  50 void ConvertX86p16_16RGB555();
  51 void ConvertX86p16_16BGR555();
  52 void ConvertX86p16_8RGB332();
  53 
  54 void CopyX86p_4byte();
  55 void CopyX86p_3byte();
  56 void CopyX86p_2byte();
  57 void CopyX86p_1byte();
  58 
  59 void ConvertX86pI8_32();
  60 void ConvertX86pI8_24();
  61 void ConvertX86pI8_16();
  62 
  63 extern int32 ConvertX86p16_32RGB888_LUT_X86[512];
  64 extern int32 ConvertX86p16_32BGR888_LUT_X86[512];
  65 extern int32 ConvertX86p16_32RGBA888_LUT_X86[512];
  66 extern int32 ConvertX86p16_32BGRA888_LUT_X86[512];
  67   
  68 #ifdef __cplusplus
  69 }
  70 #endif
  71 
  72 
  73 
  74 
  75 /* Now fix up the ELF underscore problem */
  76 
  77 #if defined(__ELF__) && defined(__GNUC__)
  78   #ifdef __cplusplus
  79   extern "C" {
  80   #endif
  81 
  82   int Hermes_X86_CPU() __attribute__ ((alias ("_Hermes_X86_CPU")));
  83 
  84   void ConvertX86(HermesConverterInterface *) __attribute__ ((alias ("_ConvertX86")));
  85 
  86 #if 0
  87   void ClearX86_32(HermesClearInterface *) __attribute__ ((alias ("_ClearX86_32")));
  88   void ClearX86_24(HermesClearInterface *)  __attribute__ ((alias ("_ClearX86_24")));
  89   void ClearX86_16(HermesClearInterface *)  __attribute__ ((alias ("_ClearX86_16")));
  90   void ClearX86_8(HermesClearInterface *)  __attribute__ ((alias ("_ClearX86_8")));
  91 #endif
  92 
  93   void ConvertX86p32_32BGR888() __attribute__ ((alias ("_ConvertX86p32_32BGR888")));
  94   void ConvertX86p32_32RGBA888() __attribute__ ((alias ("_ConvertX86p32_32RGBA888")));
  95   void ConvertX86p32_32BGRA888() __attribute__ ((alias ("_ConvertX86p32_32BGRA888")));
  96   void ConvertX86p32_24RGB888() __attribute__ ((alias ("_ConvertX86p32_24RGB888")));
  97   void ConvertX86p32_24BGR888() __attribute__ ((alias ("_ConvertX86p32_24BGR888")));
  98   void ConvertX86p32_16RGB565() __attribute__ ((alias ("_ConvertX86p32_16RGB565")));
  99   void ConvertX86p32_16BGR565() __attribute__ ((alias ("_ConvertX86p32_16BGR565")));
 100   void ConvertX86p32_16RGB555() __attribute__ ((alias ("_ConvertX86p32_16RGB555")));
 101   void ConvertX86p32_16BGR555() __attribute__ ((alias ("_ConvertX86p32_16BGR555")));
 102   void ConvertX86p32_8RGB332() __attribute__ ((alias ("_ConvertX86p32_8RGB332")));
 103 
 104 #if 0
 105   void ConvertX86p16_32RGB888() __attribute__ ((alias ("_ConvertX86p16_32RGB888")));
 106   void ConvertX86p16_32BGR888() __attribute__ ((alias ("_ConvertX86p16_32BGR888")));
 107   void ConvertX86p16_32RGBA888() __attribute__ ((alias ("_ConvertX86p16_32RGBA888")));
 108   void ConvertX86p16_32BGRA888() __attribute__ ((alias ("_ConvertX86p16_32BGRA888")));
 109   void ConvertX86p16_24RGB888() __attribute__ ((alias ("_ConvertX86p16_24RGB888")));
 110   void ConvertX86p16_24BGR888() __attribute__ ((alias ("_ConvertX86p16_24BGR888")));
 111 #endif
 112   void ConvertX86p16_16BGR565() __attribute__ ((alias ("_ConvertX86p16_16BGR565")));
 113   void ConvertX86p16_16RGB555() __attribute__ ((alias ("_ConvertX86p16_16RGB555")));
 114   void ConvertX86p16_16BGR555() __attribute__ ((alias ("_ConvertX86p16_16BGR555")));
 115   void ConvertX86p16_8RGB332() __attribute__ ((alias ("_ConvertX86p16_8RGB332")));
 116 
 117 #if 0
 118   void CopyX86p_4byte() __attribute__ ((alias ("_CopyX86p_4byte")));
 119   void CopyX86p_3byte() __attribute__ ((alias ("_CopyX86p_3byte")));
 120   void CopyX86p_2byte() __attribute__ ((alias ("_CopyX86p_2byte")));
 121   void CopyX86p_1byte() __attribute__ ((alias ("_CopyX86p_1byte")));
 122 
 123   void ConvertX86pI8_32() __attribute__ ((alias ("_ConvertX86pI8_32")));
 124   void ConvertX86pI8_24() __attribute__ ((alias ("_ConvertX86pI8_24")));
 125   void ConvertX86pI8_16() __attribute__ ((alias ("_ConvertX86pI8_16")));
 126 
 127   extern int32 ConvertX86p16_32RGB888_LUT_X86[512] __attribute__ ((alias ("_ConvertX86p16_32RGB888_LUT_X86")));
 128   extern int32 ConvertX86p16_32BGR888_LUT_X86[512] __attribute__ ((alias ("_ConvertX86p16_32BGR888_LUT_X86")));
 129   extern int32 ConvertX86p16_32RGBA888_LUT_X86[512] __attribute__ ((alias ("_ConvertX86p16_32RGBA888_LUT_X86")));
 130   extern int32 ConvertX86p16_32BGRA888_LUT_X86[512] __attribute__ ((alias ("_ConvertX86p16_32BGRA888_LUT_X86")));
 131 #endif
 132 
 133   #ifdef __cplusplus
 134   }
 135   #endif
 136 
 137 #endif /* ELF & GNU */
 138 
 139 
 140 
 141 /* Make it run with WATCOM C */
 142 #ifdef __WATCOMC__
 143 #pragma warning 601 9
 144 
 145 #pragma aux Hermes_X86_CPU "_*"
 146 
 147 #pragma aux ConvertX86 "_*" modify [EAX EBX ECX EDX ESI EDI]
 148 #pragma aux ClearX86_32 "_*" modify [EAX EBX ECX EDX ESI EDI]
 149 #pragma aux ClearX86_24 "_*" modify [EAX EBX ECX EDX ESI EDI]
 150 #pragma aux ClearX86_16 "_*" modify [EAX EBX ECX EDX ESI EDI]
 151 #pragma aux ClearX86_8 "_*" modify [EAX EBX ECX EDX ESI EDI]
 152 
 153 #pragma aux ConvertX86p32_32BGR888 "_*"
 154 #pragma aux ConvertX86p32_32RGBA888 "_*"
 155 #pragma aux ConvertX86p32_32BGRA888 "_*"
 156 #pragma aux ConvertX86p32_24RGB888 "_*"
 157 #pragma aux ConvertX86p32_24BGR888 "_*"
 158 #pragma aux ConvertX86p32_16RGB565 "_*"
 159 #pragma aux ConvertX86p32_16BGR565 "_*"
 160 #pragma aux ConvertX86p32_16RGB555 "_*"
 161 #pragma aux ConvertX86p32_16BGR555 "_*"
 162 #pragma aux ConvertX86p32_8RGB332 "_*"
 163 
 164 #pragma aux ConvertX86p16_32RGB888 "_*"
 165 #pragma aux ConvertX86p16_32BGR888 "_*"
 166 #pragma aux ConvertX86p16_32RGBA888 "_*"
 167 #pragma aux ConvertX86p16_32BGRA888 "_*"
 168 #pragma aux ConvertX86p16_24RGB888 "_*"
 169 #pragma aux ConvertX86p16_24BGR888 "_*"
 170 #pragma aux ConvertX86p16_16BGR565 "_*"
 171 #pragma aux ConvertX86p16_16RGB555 "_*"
 172 #pragma aux ConvertX86p16_16BGR555 "_*"
 173 #pragma aux ConvertX86p16_8RGB332 "_*"
 174 
 175 #pragma aux CopyX86p_4byte "_*"
 176 #pragma aux CopyX86p_3byte "_*"
 177 #pragma aux CopyX86p_2byte "_*"
 178 #pragma aux CopyX86p_1byte "_*"
 179 
 180 #pragma aux ConvertX86pI8_32 "_*"
 181 #pragma aux ConvertX86pI8_24 "_*"
 182 #pragma aux ConvertX86pI8_16 "_*"
 183 
 184 #pragma aux ConvertX86p16_32RGB888_LUT_X86 "_*"
 185 #pragma aux ConvertX86p16_32BGR888_LUT_X86 "_*"
 186 #pragma aux ConvertX86p16_32RGBA888_LUT_X86 "_*"
 187 #pragma aux ConvertX86p16_32BGRA888_LUT_X86 "_*"
 188 
 189 #endif /* __WATCOMC__ */
 190 
 191 
 192 #endif /* X86_ASSEMBLER */
 193 
 194 
 195 #endif 

/* [<][>][^][v][top][bottom][index][help] */