Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 78df66e7a9c96b0d7977c851dcad52a8 > files > 97

lib64gavl-devel-1.4.0-3.mga3.x86_64.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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3"/>
<title>gavl: gavl_dsp_funcs_t Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">gavl
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<div class="title">gavl_dsp_funcs_t Struct Reference<div class="ingroups"><a class="el" href="group__dsp.html">DSP Context</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Function table.  
 <a href="structgavl__dsp__funcs__t.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="gavldsp_8h_source.html">gavldsp.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:afb194c3ae83a471d3de0181e9546f914"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#afb194c3ae83a471d3de0181e9546f914">sad_rgb15</a> )(const uint8_t *src_1, const uint8_t *src_2, int stride_1, int stride_2, int w, int h)</td></tr>
<tr class="memdesc:afb194c3ae83a471d3de0181e9546f914"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the sum of absolute differences (RGB/BGR15)  <a href="#afb194c3ae83a471d3de0181e9546f914"></a><br/></td></tr>
<tr class="separator:afb194c3ae83a471d3de0181e9546f914"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22201ad5d5dd37ae9af9e6096b682ff2"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a22201ad5d5dd37ae9af9e6096b682ff2">sad_rgb16</a> )(const uint8_t *src_1, const uint8_t *src_2, int stride_1, int stride_2, int w, int h)</td></tr>
<tr class="memdesc:a22201ad5d5dd37ae9af9e6096b682ff2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the sum of absolute differences (RGB/BGR16)  <a href="#a22201ad5d5dd37ae9af9e6096b682ff2"></a><br/></td></tr>
<tr class="separator:a22201ad5d5dd37ae9af9e6096b682ff2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeca5fe9367ab2103f3b1f492b8ef5cb5"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#aeca5fe9367ab2103f3b1f492b8ef5cb5">sad_8</a> )(const uint8_t *src_1, const uint8_t *src_2, int stride_1, int stride_2, int w, int h)</td></tr>
<tr class="memdesc:aeca5fe9367ab2103f3b1f492b8ef5cb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the sum of absolute differences (8 bit)  <a href="#aeca5fe9367ab2103f3b1f492b8ef5cb5"></a><br/></td></tr>
<tr class="separator:aeca5fe9367ab2103f3b1f492b8ef5cb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6d6d02344dfae85e0d0200767f4a827"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#ac6d6d02344dfae85e0d0200767f4a827">sad_16</a> )(const uint8_t *src_1, const uint8_t *src_2, int stride_1, int stride_2, int w, int h)</td></tr>
<tr class="memdesc:ac6d6d02344dfae85e0d0200767f4a827"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the sum of absolute differences (16 bit)  <a href="#ac6d6d02344dfae85e0d0200767f4a827"></a><br/></td></tr>
<tr class="separator:ac6d6d02344dfae85e0d0200767f4a827"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d287e8c3aadd6dd4d444973237c9d14"><td class="memItemLeft" align="right" valign="top">float(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a8d287e8c3aadd6dd4d444973237c9d14">sad_f</a> )(const uint8_t *src_1, const uint8_t *src_2, int stride_1, int stride_2, int w, int h)</td></tr>
<tr class="memdesc:a8d287e8c3aadd6dd4d444973237c9d14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the sum of absolute differences (float)  <a href="#a8d287e8c3aadd6dd4d444973237c9d14"></a><br/></td></tr>
<tr class="separator:a8d287e8c3aadd6dd4d444973237c9d14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4651c021944cc125db3e824d71b1a2ea"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a4651c021944cc125db3e824d71b1a2ea">average_rgb15</a> )(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num)</td></tr>
<tr class="memdesc:a4651c021944cc125db3e824d71b1a2ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Average 2 scanlines (RGB/BGR15)  <a href="#a4651c021944cc125db3e824d71b1a2ea"></a><br/></td></tr>
<tr class="separator:a4651c021944cc125db3e824d71b1a2ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08204b578d9b43df6c58dc3381a9de0a"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a08204b578d9b43df6c58dc3381a9de0a">average_rgb16</a> )(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num)</td></tr>
<tr class="memdesc:a08204b578d9b43df6c58dc3381a9de0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Average 2 scanlines (RGB/BGR16)  <a href="#a08204b578d9b43df6c58dc3381a9de0a"></a><br/></td></tr>
<tr class="separator:a08204b578d9b43df6c58dc3381a9de0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbbcabe174a169b9700c495c2842a202"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#adbbcabe174a169b9700c495c2842a202">average_8</a> )(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num)</td></tr>
<tr class="memdesc:adbbcabe174a169b9700c495c2842a202"><td class="mdescLeft">&#160;</td><td class="mdescRight">Average 2 scanlines (8 bit)  <a href="#adbbcabe174a169b9700c495c2842a202"></a><br/></td></tr>
<tr class="separator:adbbcabe174a169b9700c495c2842a202"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a875f149849f0dd8345e2977ee4fb864c"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a875f149849f0dd8345e2977ee4fb864c">average_16</a> )(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num)</td></tr>
<tr class="memdesc:a875f149849f0dd8345e2977ee4fb864c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Average 2 scanlines (16 bit)  <a href="#a875f149849f0dd8345e2977ee4fb864c"></a><br/></td></tr>
<tr class="separator:a875f149849f0dd8345e2977ee4fb864c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d5892b19abf642a3ed45b755d4d0976"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a4d5892b19abf642a3ed45b755d4d0976">average_f</a> )(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num)</td></tr>
<tr class="memdesc:a4d5892b19abf642a3ed45b755d4d0976"><td class="mdescLeft">&#160;</td><td class="mdescRight">Average 2 scanlines (float)  <a href="#a4d5892b19abf642a3ed45b755d4d0976"></a><br/></td></tr>
<tr class="separator:a4d5892b19abf642a3ed45b755d4d0976"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e7e43ce018672648d2e5a5e08d250d1"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a0e7e43ce018672648d2e5a5e08d250d1">interpolate_rgb15</a> )(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num, float)</td></tr>
<tr class="memdesc:a0e7e43ce018672648d2e5a5e08d250d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate 2 scanlines (RGB/BGR15)  <a href="#a0e7e43ce018672648d2e5a5e08d250d1"></a><br/></td></tr>
<tr class="separator:a0e7e43ce018672648d2e5a5e08d250d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8bd2e41a5cf17c2987e279ee4862d2b"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#ac8bd2e41a5cf17c2987e279ee4862d2b">interpolate_rgb16</a> )(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num, float fac)</td></tr>
<tr class="memdesc:ac8bd2e41a5cf17c2987e279ee4862d2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate 2 scanlines (RGB/BGR16)  <a href="#ac8bd2e41a5cf17c2987e279ee4862d2b"></a><br/></td></tr>
<tr class="separator:ac8bd2e41a5cf17c2987e279ee4862d2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f9960e71912769c81434419ad48d817"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a2f9960e71912769c81434419ad48d817">interpolate_8</a> )(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num, float fac)</td></tr>
<tr class="memdesc:a2f9960e71912769c81434419ad48d817"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate 2 scanlines (8 bit)  <a href="#a2f9960e71912769c81434419ad48d817"></a><br/></td></tr>
<tr class="separator:a2f9960e71912769c81434419ad48d817"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a157b654db8b6438d339b8c1bdb8f79b4"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a157b654db8b6438d339b8c1bdb8f79b4">interpolate_16</a> )(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num, float fac)</td></tr>
<tr class="memdesc:a157b654db8b6438d339b8c1bdb8f79b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate 2 scanlines (16 bit)  <a href="#a157b654db8b6438d339b8c1bdb8f79b4"></a><br/></td></tr>
<tr class="separator:a157b654db8b6438d339b8c1bdb8f79b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b7ab543ca9dd2a923a305f078c26a12"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a7b7ab543ca9dd2a923a305f078c26a12">interpolate_f</a> )(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num, float fac)</td></tr>
<tr class="memdesc:a7b7ab543ca9dd2a923a305f078c26a12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate 2 scanlines (float)  <a href="#a7b7ab543ca9dd2a923a305f078c26a12"></a><br/></td></tr>
<tr class="separator:a7b7ab543ca9dd2a923a305f078c26a12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3ef64180702af2331e46bb08626bac1"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#ad3ef64180702af2331e46bb08626bac1">bswap_16</a> )(void *ptr, int len)</td></tr>
<tr class="memdesc:ad3ef64180702af2331e46bb08626bac1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Do 16 bit endian swapping.  <a href="#ad3ef64180702af2331e46bb08626bac1"></a><br/></td></tr>
<tr class="separator:ad3ef64180702af2331e46bb08626bac1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25e61aa0460f289a9344554d8893133a"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a25e61aa0460f289a9344554d8893133a">bswap_32</a> )(void *ptr, int len)</td></tr>
<tr class="memdesc:a25e61aa0460f289a9344554d8893133a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Do 32 byte endian swapping.  <a href="#a25e61aa0460f289a9344554d8893133a"></a><br/></td></tr>
<tr class="separator:a25e61aa0460f289a9344554d8893133a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f9c4f946bb7325808ea60ed14fb3aa1"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a1f9c4f946bb7325808ea60ed14fb3aa1">bswap_64</a> )(void *ptr, int len)</td></tr>
<tr class="memdesc:a1f9c4f946bb7325808ea60ed14fb3aa1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Do 64 byte endian swapping.  <a href="#a1f9c4f946bb7325808ea60ed14fb3aa1"></a><br/></td></tr>
<tr class="separator:a1f9c4f946bb7325808ea60ed14fb3aa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f9d4e39def1f75ede671bf25e978b91"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a1f9d4e39def1f75ede671bf25e978b91">add_u8</a> )(const void *src1, const void *src2, void *dst, int num)</td></tr>
<tr class="memdesc:a1f9d4e39def1f75ede671bf25e978b91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add 2 uint8_t vectors.  <a href="#a1f9d4e39def1f75ede671bf25e978b91"></a><br/></td></tr>
<tr class="separator:a1f9d4e39def1f75ede671bf25e978b91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a238030ec41b75b89d1585a24718d90b3"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a238030ec41b75b89d1585a24718d90b3">add_u8_s</a> )(const void *src1, const void *src2, void *dst, int num)</td></tr>
<tr class="memdesc:a238030ec41b75b89d1585a24718d90b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add 2 uint8_t vectors (for audio stored as unsigned)  <a href="#a238030ec41b75b89d1585a24718d90b3"></a><br/></td></tr>
<tr class="separator:a238030ec41b75b89d1585a24718d90b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8b5609f68efb95b4b563c7004d589f9"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#ad8b5609f68efb95b4b563c7004d589f9">add_s8</a> )(const void *src1, const void *src2, void *dst, int num)</td></tr>
<tr class="memdesc:ad8b5609f68efb95b4b563c7004d589f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add 2 int8_t vectors.  <a href="#ad8b5609f68efb95b4b563c7004d589f9"></a><br/></td></tr>
<tr class="separator:ad8b5609f68efb95b4b563c7004d589f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96297a6986fe8514702b55091c7bcd86"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a96297a6986fe8514702b55091c7bcd86">add_u16</a> )(const void *src1, const void *src2, void *dst, int num)</td></tr>
<tr class="memdesc:a96297a6986fe8514702b55091c7bcd86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add 2 uint16_t vectors.  <a href="#a96297a6986fe8514702b55091c7bcd86"></a><br/></td></tr>
<tr class="separator:a96297a6986fe8514702b55091c7bcd86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37e253fc94a616bf0deacad8cb5ca55e"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a37e253fc94a616bf0deacad8cb5ca55e">add_u16_s</a> )(const void *src1, const void *src2, void *dst, int num)</td></tr>
<tr class="memdesc:a37e253fc94a616bf0deacad8cb5ca55e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add 2 uint16_t vectors (for audio stored as unsigned)  <a href="#a37e253fc94a616bf0deacad8cb5ca55e"></a><br/></td></tr>
<tr class="separator:a37e253fc94a616bf0deacad8cb5ca55e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac05c4983190f881286ca3510929c2a3e"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#ac05c4983190f881286ca3510929c2a3e">add_s16</a> )(const void *src1, const void *src2, void *dst, int num)</td></tr>
<tr class="memdesc:ac05c4983190f881286ca3510929c2a3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add 2 int16_t vectors.  <a href="#ac05c4983190f881286ca3510929c2a3e"></a><br/></td></tr>
<tr class="separator:ac05c4983190f881286ca3510929c2a3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77486554d76cee3d8309406c3ac5d5f4"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a77486554d76cee3d8309406c3ac5d5f4">add_s32</a> )(const void *src1, const void *src2, void *dst, int num)</td></tr>
<tr class="memdesc:a77486554d76cee3d8309406c3ac5d5f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add 2 int32_t vectors.  <a href="#a77486554d76cee3d8309406c3ac5d5f4"></a><br/></td></tr>
<tr class="separator:a77486554d76cee3d8309406c3ac5d5f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93109e16b048cd83d81a1ca889f81f9f"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a93109e16b048cd83d81a1ca889f81f9f">add_float</a> )(const void *src1, const void *src2, void *dst, int num)</td></tr>
<tr class="memdesc:a93109e16b048cd83d81a1ca889f81f9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add 2 float vectors.  <a href="#a93109e16b048cd83d81a1ca889f81f9f"></a><br/></td></tr>
<tr class="separator:a93109e16b048cd83d81a1ca889f81f9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b8013f0bddcd86c218ef5b8630ae16a"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a3b8013f0bddcd86c218ef5b8630ae16a">add_double</a> )(const void *src1, const void *src2, void *dst, int num)</td></tr>
<tr class="memdesc:a3b8013f0bddcd86c218ef5b8630ae16a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add 2 float vectors.  <a href="#a3b8013f0bddcd86c218ef5b8630ae16a"></a><br/></td></tr>
<tr class="separator:a3b8013f0bddcd86c218ef5b8630ae16a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96938e92a20edefca7a1d48961f63373"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a96938e92a20edefca7a1d48961f63373">sub_u8</a> )(const void *src1, const void *src2, void *dst, int num)</td></tr>
<tr class="memdesc:a96938e92a20edefca7a1d48961f63373"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtract 2 uint8_t vectors.  <a href="#a96938e92a20edefca7a1d48961f63373"></a><br/></td></tr>
<tr class="separator:a96938e92a20edefca7a1d48961f63373"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c921becd0f4234b0e4e217c6a6503c6"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a6c921becd0f4234b0e4e217c6a6503c6">sub_u8_s</a> )(const void *src1, const void *src2, void *dst, int num)</td></tr>
<tr class="memdesc:a6c921becd0f4234b0e4e217c6a6503c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtract 2 uint8_t vectors (for audio stored as unsigned)  <a href="#a6c921becd0f4234b0e4e217c6a6503c6"></a><br/></td></tr>
<tr class="separator:a6c921becd0f4234b0e4e217c6a6503c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af15f2661480c2042bafde637dc7d714d"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#af15f2661480c2042bafde637dc7d714d">sub_s8</a> )(const void *src1, const void *src2, void *dst, int num)</td></tr>
<tr class="memdesc:af15f2661480c2042bafde637dc7d714d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtract 2 int8_t vectors.  <a href="#af15f2661480c2042bafde637dc7d714d"></a><br/></td></tr>
<tr class="separator:af15f2661480c2042bafde637dc7d714d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa58bd5180331cf5212d17fdaa651943b"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#aa58bd5180331cf5212d17fdaa651943b">sub_u16</a> )(const void *src1, const void *src2, void *dst, int num)</td></tr>
<tr class="memdesc:aa58bd5180331cf5212d17fdaa651943b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtract 2 uint16_t vectors.  <a href="#aa58bd5180331cf5212d17fdaa651943b"></a><br/></td></tr>
<tr class="separator:aa58bd5180331cf5212d17fdaa651943b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11c9a330b8c996dbaa1453e67f0aa796"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a11c9a330b8c996dbaa1453e67f0aa796">sub_u16_s</a> )(const void *src1, const void *src2, void *dst, int num)</td></tr>
<tr class="memdesc:a11c9a330b8c996dbaa1453e67f0aa796"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtract 2 uint16_t vectors (for audio stored as unsigned)  <a href="#a11c9a330b8c996dbaa1453e67f0aa796"></a><br/></td></tr>
<tr class="separator:a11c9a330b8c996dbaa1453e67f0aa796"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02a6fee655edf80dc0c373b258e12bce"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a02a6fee655edf80dc0c373b258e12bce">sub_s16</a> )(const void *src1, const void *src2, void *dst, int num)</td></tr>
<tr class="memdesc:a02a6fee655edf80dc0c373b258e12bce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtract 2 int16_t vectors.  <a href="#a02a6fee655edf80dc0c373b258e12bce"></a><br/></td></tr>
<tr class="separator:a02a6fee655edf80dc0c373b258e12bce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c1574fcdc02072fea5af78902db64db"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a3c1574fcdc02072fea5af78902db64db">sub_s32</a> )(const void *src1, const void *src2, void *dst, int num)</td></tr>
<tr class="memdesc:a3c1574fcdc02072fea5af78902db64db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtract 2 int32_t vectors.  <a href="#a3c1574fcdc02072fea5af78902db64db"></a><br/></td></tr>
<tr class="separator:a3c1574fcdc02072fea5af78902db64db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a536f47e412d141c04c2af7016deee234"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#a536f47e412d141c04c2af7016deee234">sub_float</a> )(const void *src1, const void *src2, void *dst, int num)</td></tr>
<tr class="memdesc:a536f47e412d141c04c2af7016deee234"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtract 2 float vectors.  <a href="#a536f47e412d141c04c2af7016deee234"></a><br/></td></tr>
<tr class="separator:a536f47e412d141c04c2af7016deee234"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1ce6107bbcb8f0580cb02b80f6f72d3"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__dsp__funcs__t.html#af1ce6107bbcb8f0580cb02b80f6f72d3">sub_double</a> )(const void *src1, const void *src2, void *dst, int num)</td></tr>
<tr class="memdesc:af1ce6107bbcb8f0580cb02b80f6f72d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtract 2 float vectors.  <a href="#af1ce6107bbcb8f0580cb02b80f6f72d3"></a><br/></td></tr>
<tr class="separator:af1ce6107bbcb8f0580cb02b80f6f72d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Function table. </p>
<p>This structure contains pointers to the available DSP functions. </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a class="anchor" id="afb194c3ae83a471d3de0181e9546f914"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* gavl_dsp_funcs_t::sad_rgb15)(const uint8_t *src_1, const uint8_t *src_2, int stride_1, int stride_2, int w, int h)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the sum of absolute differences (RGB/BGR15) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src_1</td><td>Plane 1 </td></tr>
    <tr><td class="paramname">src_2</td><td>Plane 2 </td></tr>
    <tr><td class="paramname">stride_1</td><td>Byte distance between scanlines for src_1 </td></tr>
    <tr><td class="paramname">stride_2</td><td>Byte distance between scanlines for src_2 </td></tr>
    <tr><td class="paramname">w</td><td>Width </td></tr>
    <tr><td class="paramname">h</td><td>Height </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The sum of absolute differences</dd></dl>
<p>The RGB values will be scaled to 8 bit before the differences are calculated. </p>

</div>
</div>
<a class="anchor" id="a22201ad5d5dd37ae9af9e6096b682ff2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* gavl_dsp_funcs_t::sad_rgb16)(const uint8_t *src_1, const uint8_t *src_2, int stride_1, int stride_2, int w, int h)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the sum of absolute differences (RGB/BGR16) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src_1</td><td>Plane 1 </td></tr>
    <tr><td class="paramname">src_2</td><td>Plane 2 </td></tr>
    <tr><td class="paramname">stride_1</td><td>Byte distance between scanlines for src_1 </td></tr>
    <tr><td class="paramname">stride_2</td><td>Byte distance between scanlines for src_2 </td></tr>
    <tr><td class="paramname">w</td><td>Width </td></tr>
    <tr><td class="paramname">h</td><td>Height </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The sum of absolute differences</dd></dl>
<p>The RGB values will be scaled to 8 bit before the differences are calculated. </p>

</div>
</div>
<a class="anchor" id="aeca5fe9367ab2103f3b1f492b8ef5cb5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* gavl_dsp_funcs_t::sad_8)(const uint8_t *src_1, const uint8_t *src_2, int stride_1, int stride_2, int w, int h)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the sum of absolute differences (8 bit) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src_1</td><td>Plane 1 </td></tr>
    <tr><td class="paramname">src_2</td><td>Plane 2 </td></tr>
    <tr><td class="paramname">stride_1</td><td>Byte distance between scanlines for src_1 </td></tr>
    <tr><td class="paramname">stride_2</td><td>Byte distance between scanlines for src_2 </td></tr>
    <tr><td class="paramname">w</td><td>Width </td></tr>
    <tr><td class="paramname">h</td><td>Height </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The sum of absolute differences </dd></dl>

</div>
</div>
<a class="anchor" id="ac6d6d02344dfae85e0d0200767f4a827"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* gavl_dsp_funcs_t::sad_16)(const uint8_t *src_1, const uint8_t *src_2, int stride_1, int stride_2, int w, int h)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the sum of absolute differences (16 bit) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src_1</td><td>Plane 1 </td></tr>
    <tr><td class="paramname">src_2</td><td>Plane 2 </td></tr>
    <tr><td class="paramname">stride_1</td><td>Byte distance between scanlines for src_1 </td></tr>
    <tr><td class="paramname">stride_2</td><td>Byte distance between scanlines for src_2 </td></tr>
    <tr><td class="paramname">w</td><td>Width </td></tr>
    <tr><td class="paramname">h</td><td>Height </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The sum of absolute differences </dd></dl>

</div>
</div>
<a class="anchor" id="a8d287e8c3aadd6dd4d444973237c9d14"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float(* gavl_dsp_funcs_t::sad_f)(const uint8_t *src_1, const uint8_t *src_2, int stride_1, int stride_2, int w, int h)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the sum of absolute differences (float) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src_1</td><td>Plane 1 </td></tr>
    <tr><td class="paramname">src_2</td><td>Plane 2 </td></tr>
    <tr><td class="paramname">stride_1</td><td>Byte distance between scanlines for src_1 </td></tr>
    <tr><td class="paramname">stride_2</td><td>Byte distance between scanlines for src_2 </td></tr>
    <tr><td class="paramname">w</td><td>Width </td></tr>
    <tr><td class="paramname">h</td><td>Height </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The sum of absolute differences </dd></dl>

</div>
</div>
<a class="anchor" id="a4651c021944cc125db3e824d71b1a2ea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::average_rgb15)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Average 2 scanlines (RGB/BGR15) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src_1</td><td>Scanline 1 </td></tr>
    <tr><td class="paramname">src_2</td><td>Scanline 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of pixels </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a08204b578d9b43df6c58dc3381a9de0a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::average_rgb16)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Average 2 scanlines (RGB/BGR16) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src_1</td><td>Scanline 1 </td></tr>
    <tr><td class="paramname">src_2</td><td>Scanline 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of pixels </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="adbbcabe174a169b9700c495c2842a202"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::average_8)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Average 2 scanlines (8 bit) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src_1</td><td>Scanline 1 </td></tr>
    <tr><td class="paramname">src_2</td><td>Scanline 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of bytes </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a875f149849f0dd8345e2977ee4fb864c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::average_16)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Average 2 scanlines (16 bit) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src_1</td><td>Scanline 1 </td></tr>
    <tr><td class="paramname">src_2</td><td>Scanline 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of shorts </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4d5892b19abf642a3ed45b755d4d0976"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::average_f)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Average 2 scanlines (float) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src_1</td><td>Scanline 1 </td></tr>
    <tr><td class="paramname">src_2</td><td>Scanline 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of floats </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0e7e43ce018672648d2e5a5e08d250d1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::interpolate_rgb15)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num, float)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Interpolate 2 scanlines (RGB/BGR15) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src_1</td><td>Scanline 1 </td></tr>
    <tr><td class="paramname">src_2</td><td>Scanline 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of pixels </td></tr>
    <tr><td class="paramname">fac</td><td>Factor for src_1 (0.0 .. 1.0)</td></tr>
  </table>
  </dd>
</dl>
<p>Sets the destination to src_1 * fac + src_2 * (1.0-fac) </p>

</div>
</div>
<a class="anchor" id="ac8bd2e41a5cf17c2987e279ee4862d2b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::interpolate_rgb16)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num, float fac)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Interpolate 2 scanlines (RGB/BGR16) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src_1</td><td>Scanline 1 </td></tr>
    <tr><td class="paramname">src_2</td><td>Scanline 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of pixels </td></tr>
    <tr><td class="paramname">fac</td><td>Factor for src_1 (0.0 .. 1.0)</td></tr>
  </table>
  </dd>
</dl>
<p>Sets the destination to src_1 * fac + src_2 * (1.0-fac) </p>

</div>
</div>
<a class="anchor" id="a2f9960e71912769c81434419ad48d817"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::interpolate_8)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num, float fac)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Interpolate 2 scanlines (8 bit) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src_1</td><td>Scanline 1 </td></tr>
    <tr><td class="paramname">src_2</td><td>Scanline 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of bytes </td></tr>
    <tr><td class="paramname">fac</td><td>Factor for src_1 (0.0 .. 1.0)</td></tr>
  </table>
  </dd>
</dl>
<p>Sets the destination to src_1 * fac + src_2 * (1.0-fac) </p>

</div>
</div>
<a class="anchor" id="a157b654db8b6438d339b8c1bdb8f79b4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::interpolate_16)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num, float fac)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Interpolate 2 scanlines (16 bit) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src_1</td><td>Scanline 1 </td></tr>
    <tr><td class="paramname">src_2</td><td>Scanline 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of shorts </td></tr>
    <tr><td class="paramname">fac</td><td>Factor for src_1 (0.0 .. 1.0)</td></tr>
  </table>
  </dd>
</dl>
<p>Sets the destination to src_1 * fac + src_2 * (1.0-fac) </p>

</div>
</div>
<a class="anchor" id="a7b7ab543ca9dd2a923a305f078c26a12"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::interpolate_f)(const uint8_t *src_1, const uint8_t *src_2, uint8_t *dst, int num, float fac)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Interpolate 2 scanlines (float) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src_1</td><td>Scanline 1 </td></tr>
    <tr><td class="paramname">src_2</td><td>Scanline 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of floats </td></tr>
    <tr><td class="paramname">fac</td><td>Factor for src_1 (0.0 .. 1.0)</td></tr>
  </table>
  </dd>
</dl>
<p>Sets the destination to src_1 * fac + src_2 * (1.0-fac) </p>

</div>
</div>
<a class="anchor" id="ad3ef64180702af2331e46bb08626bac1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::bswap_16)(void *ptr, int len)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Do 16 bit endian swapping. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptr</td><td>Pointer to the data </td></tr>
    <tr><td class="paramname">len</td><td>Len in 16 bit words </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a25e61aa0460f289a9344554d8893133a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::bswap_32)(void *ptr, int len)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Do 32 byte endian swapping. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptr</td><td>Pointer to the data </td></tr>
    <tr><td class="paramname">len</td><td>Len in 32 bit doublewords </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1f9c4f946bb7325808ea60ed14fb3aa1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::bswap_64)(void *ptr, int len)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Do 64 byte endian swapping. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptr</td><td>Pointer to the data </td></tr>
    <tr><td class="paramname">len</td><td>Len in 64 bit quadwords </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1f9d4e39def1f75ede671bf25e978b91"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::add_u8)(const void *src1, const void *src2, void *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add 2 uint8_t vectors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src1</td><td>Source 1 </td></tr>
    <tr><td class="paramname">src2</td><td>Source 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of entries</td></tr>
  </table>
  </dd>
</dl>
<p>src1 and/or src2 can be identical to dst </p>

</div>
</div>
<a class="anchor" id="a238030ec41b75b89d1585a24718d90b3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::add_u8_s)(const void *src1, const void *src2, void *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add 2 uint8_t vectors (for audio stored as unsigned) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src1</td><td>Source 1 </td></tr>
    <tr><td class="paramname">src2</td><td>Source 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of entries</td></tr>
  </table>
  </dd>
</dl>
<p>src1 and/or src2 can be identical to dst </p>

</div>
</div>
<a class="anchor" id="ad8b5609f68efb95b4b563c7004d589f9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::add_s8)(const void *src1, const void *src2, void *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add 2 int8_t vectors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src1</td><td>Source 1 </td></tr>
    <tr><td class="paramname">src2</td><td>Source 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of entries</td></tr>
  </table>
  </dd>
</dl>
<p>src1 and/or src2 can be identical to dst </p>

</div>
</div>
<a class="anchor" id="a96297a6986fe8514702b55091c7bcd86"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::add_u16)(const void *src1, const void *src2, void *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add 2 uint16_t vectors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src1</td><td>Source 1 </td></tr>
    <tr><td class="paramname">src2</td><td>Source 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of entries</td></tr>
  </table>
  </dd>
</dl>
<p>src1 and/or src2 can be identical to dst </p>

</div>
</div>
<a class="anchor" id="a37e253fc94a616bf0deacad8cb5ca55e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::add_u16_s)(const void *src1, const void *src2, void *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add 2 uint16_t vectors (for audio stored as unsigned) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src1</td><td>Source 1 </td></tr>
    <tr><td class="paramname">src2</td><td>Source 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of entries</td></tr>
  </table>
  </dd>
</dl>
<p>src1 and/or src2 can be identical to dst </p>

</div>
</div>
<a class="anchor" id="ac05c4983190f881286ca3510929c2a3e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::add_s16)(const void *src1, const void *src2, void *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add 2 int16_t vectors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src1</td><td>Source 1 </td></tr>
    <tr><td class="paramname">src2</td><td>Source 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of entries</td></tr>
  </table>
  </dd>
</dl>
<p>src1 and/or src2 can be identical to dst </p>

</div>
</div>
<a class="anchor" id="a77486554d76cee3d8309406c3ac5d5f4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::add_s32)(const void *src1, const void *src2, void *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add 2 int32_t vectors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src1</td><td>Source 1 </td></tr>
    <tr><td class="paramname">src2</td><td>Source 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of entries</td></tr>
  </table>
  </dd>
</dl>
<p>src1 and/or src2 can be identical to dst </p>

</div>
</div>
<a class="anchor" id="a93109e16b048cd83d81a1ca889f81f9f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::add_float)(const void *src1, const void *src2, void *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add 2 float vectors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src1</td><td>Source 1 </td></tr>
    <tr><td class="paramname">src2</td><td>Source 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of entries</td></tr>
  </table>
  </dd>
</dl>
<p>src1 and/or src2 can be identical to dst </p>

</div>
</div>
<a class="anchor" id="a3b8013f0bddcd86c218ef5b8630ae16a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::add_double)(const void *src1, const void *src2, void *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add 2 float vectors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src1</td><td>Source 1 </td></tr>
    <tr><td class="paramname">src2</td><td>Source 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of entries</td></tr>
  </table>
  </dd>
</dl>
<p>src1 and/or src2 can be identical to dst </p>

</div>
</div>
<a class="anchor" id="a96938e92a20edefca7a1d48961f63373"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::sub_u8)(const void *src1, const void *src2, void *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Subtract 2 uint8_t vectors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src1</td><td>Source 1 </td></tr>
    <tr><td class="paramname">src2</td><td>Source 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of entries</td></tr>
  </table>
  </dd>
</dl>
<p>src1 and/or src2 can be identical to dst </p>

</div>
</div>
<a class="anchor" id="a6c921becd0f4234b0e4e217c6a6503c6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::sub_u8_s)(const void *src1, const void *src2, void *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Subtract 2 uint8_t vectors (for audio stored as unsigned) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src1</td><td>Source 1 </td></tr>
    <tr><td class="paramname">src2</td><td>Source 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of entries</td></tr>
  </table>
  </dd>
</dl>
<p>src1 and/or src2 can be identical to dst </p>

</div>
</div>
<a class="anchor" id="af15f2661480c2042bafde637dc7d714d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::sub_s8)(const void *src1, const void *src2, void *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Subtract 2 int8_t vectors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src1</td><td>Source 1 </td></tr>
    <tr><td class="paramname">src2</td><td>Source 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of entries</td></tr>
  </table>
  </dd>
</dl>
<p>src1 and/or src2 can be identical to dst </p>

</div>
</div>
<a class="anchor" id="aa58bd5180331cf5212d17fdaa651943b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::sub_u16)(const void *src1, const void *src2, void *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Subtract 2 uint16_t vectors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src1</td><td>Source 1 </td></tr>
    <tr><td class="paramname">src2</td><td>Source 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of entries</td></tr>
  </table>
  </dd>
</dl>
<p>src1 and/or src2 can be identical to dst </p>

</div>
</div>
<a class="anchor" id="a11c9a330b8c996dbaa1453e67f0aa796"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::sub_u16_s)(const void *src1, const void *src2, void *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Subtract 2 uint16_t vectors (for audio stored as unsigned) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src1</td><td>Source 1 </td></tr>
    <tr><td class="paramname">src2</td><td>Source 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of entries</td></tr>
  </table>
  </dd>
</dl>
<p>src1 and/or src2 can be identical to dst </p>

</div>
</div>
<a class="anchor" id="a02a6fee655edf80dc0c373b258e12bce"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::sub_s16)(const void *src1, const void *src2, void *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Subtract 2 int16_t vectors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src1</td><td>Source 1 </td></tr>
    <tr><td class="paramname">src2</td><td>Source 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of entries</td></tr>
  </table>
  </dd>
</dl>
<p>src1 and/or src2 can be identical to dst </p>

</div>
</div>
<a class="anchor" id="a3c1574fcdc02072fea5af78902db64db"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::sub_s32)(const void *src1, const void *src2, void *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Subtract 2 int32_t vectors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src1</td><td>Source 1 </td></tr>
    <tr><td class="paramname">src2</td><td>Source 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of entries</td></tr>
  </table>
  </dd>
</dl>
<p>src1 and/or src2 can be identical to dst </p>

</div>
</div>
<a class="anchor" id="a536f47e412d141c04c2af7016deee234"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::sub_float)(const void *src1, const void *src2, void *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Subtract 2 float vectors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src1</td><td>Source 1 </td></tr>
    <tr><td class="paramname">src2</td><td>Source 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of entries</td></tr>
  </table>
  </dd>
</dl>
<p>src1 and/or src2 can be identical to dst </p>

</div>
</div>
<a class="anchor" id="af1ce6107bbcb8f0580cb02b80f6f72d3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* gavl_dsp_funcs_t::sub_double)(const void *src1, const void *src2, void *dst, int num)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Subtract 2 float vectors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src1</td><td>Source 1 </td></tr>
    <tr><td class="paramname">src2</td><td>Source 2 </td></tr>
    <tr><td class="paramname">dst</td><td>Destination </td></tr>
    <tr><td class="paramname">num</td><td>Number of entries</td></tr>
  </table>
  </dd>
</dl>
<p>src1 and/or src2 can be identical to dst </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>/home/iurt/rpmbuild/BUILD/gavl-1.4.0/include/gavl/<a class="el" href="gavldsp_8h_source.html">gavldsp.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Jan 11 2013 22:07:39 for gavl by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.3
</small></address>
</body>
</html>