<!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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>U.are.U SDK: C:/_Work/_dp-tfs/BioSDK/BiometricSDK2/_Root/Include/dpfj_compression.h File 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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.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 id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">U.are.U SDK
   &#160;<span id="projectnumber">3.2</span>
   </div>
   <div id="projectbrief">DigitalPersona U.are.U SDK</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_3412e349cdd07e84929b67e745840e1e.html">_Root</a></li><li class="navelem"><a class="el" href="dir_e2cd9aaf0ba3aa211cc4b2097806dadc.html">Include</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">dpfj_compression.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>U.are.U SDK Image Compression API.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;<a class="el" href="dpfj_8h_source.html">dpfj.h</a>&gt;</code><br />
</div>
<p><a href="dpfj__compression_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:aac249c76642a7dfc3b36489350705bd5"><td class="memItemLeft" align="right" valign="top"><a id="aac249c76642a7dfc3b36489350705bd5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dpfj__compression_8h.html#aac249c76642a7dfc3b36489350705bd5">DPFJ_E_COMPRESSION_IN_PROGRESS</a>&#160;&#160;&#160;DPERROR(0x141)</td></tr>
<tr class="memdesc:aac249c76642a7dfc3b36489350705bd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compression or decompression operation is in progress. <br /></td></tr>
<tr class="separator:aac249c76642a7dfc3b36489350705bd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a187e63d91428ed983555f7b44097edcf"><td class="memItemLeft" align="right" valign="top"><a id="a187e63d91428ed983555f7b44097edcf"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dpfj__compression_8h.html#a187e63d91428ed983555f7b44097edcf">DPFJ_E_COMPRESSION_NOT_STARTED</a>&#160;&#160;&#160;DPERROR(0x142)</td></tr>
<tr class="memdesc:a187e63d91428ed983555f7b44097edcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compression or decompression operation was not started. <br /></td></tr>
<tr class="separator:a187e63d91428ed983555f7b44097edcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6a45b716293871f302463417bdc7910"><td class="memItemLeft" align="right" valign="top"><a id="ab6a45b716293871f302463417bdc7910"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dpfj__compression_8h.html#ab6a45b716293871f302463417bdc7910">DPFJ_E_COMPRESSION_INVALID_WSQ_PARAMETER</a>&#160;&#160;&#160;DPERROR(0x14a)</td></tr>
<tr class="memdesc:ab6a45b716293871f302463417bdc7910"><td class="mdescLeft">&#160;</td><td class="mdescRight">One or more parameters passed for WSQ compression are invalid. <br /></td></tr>
<tr class="separator:ab6a45b716293871f302463417bdc7910"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5716c61980fadb0fda28aebece82fcdd"><td class="memItemLeft" align="right" valign="top"><a id="a5716c61980fadb0fda28aebece82fcdd"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dpfj__compression_8h.html#a5716c61980fadb0fda28aebece82fcdd">DPFJ_E_COMPRESSION_WSQ_FAILURE</a>&#160;&#160;&#160;DPERROR(0x14b)</td></tr>
<tr class="memdesc:a5716c61980fadb0fda28aebece82fcdd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unspecified error during WSQ compression or decompression. <br /></td></tr>
<tr class="separator:a5716c61980fadb0fda28aebece82fcdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb7031e3d35055dbfaad7f367f1e1ec8"><td class="memItemLeft" align="right" valign="top"><a id="adb7031e3d35055dbfaad7f367f1e1ec8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dpfj__compression_8h.html#adb7031e3d35055dbfaad7f367f1e1ec8">DPFJ_E_COMPRESSION_WSQ_LIB_NOT_FOUND</a>&#160;&#160;&#160;DPERROR(0x14c)</td></tr>
<tr class="memdesc:adb7031e3d35055dbfaad7f367f1e1ec8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Library for WSQ compression is not found or not built-in. <br /></td></tr>
<tr class="separator:adb7031e3d35055dbfaad7f367f1e1ec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5130ea4ad60a1cbbd93f51cbcb9d4154"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dpfj__compression_8h.html#a5130ea4ad60a1cbbd93f51cbcb9d4154">DPFJ_COMPRESSION_WSQ_NIST</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a5130ea4ad60a1cbbd93f51cbcb9d4154"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69a2dcff32cc2911e0330b9fdaa06964"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dpfj__compression_8h.html#a69a2dcff32cc2911e0330b9fdaa06964">DPFJ_COMPRESSION_WSQ_AWARE</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:a69a2dcff32cc2911e0330b9fdaa06964"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a7e19bb2c54d798a02acbe2faa06cffe1"><td class="memItemLeft" align="right" valign="top"><a id="a7e19bb2c54d798a02acbe2faa06cffe1"></a>
typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dpfj__compression_8h.html#a7e19bb2c54d798a02acbe2faa06cffe1">DPFJ_COMPRESSION_ALGORITHM</a></td></tr>
<tr class="memdesc:a7e19bb2c54d798a02acbe2faa06cffe1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compression algorithm to use. <br /></td></tr>
<tr class="separator:a7e19bb2c54d798a02acbe2faa06cffe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a70e8c666a1a22433282aab1f7b8026fb"><td class="memItemLeft" align="right" valign="top">int DPAPICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dpfj__compression_8h.html#a70e8c666a1a22433282aab1f7b8026fb">dpfj_start_compression</a> ()</td></tr>
<tr class="memdesc:a70e8c666a1a22433282aab1f7b8026fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts compression or decompression operation.  <a href="#a70e8c666a1a22433282aab1f7b8026fb">More...</a><br /></td></tr>
<tr class="separator:a70e8c666a1a22433282aab1f7b8026fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6d2796405a79919c3445642a3895848"><td class="memItemLeft" align="right" valign="top">int DPAPICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dpfj__compression_8h.html#ad6d2796405a79919c3445642a3895848">dpfj_set_wsq_bitrate</a> (unsigned int bitrate_x100, unsigned int tolerance_aw)</td></tr>
<tr class="memdesc:ad6d2796405a79919c3445642a3895848"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets target bitrate and tolerance for WSQ compression operation.  <a href="#ad6d2796405a79919c3445642a3895848">More...</a><br /></td></tr>
<tr class="separator:ad6d2796405a79919c3445642a3895848"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade7a34eabdec6e857ad06690a9aa186c"><td class="memItemLeft" align="right" valign="top">int DPAPICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dpfj__compression_8h.html#ade7a34eabdec6e857ad06690a9aa186c">dpfj_set_wsq_size</a> (unsigned int size, unsigned int tolerance_aw)</td></tr>
<tr class="memdesc:ade7a34eabdec6e857ad06690a9aa186c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets target size and tolerance for WSQ compression operation.  <a href="#ade7a34eabdec6e857ad06690a9aa186c">More...</a><br /></td></tr>
<tr class="separator:ade7a34eabdec6e857ad06690a9aa186c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4b280beb4c0690e355065305c683c2f"><td class="memItemLeft" align="right" valign="top">int DPAPICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dpfj__compression_8h.html#aa4b280beb4c0690e355065305c683c2f">dpfj_compress_fid</a> (<a class="el" href="dpfj_8h.html#aaa6ca7654e36eeb999d83f756cbc6be7">DPFJ_FID_FORMAT</a> fid_type, const unsigned char *fid, unsigned int fid_size, <a class="el" href="dpfj__compression_8h.html#a7e19bb2c54d798a02acbe2faa06cffe1">DPFJ_COMPRESSION_ALGORITHM</a> compression_alg)</td></tr>
<tr class="memdesc:aa4b280beb4c0690e355065305c683c2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compresses FID.  <a href="#aa4b280beb4c0690e355065305c683c2f">More...</a><br /></td></tr>
<tr class="separator:aa4b280beb4c0690e355065305c683c2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa937530e91066937e2d305704e851e70"><td class="memItemLeft" align="right" valign="top">int DPAPICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dpfj__compression_8h.html#aa937530e91066937e2d305704e851e70">dpfj_compress_raw</a> (const unsigned char *image_data, unsigned int image_size, unsigned int image_width, unsigned int image_height, unsigned int image_dpi, unsigned int image_bpp, <a class="el" href="dpfj__compression_8h.html#a7e19bb2c54d798a02acbe2faa06cffe1">DPFJ_COMPRESSION_ALGORITHM</a> compression_alg)</td></tr>
<tr class="memdesc:aa937530e91066937e2d305704e851e70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compresses raw image.  <a href="#aa937530e91066937e2d305704e851e70">More...</a><br /></td></tr>
<tr class="separator:aa937530e91066937e2d305704e851e70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab819e5b1dd2d5920242d8bb6cd7365fc"><td class="memItemLeft" align="right" valign="top">int DPAPICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dpfj__compression_8h.html#ab819e5b1dd2d5920242d8bb6cd7365fc">dpfj_expand_fid</a> (<a class="el" href="dpfj_8h.html#aaa6ca7654e36eeb999d83f756cbc6be7">DPFJ_FID_FORMAT</a> fid_type, const unsigned char *fid, unsigned int fid_size, <a class="el" href="dpfj__compression_8h.html#a7e19bb2c54d798a02acbe2faa06cffe1">DPFJ_COMPRESSION_ALGORITHM</a> compression_alg)</td></tr>
<tr class="memdesc:ab819e5b1dd2d5920242d8bb6cd7365fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expands compressed FID.  <a href="#ab819e5b1dd2d5920242d8bb6cd7365fc">More...</a><br /></td></tr>
<tr class="separator:ab819e5b1dd2d5920242d8bb6cd7365fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6786de8173c8e253617c44f9a6774a8c"><td class="memItemLeft" align="right" valign="top">int DPAPICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dpfj__compression_8h.html#a6786de8173c8e253617c44f9a6774a8c">dpfj_expand_raw</a> (const unsigned char *image_data, unsigned int image_size, <a class="el" href="dpfj__compression_8h.html#a7e19bb2c54d798a02acbe2faa06cffe1">DPFJ_COMPRESSION_ALGORITHM</a> compression_alg, unsigned int *image_width, unsigned int *image_height, unsigned int *image_dpi, unsigned int *image_bpp)</td></tr>
<tr class="memdesc:a6786de8173c8e253617c44f9a6774a8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expands compressed raw image.  <a href="#a6786de8173c8e253617c44f9a6774a8c">More...</a><br /></td></tr>
<tr class="separator:a6786de8173c8e253617c44f9a6774a8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d7fd689ee33af8f97509481f58ff90d"><td class="memItemLeft" align="right" valign="top">int DPAPICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dpfj__compression_8h.html#a7d7fd689ee33af8f97509481f58ff90d">dpfj_get_processed_data</a> (unsigned char *image_data, unsigned int *image_size)</td></tr>
<tr class="memdesc:a7d7fd689ee33af8f97509481f58ff90d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the processed data.  <a href="#a7d7fd689ee33af8f97509481f58ff90d">More...</a><br /></td></tr>
<tr class="separator:a7d7fd689ee33af8f97509481f58ff90d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97162e7f287e2e871324bd3b085d6803"><td class="memItemLeft" align="right" valign="top">int DPAPICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dpfj__compression_8h.html#a97162e7f287e2e871324bd3b085d6803">dpfj_finish_compression</a> ()</td></tr>
<tr class="memdesc:a97162e7f287e2e871324bd3b085d6803"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ends compression or decompression operation, releases memory.  <a href="#a97162e7f287e2e871324bd3b085d6803">More...</a><br /></td></tr>
<tr class="separator:a97162e7f287e2e871324bd3b085d6803"><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>U.are.U SDK Image Compression API. </p>
<dl class="section copyright"><dt>Copyright</dt><dd>(c) 2012 DigitalPersona, Inc</dd></dl>
<p>Data types and functions for compression.</p>
<dl class="section version"><dt>Version</dt><dd>2.0.0 </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a69a2dcff32cc2911e0330b9fdaa06964"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69a2dcff32cc2911e0330b9fdaa06964">&#9670;&nbsp;</a></span>DPFJ_COMPRESSION_WSQ_AWARE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DPFJ_COMPRESSION_WSQ_AWARE&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>WSQ compression, Aware SDK </p>

</div>
</div>
<a id="a5130ea4ad60a1cbbd93f51cbcb9d4154"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5130ea4ad60a1cbbd93f51cbcb9d4154">&#9670;&nbsp;</a></span>DPFJ_COMPRESSION_WSQ_NIST</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DPFJ_COMPRESSION_WSQ_NIST&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>WSQ compression, NIST algorithm </p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="aa4b280beb4c0690e355065305c683c2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4b280beb4c0690e355065305c683c2f">&#9670;&nbsp;</a></span>dpfj_compress_fid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DPAPICALL dpfj_compress_fid </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dpfj_8h.html#aaa6ca7654e36eeb999d83f756cbc6be7">DPFJ_FID_FORMAT</a>&#160;</td>
          <td class="paramname"><em>fid_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>fid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>fid_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dpfj__compression_8h.html#a7e19bb2c54d798a02acbe2faa06cffe1">DPFJ_COMPRESSION_ALGORITHM</a>&#160;</td>
          <td class="paramname"><em>compression_alg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compresses FID. </p>
<p>This function attempts to compress FID using Aware WSQ library (WSQ1000) or NIST algorithm. It's necessary to set target bitrate or target size before calling <a class="el" href="dpfj__compression_8h.html#aa4b280beb4c0690e355065305c683c2f" title="Compresses FID. ">dpfj_compress_fid()</a>. The function will allocate memory for the compressed FID. The resulting size of the compressed FID can be acquired by calling dpfj_get_processed_size(). The resulting size likely will differ from the requested size, or bitrate. How much the difference will be is dictated by the image, requested size or bitrate and tolerance (only for Aware algorithm).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fid_type</td><td>type of the FID. </td></tr>
    <tr><td class="paramname">fid</td><td>pointer to the FID data. </td></tr>
    <tr><td class="paramname">fid_size</td><td>size of the FID data. </td></tr>
    <tr><td class="paramname">compression_alg</td><td>compression algorithm to use, currently Aware WSQ and NIST WSQ algorithms are supported. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DPFJ_SUCCESS: FID compressed. </dd>
<dd>
DPFJ_E_COMPRESSION_NOT_STARTED: Operation is not started. </dd>
<dd>
DPFJ_E_COMPRESSION_INVALID_WSQ_PARAMETER: One or more parameters passed are invalid, or one or more parameters set for the operation are invalid. </dd>
<dd>
DPFJ_E_COMPRESSION_WSQ_LIB_NOT_FOUND: Aware WSQ library is not found, or NIST WSQ algorithm is not built-in. </dd>
<dd>
DPFJ_E_COMPRESSION_WSQ_FAILURE: Unknown error. </dd></dl>

</div>
</div>
<a id="aa937530e91066937e2d305704e851e70"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa937530e91066937e2d305704e851e70">&#9670;&nbsp;</a></span>dpfj_compress_raw()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DPAPICALL dpfj_compress_raw </td>
          <td>(</td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>image_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>image_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>image_width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>image_height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>image_dpi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>image_bpp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dpfj__compression_8h.html#a7e19bb2c54d798a02acbe2faa06cffe1">DPFJ_COMPRESSION_ALGORITHM</a>&#160;</td>
          <td class="paramname"><em>compression_alg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compresses raw image. </p>
<p>This function attempts to compress image using Aware WSQ library (WSQ1000) or NIST algorithm. It's necessary to set target bitrate or target size before calling <a class="el" href="dpfj__compression_8h.html#aa937530e91066937e2d305704e851e70" title="Compresses raw image. ">dpfj_compress_raw()</a>. The function will allocate memory for the compressed image. The resulting size of the compressed image can be acquired by calling dpfj_get_processed_size(). The resulting size likely will differ from the requested size, or bitrate. How much the difference will be is dictated by the image, requested size or bitrate and tolerance (only for Aware algorithm).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">image_data</td><td>pointer to the image data </td></tr>
    <tr><td class="paramname">image_size</td><td>size of the image data </td></tr>
    <tr><td class="paramname">image_width</td><td>width of the image </td></tr>
    <tr><td class="paramname">image_height</td><td>height of the image </td></tr>
    <tr><td class="paramname">image_dpi</td><td>resolution of the image </td></tr>
    <tr><td class="paramname">image_bpp</td><td>pixel depth of the image. Only 8bpp images are currently processed. </td></tr>
    <tr><td class="paramname">compression_alg</td><td>compression algorithm to use, currently Aware WSQ and NIST WSQ algorithms are supported. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DPFJ_SUCCESS: Image compressed. </dd>
<dd>
DPFJ_E_COMPRESSION_NOT_STARTED: Operation is not started. </dd>
<dd>
DPFJ_E_COMPRESSION_INVALID_WSQ_PARAMETER: One or more parameters passed are invalid, or one or more parameters set for the operation are invalid. </dd>
<dd>
DPFJ_E_COMPRESSION_WSQ_LIB_NOT_FOUND: Aware WSQ library is not found, or NIST WSQ algorithm is not built-in. </dd>
<dd>
DPFJ_E_COMPRESSION_WSQ_FAILURE: Unknown error. </dd></dl>

</div>
</div>
<a id="ab819e5b1dd2d5920242d8bb6cd7365fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab819e5b1dd2d5920242d8bb6cd7365fc">&#9670;&nbsp;</a></span>dpfj_expand_fid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DPAPICALL dpfj_expand_fid </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dpfj_8h.html#aaa6ca7654e36eeb999d83f756cbc6be7">DPFJ_FID_FORMAT</a>&#160;</td>
          <td class="paramname"><em>fid_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>fid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>fid_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dpfj__compression_8h.html#a7e19bb2c54d798a02acbe2faa06cffe1">DPFJ_COMPRESSION_ALGORITHM</a>&#160;</td>
          <td class="paramname"><em>compression_alg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Expands compressed FID. </p>
<p>This function attempts to expand FID using Aware WSQ library (WSQ1000) or NIST algorithm. The function will allocate memory for the expanded FID. The resulting size of the expanded FID can be acquired by calling dpfj_get_processed_size().</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fid_type</td><td>type of the compressed FID. </td></tr>
    <tr><td class="paramname">fid</td><td>pointer to the FID data. </td></tr>
    <tr><td class="paramname">fid_size</td><td>size of the FID data. </td></tr>
    <tr><td class="paramname">compression_alg</td><td>compression algorithm to use, currently Aware WSQ and NIST WSQ algorithms are supported. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DPFJ_SUCCESS: FID expanded. </dd>
<dd>
DPFJ_E_COMPRESSION_NOT_STARTED: Operation is not started. </dd>
<dd>
DPFJ_E_COMPRESSION_INVALID_WSQ_PARAMETER: One or more parameters passed are invalid. </dd>
<dd>
DPFJ_E_COMPRESSION_WSQ_LIB_NOT_FOUND: Aware WSQ library is not found, or NIST WSQ algorithm is not built-in. </dd>
<dd>
DPFJ_E_COMPRESSION_WSQ_FAILURE: Unknown error. </dd></dl>

</div>
</div>
<a id="a6786de8173c8e253617c44f9a6774a8c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6786de8173c8e253617c44f9a6774a8c">&#9670;&nbsp;</a></span>dpfj_expand_raw()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DPAPICALL dpfj_expand_raw </td>
          <td>(</td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>image_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>image_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dpfj__compression_8h.html#a7e19bb2c54d798a02acbe2faa06cffe1">DPFJ_COMPRESSION_ALGORITHM</a>&#160;</td>
          <td class="paramname"><em>compression_alg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>image_width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>image_height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>image_dpi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>image_bpp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Expands compressed raw image. </p>
<p>This function attempts to expand FID using Aware WSQ library (WSQ1000) or NIST algorithm. The function will allocate memory for the expanded FID. The resulting size of the expanded FID can be acquired by calling dpfj_get_processed_size().</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">image_data</td><td>pointer to the compressed image data </td></tr>
    <tr><td class="paramname">image_size</td><td>size of the image data </td></tr>
    <tr><td class="paramname">compression_alg</td><td>compression algorithm to use, currently Aware WSQ and NIST WSQ algorithms are supported. </td></tr>
    <tr><td class="paramname">image_width</td><td>pointer to receive width of the image </td></tr>
    <tr><td class="paramname">image_height</td><td>pointer to receive height of the image </td></tr>
    <tr><td class="paramname">image_dpi</td><td>pointer to receive resolution of the image </td></tr>
    <tr><td class="paramname">image_bpp</td><td>pointer to receive pixel depth of the image. Only 8bpp images are currently processed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DPFJ_SUCCESS: Image expanded. </dd>
<dd>
DPFJ_E_COMPRESSION_NOT_STARTED: Operation is not started. </dd>
<dd>
DPFJ_E_COMPRESSION_INVALID_WSQ_PARAMETER: One or more parameters passed are invalid. </dd>
<dd>
DPFJ_E_COMPRESSION_WSQ_LIB_NOT_FOUND: Aware WSQ library is not found, or NIST WSQ algorithm is not built-in. </dd>
<dd>
DPFJ_E_COMPRESSION_WSQ_FAILURE: Unknown error. </dd></dl>

</div>
</div>
<a id="a97162e7f287e2e871324bd3b085d6803"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97162e7f287e2e871324bd3b085d6803">&#9670;&nbsp;</a></span>dpfj_finish_compression()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DPAPICALL dpfj_finish_compression </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Ends compression or decompression operation, releases memory. </p>
<p>This function releases resources used during the enrollment process. Call after enrollment is complete. </p><dl class="section return"><dt>Returns</dt><dd>DPFJ_SUCCESS: Operation ended. </dd>
<dd>
DPFJ_E_FAILURE: Unknown error. </dd></dl>

</div>
</div>
<a id="a7d7fd689ee33af8f97509481f58ff90d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d7fd689ee33af8f97509481f58ff90d">&#9670;&nbsp;</a></span>dpfj_get_processed_data()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DPAPICALL dpfj_get_processed_data </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>image_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>image_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the processed data. </p>
<p>Application must determine the size of the data by calling <a class="el" href="dpfj__compression_8h.html#a7d7fd689ee33af8f97509481f58ff90d" title="Returns the processed data. ">dpfj_get_processed_data()</a> and allocate memory to receive processed data.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">image_data</td><td>pointer to the allocated memory for the processed data </td></tr>
    <tr><td class="paramname">image_size</td><td>size of the allocated memory </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DPFJ_SUCCESS: Processed data copied. </dd>
<dd>
DPFJ_E_COMPRESSION_NOT_STARTED: Operation is not started. </dd>
<dd>
DPFJ_E_MORE_DATA: Allocated memory is not sufficient. The required memory size is in the image_size. </dd>
<dd>
DPFJ_E_COMPRESSION_INVALID_WSQ_PARAMETER: One or more parameters passed are invalid. </dd>
<dd>
DPFJ_E_COMPRESSION_WSQ_FAILURE: Unknown error. </dd></dl>

</div>
</div>
<a id="ad6d2796405a79919c3445642a3895848"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6d2796405a79919c3445642a3895848">&#9670;&nbsp;</a></span>dpfj_set_wsq_bitrate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DPAPICALL dpfj_set_wsq_bitrate </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>bitrate_x100</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>tolerance_aw</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets target bitrate and tolerance for WSQ compression operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bitrate_x100</td><td>Requested bitrate multiplied by 100. For example, to request bitrate of 4.19, pass 419. </td></tr>
    <tr><td class="paramname">tolerance_aw</td><td>Sets tolerance in percents for the Aware WSQ compression. Range is 1 to 100. For NIST algorithm this parameter will be ignored. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DPFJ_SUCCESS: Bitrate and tolerance are set. </dd>
<dd>
DPFJ_E_COMPRESSION_NOT_STARTED: Operation is not started. </dd>
<dd>
DPFJ_E_COMPRESSION_INVALID_WSQ_PARAMETER: One or more parameters passed are invalid. </dd>
<dd>
DPFJ_E_FAILURE: Unknown error. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bitrate_x100</td><td>bitrate multiplied by 100 </td></tr>
    <tr><td class="paramname">tolerance_aw</td><td>when using Aware WSQ compression </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ade7a34eabdec6e857ad06690a9aa186c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade7a34eabdec6e857ad06690a9aa186c">&#9670;&nbsp;</a></span>dpfj_set_wsq_size()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DPAPICALL dpfj_set_wsq_size </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>tolerance_aw</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets target size and tolerance for WSQ compression operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">size</td><td>Requested size of compressed image. </td></tr>
    <tr><td class="paramname">tolerance_aw</td><td>Sets tolerance in percents for the Aware WSQ compression. Range is 1 to 100. For NIST algorithm this parameter will be ignored. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DPFJ_SUCCESS: Size and tolerance are set. </dd>
<dd>
DPFJ_E_COMPRESSION_NOT_STARTED: Operation is not started. </dd>
<dd>
DPFJ_E_COMPRESSION_INVALID_WSQ_PARAMETER: One or more parameters passed are invalid. </dd>
<dd>
DPFJ_E_FAILURE: Unknown error. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">size</td><td>size of compressed image </td></tr>
    <tr><td class="paramname">tolerance_aw</td><td>when using Aware WSQ compression </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a70e8c666a1a22433282aab1f7b8026fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70e8c666a1a22433282aab1f7b8026fb">&#9670;&nbsp;</a></span>dpfj_start_compression()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DPAPICALL dpfj_start_compression </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Starts compression or decompression operation. </p>
<dl class="section return"><dt>Returns</dt><dd>DPFJ_SUCCESS: Operation started. </dd>
<dd>
DPFJ_E_COMPRESSION_IN_PROGRESS: Another operation is in progress. </dd>
<dd>
DPFJ_E_FAILURE: Unknown error. </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Nov 19 2018 10:20:10 for U.are.U SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
