SDL_imageFilter.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "SDL_imageFilter.h"

Go to the source code of this file.

Defines

#define SWAP_32(x)   (((x) >> 24) | (((x) & 0x00ff0000) >> 8) | (((x) & 0x0000ff00) << 8) | ((x) << 24))
 Swaps the byte order in a 32bit integer (LSB becomes MSB, etc.).

Functions

unsigned int _cpuFlags ()
 Internal function returning the CPU flags.
int SDL_imageFilterMMXdetect (void)
 MMX detection routine (with override flag).
void SDL_imageFilterMMXoff ()
 Disable MMX check for filter functions and and force to use non-MMX C based code.
void SDL_imageFilterMMXon ()
 Enable MMX check for filter functions and use MMX code if available.
int SDL_imageFilterAddMMX (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int SrcLength)
 Internal MMX Filter using Add: D = saturation255(S1 + S2).
int SDL_imageFilterAdd (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)
 Filter using Add: D = saturation255(S1 + S2).
int SDL_imageFilterMeanMMX (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int SrcLength, unsigned char *Mask)
 Internal MMX Filter using Mean: D = S1/2 + S2/2.
int SDL_imageFilterMean (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)
 Filter using Mean: D = S1/2 + S2/2.
int SDL_imageFilterSubMMX (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int SrcLength)
 Internal MMX Filter using Sub: D = saturation0(S1 - S2).
int SDL_imageFilterSub (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)
 Filter using Sub: D = saturation0(S1 - S2).
int SDL_imageFilterAbsDiffMMX (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int SrcLength)
 Internal MMX Filter using AbsDiff: D = | S1 - S2 |.
int SDL_imageFilterAbsDiff (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)
 Filter using AbsDiff: D = | S1 - S2 |.
int SDL_imageFilterMultMMX (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int SrcLength)
 Internal MMX Filter using Mult: D = saturation255(S1 * S2).
int SDL_imageFilterMult (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)
 Filter using Mult: D = saturation255(S1 * S2).
int SDL_imageFilterMultNorASM (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int SrcLength)
 Internal ASM Filter using MultNor: D = S1 * S2.
int SDL_imageFilterMultNor (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)
 Filter using MultNor: D = S1 * S2.
int SDL_imageFilterMultDivby2MMX (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int SrcLength)
 Internal MMX Filter using MultDivby2: D = saturation255(S1/2 * S2).
int SDL_imageFilterMultDivby2 (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)
 Filter using MultDivby2: D = saturation255(S1/2 * S2).
int SDL_imageFilterMultDivby4MMX (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int SrcLength)
 Internal MMX Filter using MultDivby4: D = saturation255(S1/2 * S2/2).
int SDL_imageFilterMultDivby4 (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)
 Filter using MultDivby4: D = saturation255(S1/2 * S2/2).
int SDL_imageFilterBitAndMMX (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int SrcLength)
 Internal MMX Filter using BitAnd: D = S1 & S2.
int SDL_imageFilterBitAnd (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)
 Filter using BitAnd: D = S1 & S2.
int SDL_imageFilterBitOrMMX (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int SrcLength)
 Internal MMX Filter using BitOr: D = S1 | S2.
int SDL_imageFilterBitOr (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)
 Filter using BitOr: D = S1 | S2.
int SDL_imageFilterDivASM (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int SrcLength)
 Internal ASM Filter using Div: D = S1 / S2.
int SDL_imageFilterDiv (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)
 Filter using Div: D = S1 / S2.
int SDL_imageFilterBitNegationMMX (unsigned char *Src1, unsigned char *Dest, unsigned int SrcLength)
 Internal MMX Filter using BitNegation: D = !S.
int SDL_imageFilterBitNegation (unsigned char *Src1, unsigned char *Dest, unsigned int length)
 Filter using BitNegation: D = !S.
int SDL_imageFilterAddByteMMX (unsigned char *Src1, unsigned char *Dest, unsigned int SrcLength, unsigned char C)
 Internal MMX Filter using AddByte: D = saturation255(S + C).
int SDL_imageFilterAddByte (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C)
 Filter using AddByte: D = saturation255(S + C).
int SDL_imageFilterAddUintMMX (unsigned char *Src1, unsigned char *Dest, unsigned int SrcLength, unsigned int C, unsigned int D)
 Internal MMX Filter using AddUint: D = saturation255((S[i] + Cs[i % 4]), Cs=Swap32((uint)C).
int SDL_imageFilterAddUint (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned int C)
 Filter using AddUint: D = saturation255((S[i] + Cs[i % 4]), Cs=Swap32((uint)C).
int SDL_imageFilterAddByteToHalfMMX (unsigned char *Src1, unsigned char *Dest, unsigned int SrcLength, unsigned char C, unsigned char *Mask)
 Internal MMX Filter using AddByteToHalf: D = saturation255(S/2 + C).
int SDL_imageFilterAddByteToHalf (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C)
 Filter using AddByteToHalf: D = saturation255(S/2 + C).
int SDL_imageFilterSubByteMMX (unsigned char *Src1, unsigned char *Dest, unsigned int SrcLength, unsigned char C)
 Internal MMX Filter using SubByte: D = saturation0(S - C).
int SDL_imageFilterSubByte (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C)
 Filter using SubByte: D = saturation0(S - C).
int SDL_imageFilterSubUintMMX (unsigned char *Src1, unsigned char *Dest, unsigned int SrcLength, unsigned int C, unsigned int D)
 Internal MMX Filter using SubUint: D = saturation0(S[i] - Cs[i % 4]), Cs=Swap32((uint)C).
int SDL_imageFilterSubUint (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned int C)
 Filter using SubUint: D = saturation0(S[i] - Cs[i % 4]), Cs=Swap32((uint)C).
int SDL_imageFilterShiftRightMMX (unsigned char *Src1, unsigned char *Dest, unsigned int SrcLength, unsigned char N, unsigned char *Mask)
 Internal MMX Filter using ShiftRight: D = saturation0(S >> N).
int SDL_imageFilterShiftRight (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)
 Filter using ShiftRight: D = saturation0(S >> N).
int SDL_imageFilterShiftRightUintMMX (unsigned char *Src1, unsigned char *Dest, unsigned int SrcLength, unsigned char N)
 Internal MMX Filter using ShiftRightUint: D = saturation0((uint)S[i] >> N).
int SDL_imageFilterShiftRightUint (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)
 Filter using ShiftRightUint: D = saturation0((uint)S[i] >> N).
int SDL_imageFilterMultByByteMMX (unsigned char *Src1, unsigned char *Dest, unsigned int SrcLength, unsigned char C)
 Internal MMX Filter using MultByByte: D = saturation255(S * C).
int SDL_imageFilterMultByByte (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C)
 Filter using MultByByte: D = saturation255(S * C).
int SDL_imageFilterShiftRightAndMultByByteMMX (unsigned char *Src1, unsigned char *Dest, unsigned int SrcLength, unsigned char N, unsigned char C)
 Internal MMX Filter using ShiftRightAndMultByByteMMX: D = saturation255((S >> N) * C).
int SDL_imageFilterShiftRightAndMultByByte (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N, unsigned char C)
 Filter using ShiftRightAndMultByByte: D = saturation255((S >> N) * C).
int SDL_imageFilterShiftLeftByteMMX (unsigned char *Src1, unsigned char *Dest, unsigned int SrcLength, unsigned char N, unsigned char *Mask)
 Internal MMX Filter using ShiftLeftByte: D = (S << N).
int SDL_imageFilterShiftLeftByte (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)
 Filter using ShiftLeftByte: D = (S << N).
int SDL_imageFilterShiftLeftUintMMX (unsigned char *Src1, unsigned char *Dest, unsigned int SrcLength, unsigned char N)
 Internal MMX Filter using ShiftLeftUint: D = ((uint)S << N).
int SDL_imageFilterShiftLeftUint (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)
 Filter using ShiftLeftUint: D = ((uint)S << N).
int SDL_imageFilterShiftLeftMMX (unsigned char *Src1, unsigned char *Dest, unsigned int SrcLength, unsigned char N)
 Internal MMX Filter ShiftLeft: D = saturation255(S << N).
int SDL_imageFilterShiftLeft (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)
 Filter ShiftLeft: D = saturation255(S << N).
int SDL_imageFilterBinarizeUsingThresholdMMX (unsigned char *Src1, unsigned char *Dest, unsigned int SrcLength, unsigned char T)
 MMX BinarizeUsingThreshold: D = (S >= T) ? 255:0.
int SDL_imageFilterBinarizeUsingThreshold (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char T)
 Filter using BinarizeUsingThreshold: D = (S >= T) ? 255:0.
int SDL_imageFilterClipToRangeMMX (unsigned char *Src1, unsigned char *Dest, unsigned int SrcLength, unsigned char Tmin, unsigned char Tmax)
 Internal MMX Filter using ClipToRange: D = (S >= Tmin) & (S <= Tmax) S:Tmin | Tmax.
int SDL_imageFilterClipToRange (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char Tmin, unsigned char Tmax)
 Filter using ClipToRange: D = (S >= Tmin) & (S <= Tmax) S:Tmin | Tmax.
int SDL_imageFilterNormalizeLinearMMX (unsigned char *Src1, unsigned char *Dest, unsigned int SrcLength, int Cmin, int Cmax, int Nmin, int Nmax)
 Internal MMX Filter using NormalizeLinear: D = saturation255((Nmax - Nmin)/(Cmax - Cmin)*(S - Cmin) + Nmin).
int SDL_imageFilterNormalizeLinear (unsigned char *Src, unsigned char *Dest, unsigned int length, int Cmin, int Cmax, int Nmin, int Nmax)
 Filter using NormalizeLinear: D = saturation255((Nmax - Nmin)/(Cmax - Cmin)*(S - Cmin) + Nmin).
int SDL_imageFilterConvolveKernel3x3Divide (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor)
 Filter using ConvolveKernel3x3Divide: Dij = saturation0and255( ... ).
int SDL_imageFilterConvolveKernel5x5Divide (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor)
 Filter using ConvolveKernel5x5Divide: Dij = saturation0and255( ... ).
int SDL_imageFilterConvolveKernel7x7Divide (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor)
 Filter using ConvolveKernel7x7Divide: Dij = saturation0and255( ... ).
int SDL_imageFilterConvolveKernel9x9Divide (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor)
 Filter using ConvolveKernel9x9Divide: Dij = saturation0and255( ... ).
int SDL_imageFilterConvolveKernel3x3ShiftRight (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift)
 Filter using ConvolveKernel3x3ShiftRight: Dij = saturation0and255( ... ).
int SDL_imageFilterConvolveKernel5x5ShiftRight (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift)
 Filter using ConvolveKernel5x5ShiftRight: Dij = saturation0and255( ... ).
int SDL_imageFilterConvolveKernel7x7ShiftRight (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift)
 Filter using ConvolveKernel7x7ShiftRight: Dij = saturation0and255( ... ).
int SDL_imageFilterConvolveKernel9x9ShiftRight (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift)
 Filter using ConvolveKernel9x9ShiftRight: Dij = saturation255( ... ).
int SDL_imageFilterSobelX (unsigned char *Src, unsigned char *Dest, int rows, int columns)
 Filter using SobelX: Dij = saturation255( ... ).
int SDL_imageFilterSobelXShiftRight (unsigned char *Src, unsigned char *Dest, int rows, int columns, unsigned char NRightShift)
 Filter using SobelXShiftRight: Dij = saturation255( ... ).
void SDL_imageFilterAlignStack (void)
 Align stack to 32 byte boundary,.
void SDL_imageFilterRestoreStack (void)
 Restore previously aligned stack.

Define Documentation

#define SWAP_32 (  )     (((x) >> 24) | (((x) & 0x00ff0000) >> 8) | (((x) & 0x0000ff00) << 8) | ((x) << 24))

Swaps the byte order in a 32bit integer (LSB becomes MSB, etc.).

Definition at line 23 of file SDL_imageFilter.c.


Function Documentation

unsigned int _cpuFlags (  ) 

Internal function returning the CPU flags.

Returns:
Flags of system CPU.

Definition at line 42 of file SDL_imageFilter.c.

int SDL_imageFilterAbsDiff ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  length 
)

Filter using AbsDiff: D = | S1 - S2 |.

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 581 of file SDL_imageFilter.c.

int SDL_imageFilterAbsDiffMMX ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  SrcLength 
)

Internal MMX Filter using AbsDiff: D = | S1 - S2 |.

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 512 of file SDL_imageFilter.c.

int SDL_imageFilterAdd ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  length 
)

Filter using Add: D = saturation255(S1 + S2).

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 181 of file SDL_imageFilter.c.

int SDL_imageFilterAddByte ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  length,
unsigned char  C 
)

Filter using AddByte: D = saturation255(S + C).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source array.
C Constant value to add (C).
Returns:
Returns 0 for success or -1 for error.

Definition at line 1782 of file SDL_imageFilter.c.

int SDL_imageFilterAddByteMMX ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  SrcLength,
unsigned char  C 
)

Internal MMX Filter using AddByte: D = saturation255(S + C).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source array.
C Constant value to add (C).
Returns:
Returns 0 for success or -1 for error.

Definition at line 1701 of file SDL_imageFilter.c.

int SDL_imageFilterAddByteToHalf ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  length,
unsigned char  C 
)

Filter using AddByteToHalf: D = saturation255(S/2 + C).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source array.
C Constant to add (C).
Returns:
Returns 0 for success or -1 for error.

Definition at line 2089 of file SDL_imageFilter.c.

int SDL_imageFilterAddByteToHalfMMX ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  SrcLength,
unsigned char  C,
unsigned char *  Mask 
)

Internal MMX Filter using AddByteToHalf: D = saturation255(S/2 + C).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source array.
C Constant to add (C).
Mask Pointer to 8 mask bytes of value 0x7F.
Returns:
Returns 0 for success or -1 for error.

Definition at line 1997 of file SDL_imageFilter.c.

int SDL_imageFilterAddMMX ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  SrcLength 
)

Internal MMX Filter using Add: D = saturation255(S1 + S2).

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 118 of file SDL_imageFilter.c.

int SDL_imageFilterAddUint ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  length,
unsigned int  C 
)

Filter using AddUint: D = saturation255((S[i] + Cs[i % 4]), Cs=Swap32((uint)C).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source array.
C Constant to add (C).
Returns:
Returns 0 for success or -1 for error.

Definition at line 1923 of file SDL_imageFilter.c.

int SDL_imageFilterAddUintMMX ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  SrcLength,
unsigned int  C,
unsigned int  D 
)

Internal MMX Filter using AddUint: D = saturation255((S[i] + Cs[i % 4]), Cs=Swap32((uint)C).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source array.
C Constant to add (C).
D Byteorder-swapped constant to add (Cs).
Returns:
Returns 0 for success or -1 for error.

Definition at line 1848 of file SDL_imageFilter.c.

void SDL_imageFilterAlignStack ( void   ) 

Align stack to 32 byte boundary,.

Definition at line 7511 of file SDL_imageFilter.c.

int SDL_imageFilterBinarizeUsingThreshold ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  length,
unsigned char  T 
)

Filter using BinarizeUsingThreshold: D = (S >= T) ? 255:0.

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source array.
T The threshold boundary (inclusive).
Returns:
Returns 0 for success or -1 for error.

Definition at line 3691 of file SDL_imageFilter.c.

int SDL_imageFilterBinarizeUsingThresholdMMX ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  SrcLength,
unsigned char  T 
)

MMX BinarizeUsingThreshold: D = (S >= T) ? 255:0.

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source array.
T The threshold boundary (inclusive).
Returns:
Returns 0 for success or -1 for error.

Definition at line 3603 of file SDL_imageFilter.c.

int SDL_imageFilterBitAnd ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  length 
)

Filter using BitAnd: D = S1 & S2.

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 1286 of file SDL_imageFilter.c.

int SDL_imageFilterBitAndMMX ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  SrcLength 
)

Internal MMX Filter using BitAnd: D = S1 & S2.

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 1223 of file SDL_imageFilter.c.

int SDL_imageFilterBitNegation ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  length 
)

Filter using BitNegation: D = !S.

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source array.
Returns:
Returns 0 for success or -1 for error.

Definition at line 1648 of file SDL_imageFilter.c.

int SDL_imageFilterBitNegationMMX ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  SrcLength 
)

Internal MMX Filter using BitNegation: D = !S.

Parameters:
Src1 Pointer to the start of the source byte array (S1).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source array.
Returns:
Returns 0 for success or -1 for error.

Definition at line 1589 of file SDL_imageFilter.c.

int SDL_imageFilterBitOr ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  length 
)

Filter using BitOr: D = S1 | S2.

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 1408 of file SDL_imageFilter.c.

int SDL_imageFilterBitOrMMX ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  SrcLength 
)

Internal MMX Filter using BitOr: D = S1 | S2.

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 1345 of file SDL_imageFilter.c.

int SDL_imageFilterClipToRange ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  length,
unsigned char  Tmin,
unsigned char  Tmax 
)

Filter using ClipToRange: D = (S >= Tmin) & (S <= Tmax) S:Tmin | Tmax.

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source array.
Tmin Lower (inclusive) boundary of the clipping range.
Tmax Upper (inclusive) boundary of the clipping range.
Returns:
Returns 0 for success or -1 for error.

Definition at line 3864 of file SDL_imageFilter.c.

int SDL_imageFilterClipToRangeMMX ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  SrcLength,
unsigned char  Tmin,
unsigned char  Tmax 
)

Internal MMX Filter using ClipToRange: D = (S >= Tmin) & (S <= Tmax) S:Tmin | Tmax.

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source array.
Tmin Lower (inclusive) boundary of the clipping range.
Tmax Upper (inclusive) boundary of the clipping range.
Returns:
Returns 0 for success or -1 for error.

Definition at line 3752 of file SDL_imageFilter.c.

int SDL_imageFilterConvolveKernel3x3Divide ( unsigned char *  Src,
unsigned char *  Dest,
int  rows,
int  columns,
signed short *  Kernel,
unsigned char  Divisor 
)

Filter using ConvolveKernel3x3Divide: Dij = saturation0and255( ... ).

Parameters:
Src The source 2D byte array to convolve. Should be different from destination.
Dest The destination 2D byte array to store the result in. Should be different from source.
rows Number of rows in source/destination array. Must be >2.
columns Number of columns in source/destination array. Must be >2.
Kernel The 2D convolution kernel of size 3x3.
Divisor The divisor of the convolution sum. Must be >0.

Note: Non-MMX implementation not available for this function.

Returns:
Returns 1 if filter was applied, 0 otherwise.

Definition at line 4175 of file SDL_imageFilter.c.

int SDL_imageFilterConvolveKernel3x3ShiftRight ( unsigned char *  Src,
unsigned char *  Dest,
int  rows,
int  columns,
signed short *  Kernel,
unsigned char  NRightShift 
)

Filter using ConvolveKernel3x3ShiftRight: Dij = saturation0and255( ... ).

Parameters:
Src The source 2D byte array to convolve. Should be different from destination.
Dest The destination 2D byte array to store the result in. Should be different from source.
rows Number of rows in source/destination array. Must be >2.
columns Number of columns in source/destination array. Must be >2.
Kernel The 2D convolution kernel of size 3x3.
NRightShift The number of right bit shifts to apply to the convolution sum. Must be <7.

Note: Non-MMX implementation not available for this function.

Returns:
Returns 1 if filter was applied, 0 otherwise.

Definition at line 5569 of file SDL_imageFilter.c.

int SDL_imageFilterConvolveKernel5x5Divide ( unsigned char *  Src,
unsigned char *  Dest,
int  rows,
int  columns,
signed short *  Kernel,
unsigned char  Divisor 
)

Filter using ConvolveKernel5x5Divide: Dij = saturation0and255( ... ).

Parameters:
Src The source 2D byte array to convolve. Should be different from destination.
Dest The destination 2D byte array to store the result in. Should be different from source.
rows Number of rows in source/destination array. Must be >4.
columns Number of columns in source/destination array. Must be >4.
Kernel The 2D convolution kernel of size 5x5.
Divisor The divisor of the convolution sum. Must be >0.

Note: Non-MMX implementation not available for this function.

Returns:
Returns 1 if filter was applied, 0 otherwise.

Definition at line 4364 of file SDL_imageFilter.c.

int SDL_imageFilterConvolveKernel5x5ShiftRight ( unsigned char *  Src,
unsigned char *  Dest,
int  rows,
int  columns,
signed short *  Kernel,
unsigned char  NRightShift 
)

Filter using ConvolveKernel5x5ShiftRight: Dij = saturation0and255( ... ).

Parameters:
Src The source 2D byte array to convolve. Should be different from destination.
Dest The destination 2D byte array to store the result in. Should be different from source.
rows Number of rows in source/destination array. Must be >4.
columns Number of columns in source/destination array. Must be >4.
Kernel The 2D convolution kernel of size 5x5.
NRightShift The number of right bit shifts to apply to the convolution sum. Must be <7.

Note: Non-MMX implementation not available for this function.

Returns:
Returns 1 if filter was applied, 0 otherwise.

Definition at line 5745 of file SDL_imageFilter.c.

int SDL_imageFilterConvolveKernel7x7Divide ( unsigned char *  Src,
unsigned char *  Dest,
int  rows,
int  columns,
signed short *  Kernel,
unsigned char  Divisor 
)

Filter using ConvolveKernel7x7Divide: Dij = saturation0and255( ... ).

Parameters:
Src The source 2D byte array to convolve. Should be different from destination.
Dest The destination 2D byte array to store the result in. Should be different from source.
rows Number of rows in source/destination array. Must be >6.
columns Number of columns in source/destination array. Must be >6.
Kernel The 2D convolution kernel of size 7x7.
Divisor The divisor of the convolution sum. Must be >0.

Note: Non-MMX implementation not available for this function.

Returns:
Returns 1 if filter was applied, 0 otherwise.

Definition at line 4666 of file SDL_imageFilter.c.

int SDL_imageFilterConvolveKernel7x7ShiftRight ( unsigned char *  Src,
unsigned char *  Dest,
int  rows,
int  columns,
signed short *  Kernel,
unsigned char  NRightShift 
)

Filter using ConvolveKernel7x7ShiftRight: Dij = saturation0and255( ... ).

Parameters:
Src The source 2D byte array to convolve. Should be different from destination.
Dest The destination 2D byte array to store the result in. Should be different from source.
rows Number of rows in source/destination array. Must be >6.
columns Number of columns in source/destination array. Must be >6.
Kernel The 2D convolution kernel of size 7x7.
NRightShift The number of right bit shifts to apply to the convolution sum. Must be <7.

Note: Non-MMX implementation not available for this function.

Returns:
Returns 1 if filter was applied, 0 otherwise.

Definition at line 6045 of file SDL_imageFilter.c.

int SDL_imageFilterConvolveKernel9x9Divide ( unsigned char *  Src,
unsigned char *  Dest,
int  rows,
int  columns,
signed short *  Kernel,
unsigned char  Divisor 
)

Filter using ConvolveKernel9x9Divide: Dij = saturation0and255( ... ).

Parameters:
Src The source 2D byte array to convolve. Should be different from destination.
Dest The destination 2D byte array to store the result in. Should be different from source.
rows Number of rows in source/destination array. Must be >8.
columns Number of columns in source/destination array. Must be >8.
Kernel The 2D convolution kernel of size 9x9.
Divisor The divisor of the convolution sum. Must be >0.

Note: Non-MMX implementation not available for this function.

Returns:
Returns 1 if filter was applied, 0 otherwise.

Definition at line 5022 of file SDL_imageFilter.c.

int SDL_imageFilterConvolveKernel9x9ShiftRight ( unsigned char *  Src,
unsigned char *  Dest,
int  rows,
int  columns,
signed short *  Kernel,
unsigned char  NRightShift 
)

Filter using ConvolveKernel9x9ShiftRight: Dij = saturation255( ... ).

Parameters:
Src The source 2D byte array to convolve. Should be different from destination.
Dest The destination 2D byte array to store the result in. Should be different from source.
rows Number of rows in source/destination array. Must be >8.
columns Number of columns in source/destination array. Must be >8.
Kernel The 2D convolution kernel of size 9x9.
NRightShift The number of right bit shifts to apply to the convolution sum. Must be <7.

Note: Non-MMX implementation not available for this function.

Returns:
Returns 1 if filter was applied, 0 otherwise.

Definition at line 6407 of file SDL_imageFilter.c.

int SDL_imageFilterDiv ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  length 
)

Filter using Div: D = S1 / S2.

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 1535 of file SDL_imageFilter.c.

int SDL_imageFilterDivASM ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  SrcLength 
)

Internal ASM Filter using Div: D = S1 / S2.

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 1464 of file SDL_imageFilter.c.

int SDL_imageFilterMean ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  length 
)

Filter using Mean: D = S1/2 + S2/2.

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 330 of file SDL_imageFilter.c.

int SDL_imageFilterMeanMMX ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  SrcLength,
unsigned char *  Mask 
)

Internal MMX Filter using Mean: D = S1/2 + S2/2.

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source arrays.
Mask Mask array containing 8 bytes with 0x7F value. ]
Returns:
Returns 0 for success or -1 for error.

Definition at line 243 of file SDL_imageFilter.c.

int SDL_imageFilterMMXdetect ( void   ) 

MMX detection routine (with override flag).

Returns:
1 of MMX was detected, 0 otherwise.

Definition at line 74 of file SDL_imageFilter.c.

void SDL_imageFilterMMXoff ( void   ) 

Disable MMX check for filter functions and and force to use non-MMX C based code.

Definition at line 93 of file SDL_imageFilter.c.

void SDL_imageFilterMMXon ( void   ) 

Enable MMX check for filter functions and use MMX code if available.

Definition at line 101 of file SDL_imageFilter.c.

int SDL_imageFilterMult ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  length 
)

Filter using Mult: D = saturation255(S1 * S2).

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 740 of file SDL_imageFilter.c.

int SDL_imageFilterMultByByte ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  length,
unsigned char  C 
)

Filter using MultByByte: D = saturation255(S * C).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source arrays.
C Constant to multiply with (C).
Returns:
Returns 0 for success or -1 for error.

Definition at line 2877 of file SDL_imageFilter.c.

int SDL_imageFilterMultByByteMMX ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  SrcLength,
unsigned char  C 
)

Internal MMX Filter using MultByByte: D = saturation255(S * C).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source array.
C Constant to multiply with (C).
Returns:
Returns 0 for success or -1 for error.

Definition at line 2736 of file SDL_imageFilter.c.

int SDL_imageFilterMultDivby2 ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  length 
)

Filter using MultDivby2: D = saturation255(S1/2 * S2).

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 1012 of file SDL_imageFilter.c.

int SDL_imageFilterMultDivby2MMX ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  SrcLength 
)

Internal MMX Filter using MultDivby2: D = saturation255(S1/2 * S2).

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 925 of file SDL_imageFilter.c.

int SDL_imageFilterMultDivby4 ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  length 
)

Filter using MultDivby4: D = saturation255(S1/2 * S2/2).

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 1163 of file SDL_imageFilter.c.

int SDL_imageFilterMultDivby4MMX ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  SrcLength 
)

Internal MMX Filter using MultDivby4: D = saturation255(S1/2 * S2/2).

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 1072 of file SDL_imageFilter.c.

int SDL_imageFilterMultMMX ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  SrcLength 
)

Internal MMX Filter using Mult: D = saturation255(S1 * S2).

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 639 of file SDL_imageFilter.c.

int SDL_imageFilterMultNor ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  length 
)

Filter using MultNor: D = S1 * S2.

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 862 of file SDL_imageFilter.c.

int SDL_imageFilterMultNorASM ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  SrcLength 
)

Internal ASM Filter using MultNor: D = S1 * S2.

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 803 of file SDL_imageFilter.c.

int SDL_imageFilterNormalizeLinear ( unsigned char *  Src,
unsigned char *  Dest,
unsigned int  length,
int  Cmin,
int  Cmax,
int  Nmin,
int  Nmax 
)

Filter using NormalizeLinear: D = saturation255((Nmax - Nmin)/(Cmax - Cmin)*(S - Cmin) + Nmin).

Parameters:
Src Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source array.
Cmin Normalization constant.
Cmax Normalization constant.
Nmin Normalization constant.
Nmax Normalization constant.
Returns:
Returns 0 for success or -1 for error.

Definition at line 4104 of file SDL_imageFilter.c.

int SDL_imageFilterNormalizeLinearMMX ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  SrcLength,
int  Cmin,
int  Cmax,
int  Nmin,
int  Nmax 
)

Internal MMX Filter using NormalizeLinear: D = saturation255((Nmax - Nmin)/(Cmax - Cmin)*(S - Cmin) + Nmin).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source array.
Cmin Normalization constant (Cmin).
Cmax Normalization constant (Cmax).
Nmin Normalization constant (Nmin).
Nmax Normalization constant (Nmax).
Returns:
Returns 0 for success or -1 for error.

Definition at line 3934 of file SDL_imageFilter.c.

void SDL_imageFilterRestoreStack ( void   ) 

Restore previously aligned stack.

Definition at line 7539 of file SDL_imageFilter.c.

int SDL_imageFilterShiftLeft ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  length,
unsigned char  N 
)

Filter ShiftLeft: D = saturation255(S << N).

Parameters:
Src1 Pointer to the start of the source byte array (S1).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source array.
N Number of bit-positions to shift (N). Valid range is 0 to 8.
Returns:
Returns 0 for success or -1 for error.

Definition at line 3536 of file SDL_imageFilter.c.

int SDL_imageFilterShiftLeftByte ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  length,
unsigned char  N 
)

Filter using ShiftLeftByte: D = (S << N).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source arrays.
N Number of bit-positions to shift (N). Valid range is 0 to 8.
Returns:
Returns 0 for success or -1 for error.

Definition at line 3211 of file SDL_imageFilter.c.

int SDL_imageFilterShiftLeftByteMMX ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  SrcLength,
unsigned char  N,
unsigned char *  Mask 
)

Internal MMX Filter using ShiftLeftByte: D = (S << N).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source arrays.
N Number of bit-positions to shift (N). Valid range is 0 to 8.
Mask Byte array containing 8 bytes of 0xFE value.
Returns:
Returns 0 for success or -1 for error.

Definition at line 3121 of file SDL_imageFilter.c.

int SDL_imageFilterShiftLeftMMX ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  SrcLength,
unsigned char  N 
)

Internal MMX Filter ShiftLeft: D = saturation255(S << N).

Parameters:
Src1 Pointer to the start of the source byte array (S1).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source array.
N Number of bit-positions to shift (N). Valid range is 0 to 8.
Returns:
Returns 0 for success or -1 for error.

Definition at line 3408 of file SDL_imageFilter.c.

int SDL_imageFilterShiftLeftUint ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  length,
unsigned char  N 
)

Filter using ShiftLeftUint: D = ((uint)S << N).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source array.
N Number of bit-positions to shift (N). Valid range is 0 to 32.
Returns:
Returns 0 for success or -1 for error.

Definition at line 3338 of file SDL_imageFilter.c.

int SDL_imageFilterShiftLeftUintMMX ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  SrcLength,
unsigned char  N 
)

Internal MMX Filter using ShiftLeftUint: D = ((uint)S << N).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source array.
N Number of bit-positions to shift (N). Valid range is 0 to 32.
Returns:
Returns 0 for success or -1 for error.

Definition at line 3277 of file SDL_imageFilter.c.

int SDL_imageFilterShiftRight ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  length,
unsigned char  N 
)

Filter using ShiftRight: D = saturation0(S >> N).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source array.
N Number of bit-positions to shift (N). Valid range is 0 to 8.
Returns:
Returns 0 for success or -1 for error.

Definition at line 2538 of file SDL_imageFilter.c.

int SDL_imageFilterShiftRightAndMultByByte ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  length,
unsigned char  N,
unsigned char  C 
)

Filter using ShiftRightAndMultByByte: D = saturation255((S >> N) * C).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source array.
N Number of bit-positions to shift (N). Valid range is 0 to 8.
C Constant to multiply with (C).
Returns:
Returns 0 for success or -1 for error.

Definition at line 3048 of file SDL_imageFilter.c.

int SDL_imageFilterShiftRightAndMultByByteMMX ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  SrcLength,
unsigned char  N,
unsigned char  C 
)

Internal MMX Filter using ShiftRightAndMultByByteMMX: D = saturation255((S >> N) * C).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source array.
N Number of bit-positions to shift (N). Valid range is 0 to 8.
C Constant to multiply with (C).
Returns:
Returns 0 for success or -1 for error.

Definition at line 2944 of file SDL_imageFilter.c.

int SDL_imageFilterShiftRightMMX ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  SrcLength,
unsigned char  N,
unsigned char *  Mask 
)

Internal MMX Filter using ShiftRight: D = saturation0(S >> N).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source array.
N Number of bit-positions to shift (N). Valid range is 0 to 8.
Mask Byte array containing 8 bytes with 0x7F value.
Returns:
Returns 0 for success or -1 for error.

Definition at line 2445 of file SDL_imageFilter.c.

int SDL_imageFilterShiftRightUint ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  length,
unsigned char  N 
)

Filter using ShiftRightUint: D = saturation0((uint)S[i] >> N).

Parameters:
Src1 Pointer to the start of the source byte array (S1).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source array.
N Number of bit-positions to shift (N). Valid range is 0 to 32.
Returns:
Returns 0 for success or -1 for error.

Definition at line 2666 of file SDL_imageFilter.c.

int SDL_imageFilterShiftRightUintMMX ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  SrcLength,
unsigned char  N 
)

Internal MMX Filter using ShiftRightUint: D = saturation0((uint)S[i] >> N).

Parameters:
Src1 Pointer to the start of the source byte array (S1).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source array.
N Number of bit-positions to shift (N).
Returns:
Returns 0 for success or -1 for error.

Definition at line 2605 of file SDL_imageFilter.c.

int SDL_imageFilterSobelX ( unsigned char *  Src,
unsigned char *  Dest,
int  rows,
int  columns 
)

Filter using SobelX: Dij = saturation255( ... ).

Parameters:
Src The source 2D byte array to sobel-filter. Should be different from destination.
Dest The destination 2D byte array to store the result in. Should be different from source.
rows Number of rows in source/destination array. Must be >2.
columns Number of columns in source/destination array. Must be >7.

Note: Non-MMX implementation not available for this function.

Returns:
Returns 1 if filter was applied, 0 otherwise.

Definition at line 6986 of file SDL_imageFilter.c.

int SDL_imageFilterSobelXShiftRight ( unsigned char *  Src,
unsigned char *  Dest,
int  rows,
int  columns,
unsigned char  NRightShift 
)

Filter using SobelXShiftRight: Dij = saturation255( ... ).

Parameters:
Src The source 2D byte array to sobel-filter. Should be different from destination.
Dest The destination 2D byte array to store the result in. Should be different from source.
rows Number of rows in source/destination array. Must be >2.
columns Number of columns in source/destination array. Must be >8.
NRightShift The number of right bit shifts to apply to the filter sum. Must be <7.

Note: Non-MMX implementation not available for this function.

Returns:
Returns 1 if filter was applied, 0 otherwise.

Definition at line 7238 of file SDL_imageFilter.c.

int SDL_imageFilterSub ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  length 
)

Filter using Sub: D = saturation0(S1 - S2).

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 452 of file SDL_imageFilter.c.

int SDL_imageFilterSubByte ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  length,
unsigned char  C 
)

Filter using SubByte: D = saturation0(S - C).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source arrays.
C Constant to subtract (C).
Returns:
Returns 0 for success or -1 for error.

Definition at line 2230 of file SDL_imageFilter.c.

int SDL_imageFilterSubByteMMX ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  SrcLength,
unsigned char  C 
)

Internal MMX Filter using SubByte: D = saturation0(S - C).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source array.
C Constant to subtract (C).
Returns:
Returns 0 for success or -1 for error.

Definition at line 2151 of file SDL_imageFilter.c.

int SDL_imageFilterSubMMX ( unsigned char *  Src1,
unsigned char *  Src2,
unsigned char *  Dest,
unsigned int  SrcLength 
)

Internal MMX Filter using Sub: D = saturation0(S1 - S2).

Parameters:
Src1 Pointer to the start of the first source byte array (S1).
Src2 Pointer to the start of the second source byte array (S2).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source arrays.
Returns:
Returns 0 for success or -1 for error.

Definition at line 389 of file SDL_imageFilter.c.

int SDL_imageFilterSubUint ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  length,
unsigned int  C 
)

Filter using SubUint: D = saturation0(S[i] - Cs[i % 4]), Cs=Swap32((uint)C).

Parameters:
Src1 Pointer to the start of the source byte array (S1).
Dest Pointer to the start of the destination byte array (D).
length The number of bytes in the source array.
C Constant to subtract (C).
Returns:
Returns 0 for success or -1 for error.

Definition at line 2371 of file SDL_imageFilter.c.

int SDL_imageFilterSubUintMMX ( unsigned char *  Src1,
unsigned char *  Dest,
unsigned int  SrcLength,
unsigned int  C,
unsigned int  D 
)

Internal MMX Filter using SubUint: D = saturation0(S[i] - Cs[i % 4]), Cs=Swap32((uint)C).

Parameters:
Src1 Pointer to the start of the source byte array (S).
Dest Pointer to the start of the destination byte array (D).
SrcLength The number of bytes in the source array.
C Constant to subtract (C).
D Byteorder-swapped constant to subtract (Cs).
Returns:
Returns 0 for success or -1 for error.

Definition at line 2297 of file SDL_imageFilter.c.


Generated by  doxygen 1.6.2