Sophie

Sophie

distrib > Mageia > 1 > i586 > media > core-release > by-pkgid > dabbad934aa2b21dfdf7cadba1bf877f > files > 43

libSDL_gfx-devel-2.0.22-1.mga1.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>SDL_gfx: SDL_imageFilter.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.2 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>SDL_imageFilter.h File Reference</h1>
<p><a href="_s_d_l__image_filter_8h_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a5823f6eb23fe8e74764a94f3d78204ef">SDL_imageFilterMMXdetect</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">MMX detection routine (with override flag).  <a href="#a5823f6eb23fe8e74764a94f3d78204ef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a403adc470cb1dd34520f18d55804d4ea">SDL_imageFilterMMXoff</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disable MMX check for filter functions and and force to use non-MMX C based code.  <a href="#a403adc470cb1dd34520f18d55804d4ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a848ce7e9551b25fea19fe1fb739f74fb">SDL_imageFilterMMXon</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable MMX check for filter functions and use MMX code if available.  <a href="#a848ce7e9551b25fea19fe1fb739f74fb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a9034268e2f51550d8f1d6084bda45194">SDL_imageFilterAdd</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using Add: D = saturation255(S1 + S2).  <a href="#a9034268e2f51550d8f1d6084bda45194"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a69cfa83c5d198c8ae4be4ab86e8d3b8f">SDL_imageFilterMean</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using Mean: D = S1/2 + S2/2.  <a href="#a69cfa83c5d198c8ae4be4ab86e8d3b8f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a0e0fb80a3dad33d61a8147c7fb9f529d">SDL_imageFilterSub</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using Sub: D = saturation0(S1 - S2).  <a href="#a0e0fb80a3dad33d61a8147c7fb9f529d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a789ce070edcc478ad97a0d7ff90e6aa2">SDL_imageFilterAbsDiff</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using AbsDiff: D = | S1 - S2 |.  <a href="#a789ce070edcc478ad97a0d7ff90e6aa2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a4657c2a1e1bf55d3241dc737cd618409">SDL_imageFilterMult</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using Mult: D = saturation255(S1 * S2).  <a href="#a4657c2a1e1bf55d3241dc737cd618409"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#ac4f3446d0da18746b48606fe37c26385">SDL_imageFilterMultNor</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using MultNor: D = S1 * S2.  <a href="#ac4f3446d0da18746b48606fe37c26385"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#aa19248767b1fd9ffdea4ba69b9f00175">SDL_imageFilterMultDivby2</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using MultDivby2: D = saturation255(S1/2 * S2).  <a href="#aa19248767b1fd9ffdea4ba69b9f00175"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#aa92bea3946c8081c9656304a7d944fae">SDL_imageFilterMultDivby4</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using MultDivby4: D = saturation255(S1/2 * S2/2).  <a href="#aa92bea3946c8081c9656304a7d944fae"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a5f67460c0b89dadd49d04832608a345b">SDL_imageFilterBitAnd</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using BitAnd: D = S1 &amp; S2.  <a href="#a5f67460c0b89dadd49d04832608a345b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a0acf0eabba33f8fa7acbc08dc3015cd3">SDL_imageFilterBitOr</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using BitOr: D = S1 | S2.  <a href="#a0acf0eabba33f8fa7acbc08dc3015cd3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#aeb8ed56aa7de3c8b0d0b2aa9163c3e37">SDL_imageFilterDiv</a> (unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using Div: D = S1 / S2.  <a href="#aeb8ed56aa7de3c8b0d0b2aa9163c3e37"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#abc3c3fc5f018e271f6393921f3964d31">SDL_imageFilterBitNegation</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using BitNegation: D = !S.  <a href="#abc3c3fc5f018e271f6393921f3964d31"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a6be6dccd000eff4baadd33297e5cc419">SDL_imageFilterAddByte</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using AddByte: D = saturation255(S + C).  <a href="#a6be6dccd000eff4baadd33297e5cc419"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#af1a17645dea69e52c7bd560521286765">SDL_imageFilterAddUint</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned int C)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using AddUint: D = saturation255((S[i] + Cs[i % 4]), Cs=Swap32((uint)C).  <a href="#af1a17645dea69e52c7bd560521286765"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a8cbdffd5dbcab3b5dc9207d57af616b3">SDL_imageFilterAddByteToHalf</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using AddByteToHalf: D = saturation255(S/2 + C).  <a href="#a8cbdffd5dbcab3b5dc9207d57af616b3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#af8f4ab4050a0661c7696783ba1a1b12b">SDL_imageFilterSubByte</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using SubByte: D = saturation0(S - C).  <a href="#af8f4ab4050a0661c7696783ba1a1b12b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#ae2f3c5992701bded7c2d256bbbfb403f">SDL_imageFilterSubUint</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned int C)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using SubUint: D = saturation0(S[i] - Cs[i % 4]), Cs=Swap32((uint)C).  <a href="#ae2f3c5992701bded7c2d256bbbfb403f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a931f1232cd03acd2ba90af222625f4ca">SDL_imageFilterShiftRight</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using ShiftRight: D = saturation0(S &gt;&gt; N).  <a href="#a931f1232cd03acd2ba90af222625f4ca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a4ccddf5c575cc4d6074c9a54789240a6">SDL_imageFilterShiftRightUint</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using ShiftRightUint: D = saturation0((uint)S[i] &gt;&gt; N).  <a href="#a4ccddf5c575cc4d6074c9a54789240a6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#add06bb6ea7847fc13a3041ddceb4ac3c">SDL_imageFilterMultByByte</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using MultByByte: D = saturation255(S * C).  <a href="#add06bb6ea7847fc13a3041ddceb4ac3c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a40e1e21ede9a7ed1eddac2cdbfd0b079">SDL_imageFilterShiftRightAndMultByByte</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N, unsigned char C)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using ShiftRightAndMultByByte: D = saturation255((S &gt;&gt; N) * C).  <a href="#a40e1e21ede9a7ed1eddac2cdbfd0b079"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#ac32f1ea9acbee51c2db94224ef6f7fd2">SDL_imageFilterShiftLeftByte</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using ShiftLeftByte: D = (S &lt;&lt; N).  <a href="#ac32f1ea9acbee51c2db94224ef6f7fd2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a4fd6d4a9711c13163496587454d9f1a2">SDL_imageFilterShiftLeftUint</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using ShiftLeftUint: D = ((uint)S &lt;&lt; N).  <a href="#a4fd6d4a9711c13163496587454d9f1a2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a084f9544f049cc01e7b2f1090534abbf">SDL_imageFilterShiftLeft</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter ShiftLeft: D = saturation255(S &lt;&lt; N).  <a href="#a084f9544f049cc01e7b2f1090534abbf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#ad5bf97d7e39d018d2eeb570e97edf8c0">SDL_imageFilterBinarizeUsingThreshold</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char T)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using BinarizeUsingThreshold: D = (S &gt;= T) ? 255:0.  <a href="#ad5bf97d7e39d018d2eeb570e97edf8c0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#ae9d552de9cf5a4a1716d91ee905eafd7">SDL_imageFilterClipToRange</a> (unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char Tmin, unsigned char Tmax)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using ClipToRange: D = (S &gt;= Tmin) &amp; (S &lt;= Tmax) S:Tmin | Tmax.  <a href="#ae9d552de9cf5a4a1716d91ee905eafd7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#aacb316a18d8cb7999d5d53ee5e7b9750">SDL_imageFilterNormalizeLinear</a> (unsigned char *Src, unsigned char *Dest, unsigned int length, int Cmin, int Cmax, int Nmin, int Nmax)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using NormalizeLinear: D = saturation255((Nmax - Nmin)/(Cmax - Cmin)*(S - Cmin) + Nmin).  <a href="#aacb316a18d8cb7999d5d53ee5e7b9750"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a7286cd21fa0a0cfb0606806dacfbe121">SDL_imageFilterConvolveKernel3x3Divide</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using ConvolveKernel3x3Divide: Dij = saturation0and255( ... ).  <a href="#a7286cd21fa0a0cfb0606806dacfbe121"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a432d7bcc34b6bea42d1a07b4db795e1f">SDL_imageFilterConvolveKernel5x5Divide</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using ConvolveKernel5x5Divide: Dij = saturation0and255( ... ).  <a href="#a432d7bcc34b6bea42d1a07b4db795e1f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#acc177cf891758fdc4bf7533fb266e339">SDL_imageFilterConvolveKernel7x7Divide</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using ConvolveKernel7x7Divide: Dij = saturation0and255( ... ).  <a href="#acc177cf891758fdc4bf7533fb266e339"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#af8a8114acd0509787ae5265990049720">SDL_imageFilterConvolveKernel9x9Divide</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using ConvolveKernel9x9Divide: Dij = saturation0and255( ... ).  <a href="#af8a8114acd0509787ae5265990049720"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a67929babce179e1e333c5cd2e5fc4091">SDL_imageFilterConvolveKernel3x3ShiftRight</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using ConvolveKernel3x3ShiftRight: Dij = saturation0and255( ... ).  <a href="#a67929babce179e1e333c5cd2e5fc4091"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a9aaa45452b04f51f52826c2104ea3b85">SDL_imageFilterConvolveKernel5x5ShiftRight</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using ConvolveKernel5x5ShiftRight: Dij = saturation0and255( ... ).  <a href="#a9aaa45452b04f51f52826c2104ea3b85"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a6dbe52e917c0858bd311e9ce75219587">SDL_imageFilterConvolveKernel7x7ShiftRight</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using ConvolveKernel7x7ShiftRight: Dij = saturation0and255( ... ).  <a href="#a6dbe52e917c0858bd311e9ce75219587"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#ad2702d0524a16032118fdf67e3e0f44a">SDL_imageFilterConvolveKernel9x9ShiftRight</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using ConvolveKernel9x9ShiftRight: Dij = saturation255( ... ).  <a href="#ad2702d0524a16032118fdf67e3e0f44a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a2a0e4e259150abbe33bcddb046c367ba">SDL_imageFilterSobelX</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using SobelX: Dij = saturation255( ... ).  <a href="#a2a0e4e259150abbe33bcddb046c367ba"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#ab9cc925cd9b135e245936d718b459032">SDL_imageFilterSobelXShiftRight</a> (unsigned char *Src, unsigned char *Dest, int rows, int columns, unsigned char NRightShift)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter using SobelXShiftRight: Dij = saturation255( ... ).  <a href="#ab9cc925cd9b135e245936d718b459032"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a08a45265e9e84bf8beedebba26da947c">SDL_imageFilterAlignStack</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Align stack to 32 byte boundary,.  <a href="#a08a45265e9e84bf8beedebba26da947c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SDL_IMAGEFILTER_SCOPE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="_s_d_l__image_filter_8h.html#a84f360601d5e6e017f0e74a2cf83be6c">SDL_imageFilterRestoreStack</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Restore previously aligned stack.  <a href="#a84f360601d5e6e017f0e74a2cf83be6c"></a><br/></td></tr>
</table>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a789ce070edcc478ad97a0d7ff90e6aa2"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterAbsDiff" ref="a789ce070edcc478ad97a0d7ff90e6aa2" args="(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterAbsDiff </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using AbsDiff: D = | S1 - S2 |. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Src2</em>&nbsp;</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00581">581</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a9034268e2f51550d8f1d6084bda45194"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterAdd" ref="a9034268e2f51550d8f1d6084bda45194" args="(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterAdd </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using Add: D = saturation255(S1 + S2). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Src2</em>&nbsp;</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00181">181</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a6be6dccd000eff4baadd33297e5cc419"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterAddByte" ref="a6be6dccd000eff4baadd33297e5cc419" args="(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterAddByte </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>C</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using AddByte: D = saturation255(S + C). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source array. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>Constant value to add (C).</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l01782">1782</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a8cbdffd5dbcab3b5dc9207d57af616b3"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterAddByteToHalf" ref="a8cbdffd5dbcab3b5dc9207d57af616b3" args="(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterAddByteToHalf </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>C</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using AddByteToHalf: D = saturation255(S/2 + C). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source array. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>Constant to add (C).</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l02089">2089</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="af1a17645dea69e52c7bd560521286765"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterAddUint" ref="af1a17645dea69e52c7bd560521286765" args="(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned int C)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterAddUint </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>C</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using AddUint: D = saturation255((S[i] + Cs[i % 4]), Cs=Swap32((uint)C). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source array. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>Constant to add (C).</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l01923">1923</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a08a45265e9e84bf8beedebba26da947c"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterAlignStack" ref="a08a45265e9e84bf8beedebba26da947c" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE void SDL_imageFilterAlignStack </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Align stack to 32 byte boundary,. </p>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l07511">7511</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="ad5bf97d7e39d018d2eeb570e97edf8c0"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterBinarizeUsingThreshold" ref="ad5bf97d7e39d018d2eeb570e97edf8c0" args="(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char T)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterBinarizeUsingThreshold </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>T</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using BinarizeUsingThreshold: D = (S &gt;= T) ? 255:0. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source array. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>The threshold boundary (inclusive).</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l03691">3691</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a5f67460c0b89dadd49d04832608a345b"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterBitAnd" ref="a5f67460c0b89dadd49d04832608a345b" args="(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterBitAnd </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using BitAnd: D = S1 &amp; S2. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Src2</em>&nbsp;</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l01286">1286</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="abc3c3fc5f018e271f6393921f3964d31"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterBitNegation" ref="abc3c3fc5f018e271f6393921f3964d31" args="(unsigned char *Src1, unsigned char *Dest, unsigned int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterBitNegation </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using BitNegation: D = !S. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source array.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l01648">1648</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a0acf0eabba33f8fa7acbc08dc3015cd3"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterBitOr" ref="a0acf0eabba33f8fa7acbc08dc3015cd3" args="(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterBitOr </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using BitOr: D = S1 | S2. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Src2</em>&nbsp;</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l01408">1408</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="ae9d552de9cf5a4a1716d91ee905eafd7"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterClipToRange" ref="ae9d552de9cf5a4a1716d91ee905eafd7" args="(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char Tmin, unsigned char Tmax)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterClipToRange </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>Tmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>Tmax</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ClipToRange: D = (S &gt;= Tmin) &amp; (S &lt;= Tmax) S:Tmin | Tmax. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source array. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Tmin</em>&nbsp;</td><td>Lower (inclusive) boundary of the clipping range. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Tmax</em>&nbsp;</td><td>Upper (inclusive) boundary of the clipping range.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l03864">3864</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a7286cd21fa0a0cfb0606806dacfbe121"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterConvolveKernel3x3Divide" ref="a7286cd21fa0a0cfb0606806dacfbe121" args="(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterConvolveKernel3x3Divide </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">signed short *&nbsp;</td>
          <td class="paramname"> <em>Kernel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>Divisor</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ConvolveKernel3x3Divide: Dij = saturation0and255( ... ). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src</em>&nbsp;</td><td>The source 2D byte array to convolve. Should be different from destination. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rows</em>&nbsp;</td><td>Number of rows in source/destination array. Must be &gt;2. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>columns</em>&nbsp;</td><td>Number of columns in source/destination array. Must be &gt;2. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Kernel</em>&nbsp;</td><td>The 2D convolution kernel of size 3x3. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Divisor</em>&nbsp;</td><td>The divisor of the convolution sum. Must be &gt;0.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l04175">4175</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a67929babce179e1e333c5cd2e5fc4091"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterConvolveKernel3x3ShiftRight" ref="a67929babce179e1e333c5cd2e5fc4091" args="(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterConvolveKernel3x3ShiftRight </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">signed short *&nbsp;</td>
          <td class="paramname"> <em>Kernel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>NRightShift</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ConvolveKernel3x3ShiftRight: Dij = saturation0and255( ... ). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src</em>&nbsp;</td><td>The source 2D byte array to convolve. Should be different from destination. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rows</em>&nbsp;</td><td>Number of rows in source/destination array. Must be &gt;2. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>columns</em>&nbsp;</td><td>Number of columns in source/destination array. Must be &gt;2. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Kernel</em>&nbsp;</td><td>The 2D convolution kernel of size 3x3. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>NRightShift</em>&nbsp;</td><td>The number of right bit shifts to apply to the convolution sum. Must be &lt;7.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l05569">5569</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a432d7bcc34b6bea42d1a07b4db795e1f"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterConvolveKernel5x5Divide" ref="a432d7bcc34b6bea42d1a07b4db795e1f" args="(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterConvolveKernel5x5Divide </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">signed short *&nbsp;</td>
          <td class="paramname"> <em>Kernel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>Divisor</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ConvolveKernel5x5Divide: Dij = saturation0and255( ... ). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src</em>&nbsp;</td><td>The source 2D byte array to convolve. Should be different from destination. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rows</em>&nbsp;</td><td>Number of rows in source/destination array. Must be &gt;4. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>columns</em>&nbsp;</td><td>Number of columns in source/destination array. Must be &gt;4. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Kernel</em>&nbsp;</td><td>The 2D convolution kernel of size 5x5. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Divisor</em>&nbsp;</td><td>The divisor of the convolution sum. Must be &gt;0.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l04364">4364</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a9aaa45452b04f51f52826c2104ea3b85"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterConvolveKernel5x5ShiftRight" ref="a9aaa45452b04f51f52826c2104ea3b85" args="(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterConvolveKernel5x5ShiftRight </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">signed short *&nbsp;</td>
          <td class="paramname"> <em>Kernel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>NRightShift</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ConvolveKernel5x5ShiftRight: Dij = saturation0and255( ... ). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src</em>&nbsp;</td><td>The source 2D byte array to convolve. Should be different from destination. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rows</em>&nbsp;</td><td>Number of rows in source/destination array. Must be &gt;4. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>columns</em>&nbsp;</td><td>Number of columns in source/destination array. Must be &gt;4. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Kernel</em>&nbsp;</td><td>The 2D convolution kernel of size 5x5. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>NRightShift</em>&nbsp;</td><td>The number of right bit shifts to apply to the convolution sum. Must be &lt;7.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l05745">5745</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="acc177cf891758fdc4bf7533fb266e339"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterConvolveKernel7x7Divide" ref="acc177cf891758fdc4bf7533fb266e339" args="(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterConvolveKernel7x7Divide </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">signed short *&nbsp;</td>
          <td class="paramname"> <em>Kernel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>Divisor</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ConvolveKernel7x7Divide: Dij = saturation0and255( ... ). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src</em>&nbsp;</td><td>The source 2D byte array to convolve. Should be different from destination. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rows</em>&nbsp;</td><td>Number of rows in source/destination array. Must be &gt;6. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>columns</em>&nbsp;</td><td>Number of columns in source/destination array. Must be &gt;6. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Kernel</em>&nbsp;</td><td>The 2D convolution kernel of size 7x7. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Divisor</em>&nbsp;</td><td>The divisor of the convolution sum. Must be &gt;0.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l04666">4666</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a6dbe52e917c0858bd311e9ce75219587"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterConvolveKernel7x7ShiftRight" ref="a6dbe52e917c0858bd311e9ce75219587" args="(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterConvolveKernel7x7ShiftRight </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">signed short *&nbsp;</td>
          <td class="paramname"> <em>Kernel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>NRightShift</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ConvolveKernel7x7ShiftRight: Dij = saturation0and255( ... ). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src</em>&nbsp;</td><td>The source 2D byte array to convolve. Should be different from destination. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rows</em>&nbsp;</td><td>Number of rows in source/destination array. Must be &gt;6. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>columns</em>&nbsp;</td><td>Number of columns in source/destination array. Must be &gt;6. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Kernel</em>&nbsp;</td><td>The 2D convolution kernel of size 7x7. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>NRightShift</em>&nbsp;</td><td>The number of right bit shifts to apply to the convolution sum. Must be &lt;7.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l06045">6045</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="af8a8114acd0509787ae5265990049720"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterConvolveKernel9x9Divide" ref="af8a8114acd0509787ae5265990049720" args="(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char Divisor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterConvolveKernel9x9Divide </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">signed short *&nbsp;</td>
          <td class="paramname"> <em>Kernel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>Divisor</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ConvolveKernel9x9Divide: Dij = saturation0and255( ... ). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src</em>&nbsp;</td><td>The source 2D byte array to convolve. Should be different from destination. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rows</em>&nbsp;</td><td>Number of rows in source/destination array. Must be &gt;8. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>columns</em>&nbsp;</td><td>Number of columns in source/destination array. Must be &gt;8. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Kernel</em>&nbsp;</td><td>The 2D convolution kernel of size 9x9. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Divisor</em>&nbsp;</td><td>The divisor of the convolution sum. Must be &gt;0.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l05022">5022</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="ad2702d0524a16032118fdf67e3e0f44a"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterConvolveKernel9x9ShiftRight" ref="ad2702d0524a16032118fdf67e3e0f44a" args="(unsigned char *Src, unsigned char *Dest, int rows, int columns, signed short *Kernel, unsigned char NRightShift)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterConvolveKernel9x9ShiftRight </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">signed short *&nbsp;</td>
          <td class="paramname"> <em>Kernel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>NRightShift</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ConvolveKernel9x9ShiftRight: Dij = saturation255( ... ). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src</em>&nbsp;</td><td>The source 2D byte array to convolve. Should be different from destination. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rows</em>&nbsp;</td><td>Number of rows in source/destination array. Must be &gt;8. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>columns</em>&nbsp;</td><td>Number of columns in source/destination array. Must be &gt;8. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Kernel</em>&nbsp;</td><td>The 2D convolution kernel of size 9x9. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>NRightShift</em>&nbsp;</td><td>The number of right bit shifts to apply to the convolution sum. Must be &lt;7.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l06407">6407</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="aeb8ed56aa7de3c8b0d0b2aa9163c3e37"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterDiv" ref="aeb8ed56aa7de3c8b0d0b2aa9163c3e37" args="(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterDiv </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using Div: D = S1 / S2. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Src2</em>&nbsp;</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l01535">1535</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a69cfa83c5d198c8ae4be4ab86e8d3b8f"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterMean" ref="a69cfa83c5d198c8ae4be4ab86e8d3b8f" args="(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterMean </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using Mean: D = S1/2 + S2/2. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Src2</em>&nbsp;</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00330">330</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a5823f6eb23fe8e74764a94f3d78204ef"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterMMXdetect" ref="a5823f6eb23fe8e74764a94f3d78204ef" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterMMXdetect </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>MMX detection routine (with override flag). </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 of MMX was detected, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00074">74</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a403adc470cb1dd34520f18d55804d4ea"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterMMXoff" ref="a403adc470cb1dd34520f18d55804d4ea" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE void SDL_imageFilterMMXoff </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00093">93</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a848ce7e9551b25fea19fe1fb739f74fb"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterMMXon" ref="a848ce7e9551b25fea19fe1fb739f74fb" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE void SDL_imageFilterMMXon </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enable MMX check for filter functions and use MMX code if available. </p>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00101">101</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a4657c2a1e1bf55d3241dc737cd618409"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterMult" ref="a4657c2a1e1bf55d3241dc737cd618409" args="(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterMult </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using Mult: D = saturation255(S1 * S2). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Src2</em>&nbsp;</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00740">740</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="add06bb6ea7847fc13a3041ddceb4ac3c"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterMultByByte" ref="add06bb6ea7847fc13a3041ddceb4ac3c" args="(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterMultByByte </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>C</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using MultByByte: D = saturation255(S * C). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source arrays. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>Constant to multiply with (C).</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l02877">2877</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="aa19248767b1fd9ffdea4ba69b9f00175"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterMultDivby2" ref="aa19248767b1fd9ffdea4ba69b9f00175" args="(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterMultDivby2 </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using MultDivby2: D = saturation255(S1/2 * S2). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Src2</em>&nbsp;</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l01012">1012</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="aa92bea3946c8081c9656304a7d944fae"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterMultDivby4" ref="aa92bea3946c8081c9656304a7d944fae" args="(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterMultDivby4 </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using MultDivby4: D = saturation255(S1/2 * S2/2). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Src2</em>&nbsp;</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l01163">1163</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="ac4f3446d0da18746b48606fe37c26385"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterMultNor" ref="ac4f3446d0da18746b48606fe37c26385" args="(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterMultNor </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using MultNor: D = S1 * S2. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Src2</em>&nbsp;</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00862">862</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="aacb316a18d8cb7999d5d53ee5e7b9750"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterNormalizeLinear" ref="aacb316a18d8cb7999d5d53ee5e7b9750" args="(unsigned char *Src, unsigned char *Dest, unsigned int length, int Cmin, int Cmax, int Nmin, int Nmax)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterNormalizeLinear </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>Cmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>Cmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>Nmin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>Nmax</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using NormalizeLinear: D = saturation255((Nmax - Nmin)/(Cmax - Cmin)*(S - Cmin) + Nmin). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src</em>&nbsp;</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source array. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Cmin</em>&nbsp;</td><td>Normalization constant. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Cmax</em>&nbsp;</td><td>Normalization constant. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Nmin</em>&nbsp;</td><td>Normalization constant. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Nmax</em>&nbsp;</td><td>Normalization constant.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l04104">4104</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a84f360601d5e6e017f0e74a2cf83be6c"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterRestoreStack" ref="a84f360601d5e6e017f0e74a2cf83be6c" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE void SDL_imageFilterRestoreStack </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Restore previously aligned stack. </p>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l07539">7539</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a084f9544f049cc01e7b2f1090534abbf"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterShiftLeft" ref="a084f9544f049cc01e7b2f1090534abbf" args="(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterShiftLeft </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>N</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter ShiftLeft: D = saturation255(S &lt;&lt; N). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the source byte array (S1). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source array. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>N</em>&nbsp;</td><td>Number of bit-positions to shift (N). Valid range is 0 to 8.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l03536">3536</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="ac32f1ea9acbee51c2db94224ef6f7fd2"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterShiftLeftByte" ref="ac32f1ea9acbee51c2db94224ef6f7fd2" args="(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterShiftLeftByte </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>N</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ShiftLeftByte: D = (S &lt;&lt; N). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source arrays. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>N</em>&nbsp;</td><td>Number of bit-positions to shift (N). Valid range is 0 to 8.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l03211">3211</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a4fd6d4a9711c13163496587454d9f1a2"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterShiftLeftUint" ref="a4fd6d4a9711c13163496587454d9f1a2" args="(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterShiftLeftUint </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>N</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ShiftLeftUint: D = ((uint)S &lt;&lt; N). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source array. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>N</em>&nbsp;</td><td>Number of bit-positions to shift (N). Valid range is 0 to 32.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l03338">3338</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a931f1232cd03acd2ba90af222625f4ca"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterShiftRight" ref="a931f1232cd03acd2ba90af222625f4ca" args="(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterShiftRight </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>N</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ShiftRight: D = saturation0(S &gt;&gt; N). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source array. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>N</em>&nbsp;</td><td>Number of bit-positions to shift (N). Valid range is 0 to 8.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l02538">2538</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a40e1e21ede9a7ed1eddac2cdbfd0b079"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterShiftRightAndMultByByte" ref="a40e1e21ede9a7ed1eddac2cdbfd0b079" args="(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N, unsigned char C)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterShiftRightAndMultByByte </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>N</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>C</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ShiftRightAndMultByByte: D = saturation255((S &gt;&gt; N) * C). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source array. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>N</em>&nbsp;</td><td>Number of bit-positions to shift (N). Valid range is 0 to 8. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>Constant to multiply with (C).</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l03048">3048</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a4ccddf5c575cc4d6074c9a54789240a6"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterShiftRightUint" ref="a4ccddf5c575cc4d6074c9a54789240a6" args="(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char N)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterShiftRightUint </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>N</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using ShiftRightUint: D = saturation0((uint)S[i] &gt;&gt; N). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the source byte array (S1). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source array. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>N</em>&nbsp;</td><td>Number of bit-positions to shift (N). Valid range is 0 to 32.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l02666">2666</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a2a0e4e259150abbe33bcddb046c367ba"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterSobelX" ref="a2a0e4e259150abbe33bcddb046c367ba" args="(unsigned char *Src, unsigned char *Dest, int rows, int columns)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterSobelX </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>columns</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using SobelX: Dij = saturation255( ... ). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src</em>&nbsp;</td><td>The source 2D byte array to sobel-filter. Should be different from destination. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rows</em>&nbsp;</td><td>Number of rows in source/destination array. Must be &gt;2. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>columns</em>&nbsp;</td><td>Number of columns in source/destination array. Must be &gt;7.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l06986">6986</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="ab9cc925cd9b135e245936d718b459032"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterSobelXShiftRight" ref="ab9cc925cd9b135e245936d718b459032" args="(unsigned char *Src, unsigned char *Dest, int rows, int columns, unsigned char NRightShift)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterSobelXShiftRight </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>columns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>NRightShift</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using SobelXShiftRight: Dij = saturation255( ... ). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src</em>&nbsp;</td><td>The source 2D byte array to sobel-filter. Should be different from destination. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>The destination 2D byte array to store the result in. Should be different from source. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rows</em>&nbsp;</td><td>Number of rows in source/destination array. Must be &gt;2. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>columns</em>&nbsp;</td><td>Number of columns in source/destination array. Must be &gt;8. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>NRightShift</em>&nbsp;</td><td>The number of right bit shifts to apply to the filter sum. Must be &lt;7.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: Non-MMX implementation not available for this function.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 1 if filter was applied, 0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l07238">7238</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="a0e0fb80a3dad33d61a8147c7fb9f529d"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterSub" ref="a0e0fb80a3dad33d61a8147c7fb9f529d" args="(unsigned char *Src1, unsigned char *Src2, unsigned char *Dest, unsigned int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterSub </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using Sub: D = saturation0(S1 - S2). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the first source byte array (S1). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Src2</em>&nbsp;</td><td>Pointer to the start of the second source byte array (S2). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source arrays.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l00452">452</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="af8f4ab4050a0661c7696783ba1a1b12b"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterSubByte" ref="af8f4ab4050a0661c7696783ba1a1b12b" args="(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned char C)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterSubByte </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>C</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using SubByte: D = saturation0(S - C). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the source byte array (S). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source arrays. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>Constant to subtract (C).</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l02230">2230</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
<a class="anchor" id="ae2f3c5992701bded7c2d256bbbfb403f"></a><!-- doxytag: member="SDL_imageFilter.h::SDL_imageFilterSubUint" ref="ae2f3c5992701bded7c2d256bbbfb403f" args="(unsigned char *Src1, unsigned char *Dest, unsigned int length, unsigned int C)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SDL_IMAGEFILTER_SCOPE int SDL_imageFilterSubUint </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Src1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>Dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>C</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Filter using SubUint: D = saturation0(S[i] - Cs[i % 4]), Cs=Swap32((uint)C). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Src1</em>&nbsp;</td><td>Pointer to the start of the source byte array (S1). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Dest</em>&nbsp;</td><td>Pointer to the start of the destination byte array (D). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes in the source array. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>Constant to subtract (C).</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns 0 for success or -1 for error. </dd></dl>

<p>Definition at line <a class="el" href="_s_d_l__image_filter_8c_source.html#l02371">2371</a> of file <a class="el" href="_s_d_l__image_filter_8c_source.html">SDL_imageFilter.c</a>.</p>

</div>
</div>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>