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 #if defined(WIN32) || defined(WIN64)
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