00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 #ifndef _SDL_imageFilter_h
00011 #define _SDL_imageFilter_h
00012 
00013 
00014 #ifdef __cplusplus
00015 extern "C" {
00016 #endif
00017 
00018         
00019 
00020 #ifdef _MSC_VER
00021 #  if defined(DLL_EXPORT) && !defined(LIBSDL_GFX_DLL_IMPORT)
00022 #    define SDL_IMAGEFILTER_SCOPE __declspec(dllexport)
00023 #  else
00024 #    ifdef LIBSDL_GFX_DLL_IMPORT
00025 #      define SDL_IMAGEFILTER_SCOPE __declspec(dllimport)
00026 #    endif
00027 #  endif
00028 #endif
00029 #ifndef SDL_IMAGEFILTER_SCOPE
00030 #  define SDL_IMAGEFILTER_SCOPE extern
00031 #endif
00032 
00033         
00034         
00035         
00036         
00037 
00038         
00039         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterMMXdetect(void);
00040 
00041         
00042         SDL_IMAGEFILTER_SCOPE void SDL_imageFilterMMXoff(void);
00043         SDL_IMAGEFILTER_SCOPE void SDL_imageFilterMMXon(void);
00044 
00045         
00046         
00047         
00048         
00049         
00050 
00051         
00052         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterAdd(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length);
00053 
00054         
00055         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterMean(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length);
00056 
00057         
00058         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterSub(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length);
00059 
00060         
00061         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterAbsDiff(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length);
00062 
00063         
00064         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterMult(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length);
00065 
00066         
00067         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterMultNor(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length);
00068 
00069         
00070         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterMultDivby2(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest,
00071                 unsigned int length);
00072 
00073         
00074         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterMultDivby4(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest,
00075                 unsigned int length);
00076 
00077         
00078         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterBitAnd(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length);
00079 
00080         
00081         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterBitOr(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length);
00082 
00083         
00084         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterDiv(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length);
00085 
00086         
00087         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterBitNegation(unsigned char *Src1, unsigned char *Dest, unsigned int length);
00088 
00089         
00090         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterAddByte(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C);
00091 
00092         
00093         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterAddUint(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned int C);
00094 
00095         
00096         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterAddByteToHalf(unsigned char *Src1, unsigned char *Dest, unsigned int length,
00097                 unsigned char C);
00098 
00099         
00100         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterSubByte(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C);
00101 
00102         
00103         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterSubUint(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned int C);
00104 
00105         
00106         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterShiftRight(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N);
00107 
00108         
00109         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterShiftRightUint(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N);
00110 
00111         
00112         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterMultByByte(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C);
00113 
00114         
00115         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterShiftRightAndMultByByte(unsigned char *Src1, unsigned char *Dest, unsigned int length,
00116                 unsigned char N, unsigned char C);
00117 
00118         
00119         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterShiftLeftByte(unsigned char *Src1, unsigned char *Dest, unsigned int length,
00120                 unsigned char N);
00121 
00122         
00123         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterShiftLeftUint(unsigned char *Src1, unsigned char *Dest, unsigned int length,
00124                 unsigned char N);
00125 
00126         
00127         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterShiftLeft(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N);
00128 
00129         
00130         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterBinarizeUsingThreshold(unsigned char *Src1, unsigned char *Dest, unsigned int length,
00131                 unsigned char T);
00132 
00133         
00134         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterClipToRange(unsigned char *Src1, unsigned char *Dest, unsigned int length,
00135                 unsigned char Tmin, unsigned char Tmax);
00136 
00137         
00138         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterNormalizeLinear(unsigned char *Src, unsigned char *Dest, unsigned int length, int Cmin,
00139                 int Cmax, int Nmin, int Nmax);
00140 
00141         
00142 
00143         
00144         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterConvolveKernel3x3Divide(unsigned char *Src, unsigned char *Dest, int rows,
00145                 int columns, signed short *Kernel, unsigned char Divisor);
00146 
00147         
00148         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterConvolveKernel5x5Divide(unsigned char *Src, unsigned char *Dest, int rows,
00149                 int columns, signed short *Kernel, unsigned char Divisor);
00150 
00151         
00152         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterConvolveKernel7x7Divide(unsigned char *Src, unsigned char *Dest, int rows,
00153                 int columns, signed short *Kernel, unsigned char Divisor);
00154 
00155         
00156         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterConvolveKernel9x9Divide(unsigned char *Src, unsigned char *Dest, int rows,
00157                 int columns, signed short *Kernel, unsigned char Divisor);
00158 
00159         
00160         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterConvolveKernel3x3ShiftRight(unsigned char *Src, unsigned char *Dest, int rows,
00161                 int columns, signed short *Kernel,
00162                 unsigned char NRightShift);
00163 
00164         
00165         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterConvolveKernel5x5ShiftRight(unsigned char *Src, unsigned char *Dest, int rows,
00166                 int columns, signed short *Kernel,
00167                 unsigned char NRightShift);
00168 
00169         
00170         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterConvolveKernel7x7ShiftRight(unsigned char *Src, unsigned char *Dest, int rows,
00171                 int columns, signed short *Kernel,
00172                 unsigned char NRightShift);
00173 
00174         
00175         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterConvolveKernel9x9ShiftRight(unsigned char *Src, unsigned char *Dest, int rows,
00176                 int columns, signed short *Kernel,
00177                 unsigned char NRightShift);
00178 
00179         
00180         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterSobelX(unsigned char *Src, unsigned char *Dest, int rows, int columns);
00181 
00182         
00183         SDL_IMAGEFILTER_SCOPE int SDL_imageFilterSobelXShiftRight(unsigned char *Src, unsigned char *Dest, int rows, int columns,
00184                 unsigned char NRightShift);
00185 
00186         
00187         SDL_IMAGEFILTER_SCOPE void SDL_imageFilterAlignStack(void);
00188         SDL_IMAGEFILTER_SCOPE void SDL_imageFilterRestoreStack(void);
00189 
00190         
00191 #ifdef __cplusplus
00192 }
00193 #endif
00194 
00195 #endif