1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
3  <head>
4    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5    <meta http-equiv="Content-Style-Type" content="text/css" />
6    <link rel="stylesheet" href="../../css/manpage.css" type="text/css" />
7<title>CompressHuffman</title>
8  </head>
9  <body>
10<h1><CODE><a href="../../nn/Overview.html">nn</a>::<a href="../../nn/cx/Overview.html">cx</a>::CompressHuffman</CODE> Function</h1>
11<h2>Syntax</h2>
12    <div class="section">
13      <pre class="definition">#include &lt;nn/cx.h&gt;
14
15<a href="../../nn_types/u32.html">u32</a> CompressHuffman(
16     const <a href="../../nn_types/u8.html">u8</a> * srcp,
17     <a href="../../nn_types/u32.html">u32</a> size,
18     <a href="../../nn_types/u8.html">u8</a> * dstp,
19     <a href="../../nn_types/u8.html">u8</a> huffBitSize,
20     void * work
21);
22</pre>
23    </div>
24<h2>Parameters</h2>
25    <div class="section">
26      <table class="arguments">
27        <thead>
28          <tr>
29            <td width="15" />
30<th>Name</th>
31<td>Description</td>
32          </tr>
33        </thead>
34        <tr>
35<td>in</td>
36<th><CODE>srcp</CODE></th>
37<td>Pointer to compression source data.</td>
38        </tr>
39        <tr>
40<td>in</td>
41<th><CODE>size</CODE></th>
42<td>Compression source data size.</td>
43        </tr>
44        <tr>
45<td>out</td>
46<th><CODE>dstp</CODE></th>
47<td>Pointer to compression target data (requires a buffer larger than the compression source data).</td>
48        </tr>
49        <tr>
50<td>in</td>
51<th><CODE>huffBitSize</CODE></th>
52<td>Number of encoded bits.</td>
53        </tr>
54        <tr>
55<td>in</td>
56<th><CODE>work</CODE></th>
57<td>Temporary buffer to use for compression (requires a region of <CODE><a href="../../nn/cx/HUFFMAN_COMPRESS_WORK_SIZE.html">nn::cx::HUFFMAN_COMPRESS_WORK_SIZE</a></CODE> bytes).</td>
58        </tr> </table>
59    </div>
60<h2>Return Values</h2>
61<div class="section">Returns the size of the compressed data. If the compressed data is larger than the original data, compression is terminated and <CODE>0</CODE> is returned. </div>
62<h2>Description</h2>
63    <div class="section">
64<p>Carries out Huffman compression.</p><p>
65Argument values must adhere to the following restrictions:
66        <ul><li>
67<SPAN class="argument">huffBitSize</SPAN> must be 4 or 8.
68          </li><li>
69The address for <SPAN class="argument">work</SPAN> must be aligned to 4 bytes.
70          </li><li>
71The value of <SPAN class="argument">size</SPAN> must be larger than 4.
72          </li></ul></p></div>
73<h2>Revision History</h2>
74    <div class="section">
75      <dl class="history">
76        <dt>2011/04/06</dt>
77<dd>Added text about the restriction on argument values.<br />
78        </dd>
79        <dt>2010/11/10</dt>
80<dd>	Initial version.<br />
81        </dd>
82      </dl>
83    </div>
84  <hr><p>CONFIDENTIAL</p></body>
85</html>