Sophie

Sophie

distrib > Mageia > 7 > x86_64 > media > nonfree-updates > by-pkgid > b86a85131cc739c1c53d0b55840a4328 > files > 3032

nvidia-cuda-toolkit-devel-10.1.168-1.2.mga7.nonfree.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.5"/>
<title>NVIDIA 2D Image And Signal Performance Primitives (NPP): Compression</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/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</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">NVIDIA 2D Image And Signal Performance Primitives (NPP)
   &#160;<span id="projectnumber">Version 10.1.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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 class="header">
  <div class="summary">
<a href="#groups">Modules</a> &#124;
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Compression<div class="ingroups"><a class="el" href="group__nppi.html">NPP Image Processing</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Image compression primitives.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:group__image__quantization"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__quantization.html">Quantization Functions</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nppi_jpeg_frame_descr.html">NppiJpegFrameDescr</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">JPEG frame descriptor.  <a href="struct_nppi_jpeg_frame_descr.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nppi_jpeg_scan_descr.html">NppiJpegScanDescr</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">JPEG scan descriptor.  <a href="struct_nppi_jpeg_scan_descr.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nppi_jpeg_decode_job.html">NppiJpegDecodeJob</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">JPEG decode job used by <a class="el" href="group__image__compression.html#ga009894319601541a2f88351d1e0f0bfc">nppiJpegDecodeJob</a> (see that for more documentation)  <a href="struct_nppi_jpeg_decode_job.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_nppi_jpeg_decode_job_memory.html">NppiJpegDecodeJobMemory</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory buffers used by one decode job.  <a href="struct_nppi_jpeg_decode_job_memory.html#details">More...</a><br/></td></tr>
<tr class="separator:"><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:ga6b76fcfff2f9bd53afa7c2d2be895451"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
<a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a></td></tr>
<tr class="separator:ga6b76fcfff2f9bd53afa7c2d2be895451"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafce0c11090a27630d739b69d60f241b9"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
<a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a></td></tr>
<tr class="separator:gafce0c11090a27630d739b69d60f241b9"><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:gac870e5f973332a899f324bbf83fcec51"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#gac870e5f973332a899f324bbf83fcec51">nppiDecodeHuffmanSpecGetBufSize_JPEG</a> (int *pSize)</td></tr>
<tr class="memdesc:gac870e5f973332a899f324bbf83fcec51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the length of the NppiDecodeHuffmanSpec structure.  <a href="#gac870e5f973332a899f324bbf83fcec51">More...</a><br/></td></tr>
<tr class="separator:gac870e5f973332a899f324bbf83fcec51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga51cc38f701b495ec16e82e7c57636d58"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga51cc38f701b495ec16e82e7c57636d58">nppiDecodeHuffmanSpecInitHost_JPEG</a> (const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pRawHuffmanTable, <a class="el" href="group__typedefs__npp.html#gacc9f89d33c7bab4bc13019acc15a11af">NppiHuffmanTableType</a> eTableType, <a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *pHuffmanSpec)</td></tr>
<tr class="memdesc:ga51cc38f701b495ec16e82e7c57636d58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a Huffman table in a format that is suitable for the decoder on the host.  <a href="#ga51cc38f701b495ec16e82e7c57636d58">More...</a><br/></td></tr>
<tr class="separator:ga51cc38f701b495ec16e82e7c57636d58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75ea897538f871cde0f0bcb72f6174ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga75ea897538f871cde0f0bcb72f6174ce">nppiDecodeHuffmanSpecInitAllocHost_JPEG</a> (const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pRawHuffmanTable, <a class="el" href="group__typedefs__npp.html#gacc9f89d33c7bab4bc13019acc15a11af">NppiHuffmanTableType</a> eTableType, <a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> **ppHuffmanSpec)</td></tr>
<tr class="memdesc:ga75ea897538f871cde0f0bcb72f6174ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates memory and creates a Huffman table in a format that is suitable for the decoder on the host.  <a href="#ga75ea897538f871cde0f0bcb72f6174ce">More...</a><br/></td></tr>
<tr class="separator:ga75ea897538f871cde0f0bcb72f6174ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5021c0537621326bd1b51e4601e2bf9a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga5021c0537621326bd1b51e4601e2bf9a">nppiDecodeHuffmanSpecFreeHost_JPEG</a> (<a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *pHuffmanSpec)</td></tr>
<tr class="memdesc:ga5021c0537621326bd1b51e4601e2bf9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees the host memory allocated by nppiDecodeHuffmanSpecInitAllocHost_JPEG.  <a href="#ga5021c0537621326bd1b51e4601e2bf9a">More...</a><br/></td></tr>
<tr class="separator:ga5021c0537621326bd1b51e4601e2bf9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac60680db586f27c048f672de41633f5a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#gac60680db586f27c048f672de41633f5a">nppiDecodeHuffmanScanHost_JPEG_8u16s_P1R_Ctx</a> (const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pSrc, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nLength, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> restartInterval, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> Ss, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> Se, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> Ah, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> Al, <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *pDst, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nDstStep, <a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *pHuffmanTableDC, <a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *pHuffmanTableAC, <a class="el" href="struct_nppi_size.html">NppiSize</a> oSizeROI, <a class="el" href="struct_npp_stream_context.html">NppStreamContext</a> nppStreamCtx)</td></tr>
<tr class="memdesc:gac60680db586f27c048f672de41633f5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Huffman Decoding of the JPEG decoding on the host.  <a href="#gac60680db586f27c048f672de41633f5a">More...</a><br/></td></tr>
<tr class="separator:gac60680db586f27c048f672de41633f5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5e5db54a1817d0586dcc7307eadfdfb3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga5e5db54a1817d0586dcc7307eadfdfb3">nppiDecodeHuffmanScanHost_JPEG_8u16s_P1R</a> (const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pSrc, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nLength, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> restartInterval, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> Ss, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> Se, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> Ah, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> Al, <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *pDst, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nDstStep, <a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *pHuffmanTableDC, <a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *pHuffmanTableAC, <a class="el" href="struct_nppi_size.html">NppiSize</a> oSizeROI)</td></tr>
<tr class="separator:ga5e5db54a1817d0586dcc7307eadfdfb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga720c1cba78448dd799bab1dc0fbba2e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga720c1cba78448dd799bab1dc0fbba2e9">nppiDecodeHuffmanScanHost_JPEG_8u16s_P3R_Ctx</a> (const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pSrc, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nLength, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nRestartInterval, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSs, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSe, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAh, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAl, <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *apDst[3], <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> aDstStep[3], <a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *apHuffmanDCTable[3], <a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *apHuffmanACTable[3], <a class="el" href="struct_nppi_size.html">NppiSize</a> aSizeROI[3], <a class="el" href="struct_npp_stream_context.html">NppStreamContext</a> nppStreamCtx)</td></tr>
<tr class="memdesc:ga720c1cba78448dd799bab1dc0fbba2e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Huffman Decoding of the JPEG decoding on the host.  <a href="#ga720c1cba78448dd799bab1dc0fbba2e9">More...</a><br/></td></tr>
<tr class="separator:ga720c1cba78448dd799bab1dc0fbba2e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga84f63d71cf41bf4dfa4664005cbf86e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga84f63d71cf41bf4dfa4664005cbf86e9">nppiDecodeHuffmanScanHost_JPEG_8u16s_P3R</a> (const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pSrc, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nLength, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nRestartInterval, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSs, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSe, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAh, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAl, <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *apDst[3], <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> aDstStep[3], <a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *apHuffmanDCTable[3], <a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *apHuffmanACTable[3], <a class="el" href="struct_nppi_size.html">NppiSize</a> aSizeROI[3])</td></tr>
<tr class="separator:ga84f63d71cf41bf4dfa4664005cbf86e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3241849091183b19a8d7dc01bd32870"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#gad3241849091183b19a8d7dc01bd32870">nppiEncodeHuffmanSpecGetBufSize_JPEG</a> (int *pSize)</td></tr>
<tr class="memdesc:gad3241849091183b19a8d7dc01bd32870"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the length of the NppiEncodeHuffmanSpec structure.  <a href="#gad3241849091183b19a8d7dc01bd32870">More...</a><br/></td></tr>
<tr class="separator:gad3241849091183b19a8d7dc01bd32870"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab23f8927900ce0b9f83eda4a588ce00f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#gab23f8927900ce0b9f83eda4a588ce00f">nppiEncodeHuffmanSpecInit_JPEG_Ctx</a> (const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pRawHuffmanTable, <a class="el" href="group__typedefs__npp.html#gacc9f89d33c7bab4bc13019acc15a11af">NppiHuffmanTableType</a> eTableType, <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *pHuffmanSpec, <a class="el" href="struct_npp_stream_context.html">NppStreamContext</a> nppStreamCtx)</td></tr>
<tr class="memdesc:gab23f8927900ce0b9f83eda4a588ce00f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a Huffman table in a format that is suitable for the encoder.  <a href="#gab23f8927900ce0b9f83eda4a588ce00f">More...</a><br/></td></tr>
<tr class="separator:gab23f8927900ce0b9f83eda4a588ce00f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab8a74f32768b4747fb1f64112847e1be"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#gab8a74f32768b4747fb1f64112847e1be">nppiEncodeHuffmanSpecInit_JPEG</a> (const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pRawHuffmanTable, <a class="el" href="group__typedefs__npp.html#gacc9f89d33c7bab4bc13019acc15a11af">NppiHuffmanTableType</a> eTableType, <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *pHuffmanSpec)</td></tr>
<tr class="separator:gab8a74f32768b4747fb1f64112847e1be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga58a938c3bfe7a0270dc45d4b5fbaed77"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga58a938c3bfe7a0270dc45d4b5fbaed77">nppiEncodeHuffmanSpecInitAlloc_JPEG_Ctx</a> (const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pRawHuffmanTable, <a class="el" href="group__typedefs__npp.html#gacc9f89d33c7bab4bc13019acc15a11af">NppiHuffmanTableType</a> eTableType, <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> **ppHuffmanSpec, <a class="el" href="struct_npp_stream_context.html">NppStreamContext</a> nppStreamCtx)</td></tr>
<tr class="memdesc:ga58a938c3bfe7a0270dc45d4b5fbaed77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates memory and creates a Huffman table in a format that is suitable for the encoder.  <a href="#ga58a938c3bfe7a0270dc45d4b5fbaed77">More...</a><br/></td></tr>
<tr class="separator:ga58a938c3bfe7a0270dc45d4b5fbaed77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3893fb42325a46ef7c063dcf8cf042e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga3893fb42325a46ef7c063dcf8cf042e4">nppiEncodeHuffmanSpecInitAlloc_JPEG</a> (const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pRawHuffmanTable, <a class="el" href="group__typedefs__npp.html#gacc9f89d33c7bab4bc13019acc15a11af">NppiHuffmanTableType</a> eTableType, <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> **ppHuffmanSpec)</td></tr>
<tr class="separator:ga3893fb42325a46ef7c063dcf8cf042e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga21c11792734326f27bae933fcd458623"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga21c11792734326f27bae933fcd458623">nppiEncodeHuffmanSpecFree_JPEG</a> (<a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *pHuffmanSpec)</td></tr>
<tr class="memdesc:ga21c11792734326f27bae933fcd458623"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees the memory allocated by nppiEncodeHuffmanSpecInitAlloc_JPEG.  <a href="#ga21c11792734326f27bae933fcd458623">More...</a><br/></td></tr>
<tr class="separator:ga21c11792734326f27bae933fcd458623"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e45a881f7bc43e26b8e9e913d58425f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga7e45a881f7bc43e26b8e9e913d58425f">nppiEncodeHuffmanScan_JPEG_8u16s_P1R_Ctx</a> (const <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *pSrc, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSrcStep, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nRestartInterval, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSs, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSe, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAh, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAl, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pDst, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> *nLength, <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *pHuffmanTableDC, <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *pHuffmanTableAC, <a class="el" href="struct_nppi_size.html">NppiSize</a> oSizeROI, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pTempStorage, <a class="el" href="struct_npp_stream_context.html">NppStreamContext</a> nppStreamCtx)</td></tr>
<tr class="memdesc:ga7e45a881f7bc43e26b8e9e913d58425f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Huffman Encoding of the JPEG Encoding.  <a href="#ga7e45a881f7bc43e26b8e9e913d58425f">More...</a><br/></td></tr>
<tr class="separator:ga7e45a881f7bc43e26b8e9e913d58425f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab4e62e3527413293fa3d9e298ec1fe93"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#gab4e62e3527413293fa3d9e298ec1fe93">nppiEncodeHuffmanScan_JPEG_8u16s_P1R</a> (const <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *pSrc, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSrcStep, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nRestartInterval, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSs, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSe, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAh, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAl, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pDst, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> *nLength, <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *pHuffmanTableDC, <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *pHuffmanTableAC, <a class="el" href="struct_nppi_size.html">NppiSize</a> oSizeROI, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pTempStorage)</td></tr>
<tr class="separator:gab4e62e3527413293fa3d9e298ec1fe93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac8273f6d09269e701f08f71bc1d75a2a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#gac8273f6d09269e701f08f71bc1d75a2a">nppiEncodeHuffmanScan_JPEG_8u16s_P3R_Ctx</a> (<a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *apSrc[3], <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> aSrcStep[3], <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nRestartInterval, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSs, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSe, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAh, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAl, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pDst, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> *nLength, <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *apHuffmanDCTable[3], <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *apHuffmanACTable[3], <a class="el" href="struct_nppi_size.html">NppiSize</a> aSizeROI[3], <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pTempStorage, <a class="el" href="struct_npp_stream_context.html">NppStreamContext</a> nppStreamCtx)</td></tr>
<tr class="memdesc:gac8273f6d09269e701f08f71bc1d75a2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Huffman Encoding of the JPEG Encoding.  <a href="#gac8273f6d09269e701f08f71bc1d75a2a">More...</a><br/></td></tr>
<tr class="separator:gac8273f6d09269e701f08f71bc1d75a2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5711ba78d00209d8e3cd2ebbe63e958b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga5711ba78d00209d8e3cd2ebbe63e958b">nppiEncodeHuffmanScan_JPEG_8u16s_P3R</a> (<a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *apSrc[3], <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> aSrcStep[3], <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nRestartInterval, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSs, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSe, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAh, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAl, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pDst, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> *nLength, <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *apHuffmanDCTable[3], <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *apHuffmanACTable[3], <a class="el" href="struct_nppi_size.html">NppiSize</a> aSizeROI[3], <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pTempStorage)</td></tr>
<tr class="separator:ga5711ba78d00209d8e3cd2ebbe63e958b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae6724f4730d0100484c278c8a73af517"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#gae6724f4730d0100484c278c8a73af517">nppiEncodeOptimizeHuffmanScan_JPEG_8u16s_P1R_Ctx</a> (const <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *pSrc, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSrcStep, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nRestartInterval, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSs, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSe, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAh, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAl, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pDst, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> *pLength, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *hpCodesDC, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *hpTableDC, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *hpCodesAC, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *hpTableAC, <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *pHuffmanDCTable, <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *pHuffmanACTable, <a class="el" href="struct_nppi_size.html">NppiSize</a> oSizeROI, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pTempStorage, <a class="el" href="struct_npp_stream_context.html">NppStreamContext</a> nppStreamCtx)</td></tr>
<tr class="memdesc:gae6724f4730d0100484c278c8a73af517"><td class="mdescLeft">&#160;</td><td class="mdescRight">Optimize Huffman Encoding of the JPEG Encoding.  <a href="#gae6724f4730d0100484c278c8a73af517">More...</a><br/></td></tr>
<tr class="separator:gae6724f4730d0100484c278c8a73af517"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa85e01990744121c240525b458ac5ba1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#gaa85e01990744121c240525b458ac5ba1">nppiEncodeOptimizeHuffmanScan_JPEG_8u16s_P1R</a> (const <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *pSrc, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSrcStep, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nRestartInterval, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSs, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSe, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAh, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAl, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pDst, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> *pLength, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *hpCodesDC, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *hpTableDC, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *hpCodesAC, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *hpTableAC, <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *pHuffmanDCTable, <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *pHuffmanACTable, <a class="el" href="struct_nppi_size.html">NppiSize</a> oSizeROI, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pTempStorage)</td></tr>
<tr class="separator:gaa85e01990744121c240525b458ac5ba1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a62cd96d975469d50faf7b5309ba536"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga9a62cd96d975469d50faf7b5309ba536">nppiEncodeOptimizeHuffmanScan_JPEG_8u16s_P3R_Ctx</a> (<a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *apSrc[3], <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> aSrcStep[3], <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nRestartInterval, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSs, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSe, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAh, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAl, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pDst, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> *pLength, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *hpCodesDC[3], <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *hpTableDC[3], <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *hpCodesAC[3], <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *hpTableAC[3], <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *apHuffmanDCTable[3], <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *apHuffmanACTable[3], <a class="el" href="struct_nppi_size.html">NppiSize</a> oSizeROI[3], <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pTempStorage, <a class="el" href="struct_npp_stream_context.html">NppStreamContext</a> nppStreamCtx)</td></tr>
<tr class="memdesc:ga9a62cd96d975469d50faf7b5309ba536"><td class="mdescLeft">&#160;</td><td class="mdescRight">Optimize Huffman Encoding of the JPEG Encoding.  <a href="#ga9a62cd96d975469d50faf7b5309ba536">More...</a><br/></td></tr>
<tr class="separator:ga9a62cd96d975469d50faf7b5309ba536"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57fc16fbd6dd3e6b5d441eeb1b2c4332"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga57fc16fbd6dd3e6b5d441eeb1b2c4332">nppiEncodeOptimizeHuffmanScan_JPEG_8u16s_P3R</a> (<a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *apSrc[3], <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> aSrcStep[3], <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nRestartInterval, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSs, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nSe, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAh, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> nAl, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pDst, <a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> *pLength, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *hpCodesDC[3], <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *hpTableDC[3], <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *hpCodesAC[3], <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *hpTableAC[3], <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *apHuffmanDCTable[3], <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *apHuffmanACTable[3], <a class="el" href="struct_nppi_size.html">NppiSize</a> oSizeROI[3], <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pTempStorage)</td></tr>
<tr class="separator:ga57fc16fbd6dd3e6b5d441eeb1b2c4332"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c0b556ab9ebe79c622b4fc6a2cd4d5f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga3c0b556ab9ebe79c622b4fc6a2cd4d5f">nppiEncodeHuffmanGetSize</a> (<a class="el" href="struct_nppi_size.html">NppiSize</a> oSize, int nChannels, size_t *pBufSize)</td></tr>
<tr class="memdesc:ga3c0b556ab9ebe79c622b4fc6a2cd4d5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the size of the temporary buffer for baseline Huffman encoding.  <a href="#ga3c0b556ab9ebe79c622b4fc6a2cd4d5f">More...</a><br/></td></tr>
<tr class="separator:ga3c0b556ab9ebe79c622b4fc6a2cd4d5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa461179610ba6bf3337ea01750fe854e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#gaa461179610ba6bf3337ea01750fe854e">nppiEncodeOptimizeHuffmanGetSize</a> (<a class="el" href="struct_nppi_size.html">NppiSize</a> oSize, int nChannels, int *pBufSize)</td></tr>
<tr class="memdesc:gaa461179610ba6bf3337ea01750fe854e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the size of the temporary buffer for optimize Huffman coding.  <a href="#gaa461179610ba6bf3337ea01750fe854e">More...</a><br/></td></tr>
<tr class="separator:gaa461179610ba6bf3337ea01750fe854e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8ab9d36cc5bf23bb0263cfe252c2553e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga8ab9d36cc5bf23bb0263cfe252c2553e">nppiDCTInv4x4_WebP_16s_C1R_Ctx</a> (const <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *pSrc, int nSrcStep, <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *pDst, int nDstStep, <a class="el" href="struct_nppi_size.html">NppiSize</a> oSizeROI, <a class="el" href="struct_npp_stream_context.html">NppStreamContext</a> nppStreamCtx)</td></tr>
<tr class="memdesc:ga8ab9d36cc5bf23bb0263cfe252c2553e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inverse DCT in WebP decoding.  <a href="#ga8ab9d36cc5bf23bb0263cfe252c2553e">More...</a><br/></td></tr>
<tr class="separator:ga8ab9d36cc5bf23bb0263cfe252c2553e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab723a6e69828d590b04a742c8fc8bb98"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#gab723a6e69828d590b04a742c8fc8bb98">nppiDCTInv4x4_WebP_16s_C1R</a> (const <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *pSrc, int nSrcStep, <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *pDst, int nDstStep, <a class="el" href="struct_nppi_size.html">NppiSize</a> oSizeROI)</td></tr>
<tr class="separator:gab723a6e69828d590b04a742c8fc8bb98"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Hybrid CPU+GPU JPEG Huffman decoding</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp001b8c1f09a49ab06087f4c6f484c5ea"></a>These functions and structs are used for Huffman decoding part of JPEG decode pipeline.</p>
<p>It uses hybrid CPU + GPU approach.</p>
<p>See <a class="el" href="group__image__compression.html#ga009894319601541a2f88351d1e0f0bfc">nppiJpegDecodeJob</a> for more documentation and example </p>
</td></tr>
<tr class="memitem:ga186a8c2fbc29d26049b8ab79c4b79c83"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga186a8c2fbc29d26049b8ab79c4b79c83">NppiJpegDecodeJobKind</a> { <br/>
&#160;&#160;<a class="el" href="group__image__compression.html#gga186a8c2fbc29d26049b8ab79c4b79c83a7a37e7ce40d4e8089c70c2bbee871949">NPPI_JPEG_DECODE_SIMPLE</a>, 
<br/>
&#160;&#160;<a class="el" href="group__image__compression.html#gga186a8c2fbc29d26049b8ab79c4b79c83ab1c85ae975a299aff6e57731dab8dee1">NPPI_JPEG_DECODE_PRE</a>, 
<br/>
&#160;&#160;<a class="el" href="group__image__compression.html#gga186a8c2fbc29d26049b8ab79c4b79c83a1548c1b12a6d87486ece88a8559bcdd9">NPPI_JPEG_DECODE_CPU</a>, 
<br/>
&#160;&#160;<a class="el" href="group__image__compression.html#gga186a8c2fbc29d26049b8ab79c4b79c83a889c05efa30f8e903abcadf78855c2fc">NPPI_JPEG_DECODE_GPU</a>, 
<br/>
&#160;&#160;<a class="el" href="group__image__compression.html#gga186a8c2fbc29d26049b8ab79c4b79c83a877b24cf2c24de332ff6334658f68d69">NPPI_JPEG_DECODE_MEMZERO</a>, 
<br/>
&#160;&#160;<a class="el" href="group__image__compression.html#gga186a8c2fbc29d26049b8ab79c4b79c83a4a5a0b739f5e4920fed31b4ab84dacfb">NPPI_JPEG_DECODE_FINALIZE</a>
<br/>
 }</td></tr>
<tr class="memdesc:ga186a8c2fbc29d26049b8ab79c4b79c83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of job to execute.  <a href="group__image__compression.html#ga186a8c2fbc29d26049b8ab79c4b79c83">More...</a><br/></td></tr>
<tr class="separator:ga186a8c2fbc29d26049b8ab79c4b79c83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b0c048f986e54c8e00297d4a075ae55"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga0b0c048f986e54c8e00297d4a075ae55">nppiJpegDecodeJobMemorySize</a> (const <a class="el" href="struct_nppi_jpeg_decode_job.html">NppiJpegDecodeJob</a> *pJob, size_t *aSize)</td></tr>
<tr class="memdesc:ga0b0c048f986e54c8e00297d4a075ae55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates sizes of additional buffers used by the job.  <a href="#ga0b0c048f986e54c8e00297d4a075ae55">More...</a><br/></td></tr>
<tr class="separator:ga0b0c048f986e54c8e00297d4a075ae55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga435fba174658cf303efcab61e8b30bf3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga435fba174658cf303efcab61e8b30bf3">nppiJpegDecodeJob_Ctx</a> (const <a class="el" href="struct_nppi_jpeg_decode_job.html">NppiJpegDecodeJob</a> *pJob, const <a class="el" href="struct_nppi_jpeg_decode_job_memory.html">NppiJpegDecodeJobMemory</a> *pMemory, <a class="el" href="struct_npp_stream_context.html">NppStreamContext</a> nppStreamCtx)</td></tr>
<tr class="memdesc:ga435fba174658cf303efcab61e8b30bf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes a job &ndash; part of decoding.  <a href="#ga435fba174658cf303efcab61e8b30bf3">More...</a><br/></td></tr>
<tr class="separator:ga435fba174658cf303efcab61e8b30bf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga009894319601541a2f88351d1e0f0bfc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga009894319601541a2f88351d1e0f0bfc">nppiJpegDecodeJob</a> (const <a class="el" href="struct_nppi_jpeg_decode_job.html">NppiJpegDecodeJob</a> *pJob, const <a class="el" href="struct_nppi_jpeg_decode_job_memory.html">NppiJpegDecodeJobMemory</a> *pMemory)</td></tr>
<tr class="separator:ga009894319601541a2f88351d1e0f0bfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga78bea335cc57b8ccbd254bc0396a2c6e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga78bea335cc57b8ccbd254bc0396a2c6e">nppiJpegDecodeJobCreateMemzero</a> (<a class="el" href="struct_nppi_jpeg_decode_job.html">NppiJpegDecodeJob</a> *pJob)</td></tr>
<tr class="memdesc:ga78bea335cc57b8ccbd254bc0396a2c6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a job that has to be called at the beginning of decoding.  <a href="#ga78bea335cc57b8ccbd254bc0396a2c6e">More...</a><br/></td></tr>
<tr class="separator:ga78bea335cc57b8ccbd254bc0396a2c6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf4c2829d018eb3b631e7288ff08d962"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#gabf4c2829d018eb3b631e7288ff08d962">nppiJpegDecodeJobCreateFinalize</a> (<a class="el" href="struct_nppi_jpeg_decode_job.html">NppiJpegDecodeJob</a> *pJob)</td></tr>
<tr class="memdesc:gabf4c2829d018eb3b631e7288ff08d962"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a job that has to be called at the end of decoding, in order to convert temporary representation of DCT coefficients to the final one.  <a href="#gabf4c2829d018eb3b631e7288ff08d962">More...</a><br/></td></tr>
<tr class="separator:gabf4c2829d018eb3b631e7288ff08d962"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaea9a316b46b66ba15bd835e46bed3870"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#gaea9a316b46b66ba15bd835e46bed3870">nppiJpegDecodeGetScanDeadzoneSize</a> (void)</td></tr>
<tr class="memdesc:gaea9a316b46b66ba15bd835e46bed3870"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns how much additional memory has to be available after the end of compressed scan data.  <a href="#gaea9a316b46b66ba15bd835e46bed3870">More...</a><br/></td></tr>
<tr class="separator:gaea9a316b46b66ba15bd835e46bed3870"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2a42d33eb7c0a288073c828476a58ced"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga2a42d33eb7c0a288073c828476a58ced">nppiJpegDecodeGetDCTBufferSize</a> (<a class="el" href="struct_nppi_size.html">NppiSize</a> oBlocks)</td></tr>
<tr class="memdesc:ga2a42d33eb7c0a288073c828476a58ced"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns how much memory has to be allocated for DCT coefficient buffers declared in <a class="el" href="struct_nppi_jpeg_decode_job_memory.html">NppiJpegDecodeJobMemory</a>.  <a href="#ga2a42d33eb7c0a288073c828476a58ced">More...</a><br/></td></tr>
<tr class="separator:ga2a42d33eb7c0a288073c828476a58ced"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga35e62de37c27658d70f052dc73662dff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__compression.html#ga35e62de37c27658d70f052dc73662dff">NPPI_JPEG_DECODE_N_BUFFERS</a>&#160;&#160;&#160;3</td></tr>
<tr class="memdesc:ga35e62de37c27658d70f052dc73662dff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of additional buffers that may be used by JPEG decode jobs.  <a href="#ga35e62de37c27658d70f052dc73662dff">More...</a><br/></td></tr>
<tr class="separator:ga35e62de37c27658d70f052dc73662dff"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Image compression primitives. </p>
<p>The JPEG standard defines a flow of level shift, DCT and quantization for forward JPEG transform and inverse level shift, IDCT and de-quantization for inverse JPEG transform. This group has the functions for both forward and inverse functions.</p>
<p>These functions can be found in the nppicom library. Linking to only the sub-libraries that you use can significantly save link time, application load time, and CUDA runtime startup time when using dynamic libraries. </p>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga35e62de37c27658d70f052dc73662dff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NPPI_JPEG_DECODE_N_BUFFERS&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of additional buffers that may be used by JPEG decode jobs. </p>
<p>This number may change in the future, but it remain small.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="struct_nppi_jpeg_decode_job_memory.html" title="Memory buffers used by one decode job. ">NppiJpegDecodeJobMemory</a> </dd></dl>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga6b76fcfff2f9bd53afa7c2d2be895451"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> <a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="gafce0c11090a27630d739b69d60f241b9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> <a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga186a8c2fbc29d26049b8ab79c4b79c83"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__image__compression.html#ga186a8c2fbc29d26049b8ab79c4b79c83">NppiJpegDecodeJobKind</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Type of job to execute. </p>
<p>Usually you will need just SIMPLE for each scan, one MEMZERO at the beginning and FINALIZE at the end. See the example in <a class="el" href="group__image__compression.html#ga009894319601541a2f88351d1e0f0bfc">nppiJpegDecodeJob</a></p>
<p>SIMPLE can be split into multiple jobs: PRE, CPU &amp; GPU. Please note that if you don't use SIMPLE, you man need to add some memcopies and synchronizes as described in <a class="el" href="group__image__compression.html#ga009894319601541a2f88351d1e0f0bfc">nppiJpegDecodeJob</a>.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__image__compression.html#ga009894319601541a2f88351d1e0f0bfc">nppiJpegDecodeJob</a> </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga186a8c2fbc29d26049b8ab79c4b79c83a7a37e7ce40d4e8089c70c2bbee871949"></a>NPPI_JPEG_DECODE_SIMPLE</em>&nbsp;</td><td class="fielddoc">
<p>Decode whole scan using a single job. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga186a8c2fbc29d26049b8ab79c4b79c83ab1c85ae975a299aff6e57731dab8dee1"></a>NPPI_JPEG_DECODE_PRE</em>&nbsp;</td><td class="fielddoc">
<p>Preprocessing scan on GPU. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga186a8c2fbc29d26049b8ab79c4b79c83a1548c1b12a6d87486ece88a8559bcdd9"></a>NPPI_JPEG_DECODE_CPU</em>&nbsp;</td><td class="fielddoc">
<p>Part of decoding run on CPU. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga186a8c2fbc29d26049b8ab79c4b79c83a889c05efa30f8e903abcadf78855c2fc"></a>NPPI_JPEG_DECODE_GPU</em>&nbsp;</td><td class="fielddoc">
<p>Part of decoding run on GPU. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga186a8c2fbc29d26049b8ab79c4b79c83a877b24cf2c24de332ff6334658f68d69"></a>NPPI_JPEG_DECODE_MEMZERO</em>&nbsp;</td><td class="fielddoc">
<p>Zeroing memory before decoding. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga186a8c2fbc29d26049b8ab79c4b79c83a4a5a0b739f5e4920fed31b4ab84dacfb"></a>NPPI_JPEG_DECODE_FINALIZE</em>&nbsp;</td><td class="fielddoc">
<p>Change memory representation of DCT coefficients to final. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gab723a6e69828d590b04a742c8fc8bb98"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiDCTInv4x4_WebP_16s_C1R </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *&#160;</td>
          <td class="paramname"><em>pSrc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nSrcStep</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *&#160;</td>
          <td class="paramname"><em>pDst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nDstStep</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>oSizeROI</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga8ab9d36cc5bf23bb0263cfe252c2553e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiDCTInv4x4_WebP_16s_C1R_Ctx </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *&#160;</td>
          <td class="paramname"><em>pSrc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nSrcStep</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *&#160;</td>
          <td class="paramname"><em>pDst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nDstStep</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>oSizeROI</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_npp_stream_context.html">NppStreamContext</a>&#160;</td>
          <td class="paramname"><em>nppStreamCtx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Inverse DCT in WebP decoding. </p>
<p>Input is the bitstream that contains the coefficients of 16x16 blocks. These coefficients are based on a 4x4 sub-block unit, e.g., Coeffs in 0th 4x4 block, 1st 4x4 block 2nd 4x4 block, etc. Output is the coefficients after inverse DCT transform. The output is put in an image format (i.e. raster scan order), different from the input order.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pSrc</td><td><a class="el" href="nppi_conventions_lb.html#source_image_pointer">Source-Image Pointer</a>. </td></tr>
    <tr><td class="paramname">nSrcStep</td><td><a class="el" href="nppi_conventions_lb.html#source_image_line_step">Source-Image Line Step</a>. </td></tr>
    <tr><td class="paramname">pDst</td><td><a class="el" href="nppi_conventions_lb.html#destination_image_pointer">Destination-Image Pointer</a>. </td></tr>
    <tr><td class="paramname">nDstStep</td><td><a class="el" href="nppi_conventions_lb.html#destination_image_line_step">Destination-Image Line Step</a>. </td></tr>
    <tr><td class="paramname">oSizeROI</td><td><a class="el" href="nppi_conventions_lb.html#roi_specification">Region-of-Interest (ROI)</a>. </td></tr>
    <tr><td class="paramname">nppStreamCtx</td><td><a class="el" href="index.html#application_managed_stream_context">Application Managed Stream Context</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error codes:<ul>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a63297527390b522fa2b47a4d82f71b4b">NPP_SIZE_ERROR</a> For negative input height/width or not a multiple of 8 width/height.</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a582d1a09141f3b175a2e751cfc2e22cd" title="Step is less or equal zero. ">NPP_STEP_ERROR</a> If input image width is not multiple of 8 or does not match ROI.</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a524a376b3d44c458b474613fb0dc8e1a">NPP_NULL_POINTER_ERROR</a> If the destination pointer is 0. </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="ga5e5db54a1817d0586dcc7307eadfdfb3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiDecodeHuffmanScanHost_JPEG_8u16s_P1R </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pSrc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>restartInterval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>Ss</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>Se</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>Ah</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>Al</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *&#160;</td>
          <td class="paramname"><em>pDst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nDstStep</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>pHuffmanTableDC</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>pHuffmanTableAC</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>oSizeROI</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="gac60680db586f27c048f672de41633f5a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiDecodeHuffmanScanHost_JPEG_8u16s_P1R_Ctx </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pSrc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>restartInterval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>Ss</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>Se</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>Ah</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>Al</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *&#160;</td>
          <td class="paramname"><em>pDst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nDstStep</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>pHuffmanTableDC</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>pHuffmanTableAC</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>oSizeROI</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_npp_stream_context.html">NppStreamContext</a>&#160;</td>
          <td class="paramname"><em>nppStreamCtx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Huffman Decoding of the JPEG decoding on the host. </p>
<p>Input is expected in byte stuffed huffman encoded JPEG scan and output is expected to be 64x1 macro blocks.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pSrc</td><td>Byte-stuffed huffman encoded JPEG scan. </td></tr>
    <tr><td class="paramname">nLength</td><td>Byte length of the input. </td></tr>
    <tr><td class="paramname">restartInterval</td><td>Restart Interval, see JPEG standard. </td></tr>
    <tr><td class="paramname">Ss</td><td>Start Coefficient, see JPEG standard. </td></tr>
    <tr><td class="paramname">Se</td><td>End Coefficient, see JPEG standard. </td></tr>
    <tr><td class="paramname">Ah</td><td>Bit Approximation High, see JPEG standard. </td></tr>
    <tr><td class="paramname">Al</td><td>Bit Approximation Low, see JPEG standard. </td></tr>
    <tr><td class="paramname">pDst</td><td><a class="el" href="nppi_conventions_lb.html#destination_image_pointer">Destination-Image Pointer</a>. </td></tr>
    <tr><td class="paramname">nDstStep</td><td><a class="el" href="nppi_conventions_lb.html#destination_image_line_step">Destination-Image Line Step</a>. </td></tr>
    <tr><td class="paramname">pHuffmanTableDC</td><td>DC Huffman table. </td></tr>
    <tr><td class="paramname">pHuffmanTableAC</td><td>AC Huffman table. </td></tr>
    <tr><td class="paramname">oSizeROI</td><td><a class="el" href="nppi_conventions_lb.html#roi_specification">Region-of-Interest (ROI)</a>. </td></tr>
    <tr><td class="paramname">nppStreamCtx</td><td><a class="el" href="index.html#application_managed_stream_context">Application Managed Stream Context</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error codes:<ul>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a63297527390b522fa2b47a4d82f71b4b">NPP_SIZE_ERROR</a> For negative input height/width or not a multiple of 8 width/height.</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a582d1a09141f3b175a2e751cfc2e22cd" title="Step is less or equal zero. ">NPP_STEP_ERROR</a> If input image width is not multiple of 8 or does not match ROI.</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a524a376b3d44c458b474613fb0dc8e1a">NPP_NULL_POINTER_ERROR</a> If the destination pointer is 0. </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="ga84f63d71cf41bf4dfa4664005cbf86e9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiDecodeHuffmanScanHost_JPEG_8u16s_P3R </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pSrc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nRestartInterval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *&#160;</td>
          <td class="paramname"><em>apDst</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>aDstStep</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>apHuffmanDCTable</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>apHuffmanACTable</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>aSizeROI</em>[3]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga720c1cba78448dd799bab1dc0fbba2e9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiDecodeHuffmanScanHost_JPEG_8u16s_P3R_Ctx </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pSrc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nRestartInterval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *&#160;</td>
          <td class="paramname"><em>apDst</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>aDstStep</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>apHuffmanDCTable</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>apHuffmanACTable</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>aSizeROI</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_npp_stream_context.html">NppStreamContext</a>&#160;</td>
          <td class="paramname"><em>nppStreamCtx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Huffman Decoding of the JPEG decoding on the host. </p>
<p>Input is expected in byte stuffed huffman encoded JPEG scan and output is expected to be 64x1 macro blocks.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pSrc</td><td>Byte-stuffed huffman encoded JPEG scan. </td></tr>
    <tr><td class="paramname">nLength</td><td>Byte length of the input. </td></tr>
    <tr><td class="paramname">nRestartInterval</td><td>Restart Interval, see JPEG standard. </td></tr>
    <tr><td class="paramname">nSs</td><td>Start Coefficient, see JPEG standard. </td></tr>
    <tr><td class="paramname">nSe</td><td>End Coefficient, see JPEG standard. </td></tr>
    <tr><td class="paramname">nAh</td><td>Bit Approximation High, see JPEG standard. </td></tr>
    <tr><td class="paramname">nAl</td><td>Bit Approximation Low, see JPEG standard. </td></tr>
    <tr><td class="paramname">apDst</td><td><a class="el" href="nppi_conventions_lb.html#destination_image_pointer">Destination-Image Pointer</a>. </td></tr>
    <tr><td class="paramname">aDstStep</td><td><a class="el" href="nppi_conventions_lb.html#destination_image_line_step">Destination-Image Line Step</a>. </td></tr>
    <tr><td class="paramname">apHuffmanDCTable</td><td>DC Huffman tables. </td></tr>
    <tr><td class="paramname">apHuffmanACTable</td><td>AC Huffman tables. </td></tr>
    <tr><td class="paramname">aSizeROI</td><td><a class="el" href="nppi_conventions_lb.html#roi_specification">Region-of-Interest (ROI)</a>. </td></tr>
    <tr><td class="paramname">nppStreamCtx</td><td><a class="el" href="index.html#application_managed_stream_context">Application Managed Stream Context</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error codes:<ul>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a63297527390b522fa2b47a4d82f71b4b">NPP_SIZE_ERROR</a> For negative input height/width or not a multiple of 8 width/height.</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a582d1a09141f3b175a2e751cfc2e22cd" title="Step is less or equal zero. ">NPP_STEP_ERROR</a> If input image width is not multiple of 8 or does not match ROI.</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a524a376b3d44c458b474613fb0dc8e1a">NPP_NULL_POINTER_ERROR</a> If the destination pointer is 0. </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="ga5021c0537621326bd1b51e4601e2bf9a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiDecodeHuffmanSpecFreeHost_JPEG </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>pHuffmanSpec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Frees the host memory allocated by nppiDecodeHuffmanSpecInitAllocHost_JPEG. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pHuffmanSpec</td><td>Pointer to the Huffman table for the decoder </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gac870e5f973332a899f324bbf83fcec51"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiDecodeHuffmanSpecGetBufSize_JPEG </td>
          <td>(</td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>pSize</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the length of the NppiDecodeHuffmanSpec structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pSize</td><td>Pointer to a variable that will receive the length of the NppiDecodeHuffmanSpec structure. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error codes:<ul>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a524a376b3d44c458b474613fb0dc8e1a">NPP_NULL_POINTER_ERROR</a> If one of the pointers is 0. </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="ga75ea897538f871cde0f0bcb72f6174ce"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiDecodeHuffmanSpecInitAllocHost_JPEG </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pRawHuffmanTable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__typedefs__npp.html#gacc9f89d33c7bab4bc13019acc15a11af">NppiHuffmanTableType</a>&#160;</td>
          <td class="paramname"><em>eTableType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> **&#160;</td>
          <td class="paramname"><em>ppHuffmanSpec</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allocates memory and creates a Huffman table in a format that is suitable for the decoder on the host. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pRawHuffmanTable</td><td>Huffman table formated as specified in the JPEG standard. </td></tr>
    <tr><td class="paramname">eTableType</td><td>Enum specifying type of table (nppiDCTable or nppiACTable). </td></tr>
    <tr><td class="paramname">ppHuffmanSpec</td><td>Pointer to returned pointer to the Huffman table for the decoder </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error codes:<ul>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a524a376b3d44c458b474613fb0dc8e1a">NPP_NULL_POINTER_ERROR</a> If one of the pointers is 0. </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="ga51cc38f701b495ec16e82e7c57636d58"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiDecodeHuffmanSpecInitHost_JPEG </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pRawHuffmanTable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__typedefs__npp.html#gacc9f89d33c7bab4bc13019acc15a11af">NppiHuffmanTableType</a>&#160;</td>
          <td class="paramname"><em>eTableType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#ga6b76fcfff2f9bd53afa7c2d2be895451">NppiDecodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>pHuffmanSpec</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates a Huffman table in a format that is suitable for the decoder on the host. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pRawHuffmanTable</td><td>Huffman table formated as specified in the JPEG standard. </td></tr>
    <tr><td class="paramname">eTableType</td><td>Enum specifying type of table (nppiDCTable or nppiACTable). </td></tr>
    <tr><td class="paramname">pHuffmanSpec</td><td>Pointer to the Huffman table for the decoder </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error codes:<ul>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a524a376b3d44c458b474613fb0dc8e1a">NPP_NULL_POINTER_ERROR</a> If one of the pointers is 0. </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="ga3c0b556ab9ebe79c622b4fc6a2cd4d5f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiEncodeHuffmanGetSize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>oSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nChannels</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>pBufSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calculates the size of the temporary buffer for baseline Huffman encoding. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__image__compression.html#gab4e62e3527413293fa3d9e298ec1fe93">nppiEncodeHuffmanScan_JPEG_8u16s_P1R()</a>, <a class="el" href="group__image__compression.html#ga5711ba78d00209d8e3cd2ebbe63e958b">nppiEncodeHuffmanScan_JPEG_8u16s_P3R()</a>.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">oSize</td><td>Image Dimension. </td></tr>
    <tr><td class="paramname">nChannels</td><td>Number of channels in the image. </td></tr>
    <tr><td class="paramname">pBufSize</td><td>Pointer to variable that returns the size of the temporary buffer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning </dd>
<dd>
NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value </dd>
<dd>
NPP_NULL_POINTER_ERROR Indicates an error condition if pBufSize pointer is NULL </dd></dl>

</div>
</div>
<a class="anchor" id="gab4e62e3527413293fa3d9e298ec1fe93"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiEncodeHuffmanScan_JPEG_8u16s_P1R </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *&#160;</td>
          <td class="paramname"><em>pSrc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSrcStep</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nRestartInterval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pDst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> *&#160;</td>
          <td class="paramname"><em>nLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>pHuffmanTableDC</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>pHuffmanTableAC</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>oSizeROI</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pTempStorage</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga7e45a881f7bc43e26b8e9e913d58425f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiEncodeHuffmanScan_JPEG_8u16s_P1R_Ctx </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *&#160;</td>
          <td class="paramname"><em>pSrc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSrcStep</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nRestartInterval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pDst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> *&#160;</td>
          <td class="paramname"><em>nLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>pHuffmanTableDC</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>pHuffmanTableAC</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>oSizeROI</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pTempStorage</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_npp_stream_context.html">NppStreamContext</a>&#160;</td>
          <td class="paramname"><em>nppStreamCtx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Huffman Encoding of the JPEG Encoding. </p>
<p>Input is expected to be 64x1 macro blocks and output is expected as byte stuffed huffman encoded JPEG scan.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pSrc</td><td><a class="el" href="nppi_conventions_lb.html#destination_image_pointer">Destination-Image Pointer</a>. </td></tr>
    <tr><td class="paramname">nSrcStep</td><td><a class="el" href="nppi_conventions_lb.html#destination_image_line_step">Destination-Image Line Step</a>. </td></tr>
    <tr><td class="paramname">nRestartInterval</td><td>Restart Interval, see JPEG standard. Currently only values &lt;=0 are supported. </td></tr>
    <tr><td class="paramname">nSs</td><td>Start Coefficient, see JPEG standard. </td></tr>
    <tr><td class="paramname">nSe</td><td>End Coefficient, see JPEG standard. </td></tr>
    <tr><td class="paramname">nAh</td><td>Bit Approximation High, see JPEG standard. </td></tr>
    <tr><td class="paramname">nAl</td><td>Bit Approximation Low, see JPEG standard. </td></tr>
    <tr><td class="paramname">pDst</td><td>Byte-stuffed huffman encoded JPEG scan. </td></tr>
    <tr><td class="paramname">nLength</td><td>Byte length of the huffman encoded JPEG scan. </td></tr>
    <tr><td class="paramname">pHuffmanTableDC</td><td>DC Huffman table. </td></tr>
    <tr><td class="paramname">pHuffmanTableAC</td><td>AC Huffman table. </td></tr>
    <tr><td class="paramname">oSizeROI</td><td><a class="el" href="nppi_conventions_lb.html#roi_specification">Region-of-Interest (ROI)</a>. </td></tr>
    <tr><td class="paramname">pTempStorage</td><td>Temporary storage. </td></tr>
    <tr><td class="paramname">nppStreamCtx</td><td><a class="el" href="index.html#application_managed_stream_context">Application Managed Stream Context</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error codes:<ul>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a63297527390b522fa2b47a4d82f71b4b">NPP_SIZE_ERROR</a> For negative input height/width or not a multiple of 8 width/height.</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a582d1a09141f3b175a2e751cfc2e22cd" title="Step is less or equal zero. ">NPP_STEP_ERROR</a> If input image width is not multiple of 8 or does not match ROI.</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a524a376b3d44c458b474613fb0dc8e1a">NPP_NULL_POINTER_ERROR</a> If the destination pointer is 0.</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a1bd66a4a9e8ef852d1ce4201d1ef650d">NPP_NOT_SUFFICIENT_COMPUTE_CAPABILITY</a> If the device has compute capability &lt; 2.0. </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="ga5711ba78d00209d8e3cd2ebbe63e958b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiEncodeHuffmanScan_JPEG_8u16s_P3R </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *&#160;</td>
          <td class="paramname"><em>apSrc</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>aSrcStep</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nRestartInterval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pDst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> *&#160;</td>
          <td class="paramname"><em>nLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>apHuffmanDCTable</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>apHuffmanACTable</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>aSizeROI</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pTempStorage</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="gac8273f6d09269e701f08f71bc1d75a2a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiEncodeHuffmanScan_JPEG_8u16s_P3R_Ctx </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *&#160;</td>
          <td class="paramname"><em>apSrc</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>aSrcStep</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nRestartInterval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pDst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> *&#160;</td>
          <td class="paramname"><em>nLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>apHuffmanDCTable</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>apHuffmanACTable</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>aSizeROI</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pTempStorage</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_npp_stream_context.html">NppStreamContext</a>&#160;</td>
          <td class="paramname"><em>nppStreamCtx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Huffman Encoding of the JPEG Encoding. </p>
<p>Input is expected to be 64x1 macro blocks and output is expected as byte stuffed huffman encoded JPEG scan.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">apSrc</td><td><a class="el" href="nppi_conventions_lb.html#destination_image_pointer">Destination-Image Pointer</a>. </td></tr>
    <tr><td class="paramname">aSrcStep</td><td><a class="el" href="nppi_conventions_lb.html#destination_image_line_step">Destination-Image Line Step</a>. </td></tr>
    <tr><td class="paramname">nRestartInterval</td><td>Restart Interval, see JPEG standard. Currently only values &lt;=0 are supported. </td></tr>
    <tr><td class="paramname">nSs</td><td>Start Coefficient, see JPEG standard. </td></tr>
    <tr><td class="paramname">nSe</td><td>End Coefficient, see JPEG standard. </td></tr>
    <tr><td class="paramname">nAh</td><td>Bit Approximation High, see JPEG standard. </td></tr>
    <tr><td class="paramname">nAl</td><td>Bit Approximation Low, see JPEG standard. </td></tr>
    <tr><td class="paramname">pDst</td><td>Byte-stuffed huffman encoded JPEG scan. </td></tr>
    <tr><td class="paramname">nLength</td><td>Byte length of the huffman encoded JPEG scan. </td></tr>
    <tr><td class="paramname">apHuffmanDCTable</td><td>DC Huffman tables. </td></tr>
    <tr><td class="paramname">apHuffmanACTable</td><td>AC Huffman tables. </td></tr>
    <tr><td class="paramname">aSizeROI</td><td><a class="el" href="nppi_conventions_lb.html#roi_specification">Region-of-Interest (ROI)</a>. </td></tr>
    <tr><td class="paramname">pTempStorage</td><td>Temporary storage. </td></tr>
    <tr><td class="paramname">nppStreamCtx</td><td><a class="el" href="index.html#application_managed_stream_context">Application Managed Stream Context</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error codes:<ul>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a63297527390b522fa2b47a4d82f71b4b">NPP_SIZE_ERROR</a> For negative input height/width or not a multiple of 8 width/height.</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a582d1a09141f3b175a2e751cfc2e22cd" title="Step is less or equal zero. ">NPP_STEP_ERROR</a> If input image width is not multiple of 8 or does not match ROI.</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a524a376b3d44c458b474613fb0dc8e1a">NPP_NULL_POINTER_ERROR</a> If the destination pointer is 0.</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a1bd66a4a9e8ef852d1ce4201d1ef650d">NPP_NOT_SUFFICIENT_COMPUTE_CAPABILITY</a> If the device has compute capability &lt; 2.0. </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="ga21c11792734326f27bae933fcd458623"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiEncodeHuffmanSpecFree_JPEG </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>pHuffmanSpec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Frees the memory allocated by nppiEncodeHuffmanSpecInitAlloc_JPEG. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pHuffmanSpec</td><td>Pointer to the Huffman table for the encoder </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad3241849091183b19a8d7dc01bd32870"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiEncodeHuffmanSpecGetBufSize_JPEG </td>
          <td>(</td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>pSize</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the length of the NppiEncodeHuffmanSpec structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pSize</td><td>Pointer to a variable that will receive the length of the NppiEncodeHuffmanSpec structure. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error codes:<ul>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a524a376b3d44c458b474613fb0dc8e1a">NPP_NULL_POINTER_ERROR</a> If one of the pointers is 0. </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="gab8a74f32768b4747fb1f64112847e1be"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiEncodeHuffmanSpecInit_JPEG </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pRawHuffmanTable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__typedefs__npp.html#gacc9f89d33c7bab4bc13019acc15a11af">NppiHuffmanTableType</a>&#160;</td>
          <td class="paramname"><em>eTableType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>pHuffmanSpec</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="gab23f8927900ce0b9f83eda4a588ce00f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiEncodeHuffmanSpecInit_JPEG_Ctx </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pRawHuffmanTable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__typedefs__npp.html#gacc9f89d33c7bab4bc13019acc15a11af">NppiHuffmanTableType</a>&#160;</td>
          <td class="paramname"><em>eTableType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>pHuffmanSpec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_npp_stream_context.html">NppStreamContext</a>&#160;</td>
          <td class="paramname"><em>nppStreamCtx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates a Huffman table in a format that is suitable for the encoder. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pRawHuffmanTable</td><td>Huffman table formated as specified in the JPEG standard. </td></tr>
    <tr><td class="paramname">eTableType</td><td>Enum specifying type of table (nppiDCTable or nppiACTable). </td></tr>
    <tr><td class="paramname">pHuffmanSpec</td><td>Pointer to the Huffman table for the decoder </td></tr>
    <tr><td class="paramname">nppStreamCtx</td><td><a class="el" href="index.html#application_managed_stream_context">Application Managed Stream Context</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error codes:<ul>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a524a376b3d44c458b474613fb0dc8e1a">NPP_NULL_POINTER_ERROR</a> If one of the pointers is 0. </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="ga3893fb42325a46ef7c063dcf8cf042e4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiEncodeHuffmanSpecInitAlloc_JPEG </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pRawHuffmanTable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__typedefs__npp.html#gacc9f89d33c7bab4bc13019acc15a11af">NppiHuffmanTableType</a>&#160;</td>
          <td class="paramname"><em>eTableType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> **&#160;</td>
          <td class="paramname"><em>ppHuffmanSpec</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga58a938c3bfe7a0270dc45d4b5fbaed77"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiEncodeHuffmanSpecInitAlloc_JPEG_Ctx </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pRawHuffmanTable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__typedefs__npp.html#gacc9f89d33c7bab4bc13019acc15a11af">NppiHuffmanTableType</a>&#160;</td>
          <td class="paramname"><em>eTableType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> **&#160;</td>
          <td class="paramname"><em>ppHuffmanSpec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_npp_stream_context.html">NppStreamContext</a>&#160;</td>
          <td class="paramname"><em>nppStreamCtx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allocates memory and creates a Huffman table in a format that is suitable for the encoder. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pRawHuffmanTable</td><td>Huffman table formated as specified in the JPEG standard. </td></tr>
    <tr><td class="paramname">eTableType</td><td>Enum specifying type of table (nppiDCTable or nppiACTable). </td></tr>
    <tr><td class="paramname">ppHuffmanSpec</td><td>Pointer to returned pointer to the Huffman table for the encoder </td></tr>
    <tr><td class="paramname">nppStreamCtx</td><td><a class="el" href="index.html#application_managed_stream_context">Application Managed Stream Context</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error codes:<ul>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a524a376b3d44c458b474613fb0dc8e1a">NPP_NULL_POINTER_ERROR</a> If one of the pointers is 0. </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="gaa461179610ba6bf3337ea01750fe854e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiEncodeOptimizeHuffmanGetSize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>oSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nChannels</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>pBufSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calculates the size of the temporary buffer for optimize Huffman coding. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">oSize</td><td>Image Dimension. </td></tr>
    <tr><td class="paramname">nChannels</td><td>Number of channels in the image. </td></tr>
    <tr><td class="paramname">pBufSize</td><td>Pointer to variable that returns the size of the temporary buffer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>NPP_SUCCESS Indicates no error. Any other value indicates an error or a warning </dd>
<dd>
NPP_SIZE_ERROR Indicates an error condition if any image dimension has zero or negative value </dd>
<dd>
NPP_NULL_POINTER_ERROR Indicates an error condition if pBufSize pointer is NULL </dd></dl>

</div>
</div>
<a class="anchor" id="gaa85e01990744121c240525b458ac5ba1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiEncodeOptimizeHuffmanScan_JPEG_8u16s_P1R </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *&#160;</td>
          <td class="paramname"><em>pSrc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSrcStep</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nRestartInterval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pDst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> *&#160;</td>
          <td class="paramname"><em>pLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>hpCodesDC</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>hpTableDC</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>hpCodesAC</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>hpTableAC</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>pHuffmanDCTable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>pHuffmanACTable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>oSizeROI</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pTempStorage</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="gae6724f4730d0100484c278c8a73af517"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiEncodeOptimizeHuffmanScan_JPEG_8u16s_P1R_Ctx </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *&#160;</td>
          <td class="paramname"><em>pSrc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSrcStep</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nRestartInterval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pDst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> *&#160;</td>
          <td class="paramname"><em>pLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>hpCodesDC</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>hpTableDC</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>hpCodesAC</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>hpTableAC</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>pHuffmanDCTable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>pHuffmanACTable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>oSizeROI</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pTempStorage</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_npp_stream_context.html">NppStreamContext</a>&#160;</td>
          <td class="paramname"><em>nppStreamCtx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Optimize Huffman Encoding of the JPEG Encoding. </p>
<p>Input is expected to be 64x1 macro blocks and output is expected as byte stuffed huffman encoded JPEG scan.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pSrc</td><td><a class="el" href="nppi_conventions_lb.html#destination_image_pointer">Destination-Image Pointer</a>. </td></tr>
    <tr><td class="paramname">nSrcStep</td><td><a class="el" href="nppi_conventions_lb.html#destination_image_line_step">Destination-Image Line Step</a>. </td></tr>
    <tr><td class="paramname">nRestartInterval</td><td>Restart Interval, see JPEG standard. Currently only values &lt;=0 are supported. </td></tr>
    <tr><td class="paramname">nSs</td><td>Start Coefficient, see JPEG standard. </td></tr>
    <tr><td class="paramname">nSe</td><td>End Coefficient, see JPEG standard. </td></tr>
    <tr><td class="paramname">nAh</td><td>Bit Approximation High, see JPEG standard. </td></tr>
    <tr><td class="paramname">nAl</td><td>Bit Approximation Low, see JPEG standard. </td></tr>
    <tr><td class="paramname">pDst</td><td>Byte-stuffed huffman encoded JPEG scan. </td></tr>
    <tr><td class="paramname">pLength</td><td>Pointer to the byte length of the huffman encoded JPEG scan. </td></tr>
    <tr><td class="paramname">hpCodesDC</td><td>Host pointer to the code of the huffman tree for DC component. </td></tr>
    <tr><td class="paramname">hpTableDC</td><td>Host pointer to the table of the huffman tree for DC component. </td></tr>
    <tr><td class="paramname">hpCodesAC</td><td>Host pointer to the code of the huffman tree for AC component. </td></tr>
    <tr><td class="paramname">hpTableAC</td><td>Host pointer to the table of the huffman tree for AC component. </td></tr>
    <tr><td class="paramname">pHuffmanDCTable</td><td>DC Huffman table. </td></tr>
    <tr><td class="paramname">pHuffmanACTable</td><td>AC Huffman table. </td></tr>
    <tr><td class="paramname">oSizeROI</td><td><a class="el" href="nppi_conventions_lb.html#roi_specification">Region-of-Interest (ROI)</a>. </td></tr>
    <tr><td class="paramname">pTempStorage</td><td>Temporary storage. </td></tr>
    <tr><td class="paramname">nppStreamCtx</td><td><a class="el" href="index.html#application_managed_stream_context">Application Managed Stream Context</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error codes:<ul>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a63297527390b522fa2b47a4d82f71b4b">NPP_SIZE_ERROR</a> For negative input height/width or not a multiple of 8 width/height.</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a582d1a09141f3b175a2e751cfc2e22cd" title="Step is less or equal zero. ">NPP_STEP_ERROR</a> If input image width is not multiple of 8 or does not match ROI.</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a524a376b3d44c458b474613fb0dc8e1a">NPP_NULL_POINTER_ERROR</a> If the destination pointer is 0.</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a1bd66a4a9e8ef852d1ce4201d1ef650d">NPP_NOT_SUFFICIENT_COMPUTE_CAPABILITY</a> If the device has compute capability &lt; 2.0. </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="ga57fc16fbd6dd3e6b5d441eeb1b2c4332"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiEncodeOptimizeHuffmanScan_JPEG_8u16s_P3R </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *&#160;</td>
          <td class="paramname"><em>apSrc</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>aSrcStep</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nRestartInterval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pDst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> *&#160;</td>
          <td class="paramname"><em>pLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>hpCodesDC</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>hpTableDC</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>hpCodesAC</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>hpTableAC</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>apHuffmanDCTable</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>apHuffmanACTable</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>oSizeROI</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pTempStorage</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga9a62cd96d975469d50faf7b5309ba536"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiEncodeOptimizeHuffmanScan_JPEG_8u16s_P3R_Ctx </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> *&#160;</td>
          <td class="paramname"><em>apSrc</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>aSrcStep</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nRestartInterval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nSe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a>&#160;</td>
          <td class="paramname"><em>nAl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pDst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#gafa3572058d57d93e2e5ebb9b21fbedb3">Npp32s</a> *&#160;</td>
          <td class="paramname"><em>pLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>hpCodesDC</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>hpTableDC</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>hpCodesAC</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>hpTableAC</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>apHuffmanDCTable</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__image__compression.html#gafce0c11090a27630d739b69d60f241b9">NppiEncodeHuffmanSpec</a> *&#160;</td>
          <td class="paramname"><em>apHuffmanACTable</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>oSizeROI</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pTempStorage</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_npp_stream_context.html">NppStreamContext</a>&#160;</td>
          <td class="paramname"><em>nppStreamCtx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Optimize Huffman Encoding of the JPEG Encoding. </p>
<p>Input is expected to be 64x1 macro blocks and output is expected as byte stuffed huffman encoded JPEG scan.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">apSrc</td><td><a class="el" href="nppi_conventions_lb.html#destination_image_pointer">Destination-Image Pointer</a>. </td></tr>
    <tr><td class="paramname">aSrcStep</td><td><a class="el" href="nppi_conventions_lb.html#destination_image_line_step">Destination-Image Line Step</a>. </td></tr>
    <tr><td class="paramname">nRestartInterval</td><td>Restart Interval, see JPEG standard. Currently only values &lt;=0 are supported. </td></tr>
    <tr><td class="paramname">nSs</td><td>Start Coefficient, see JPEG standard. </td></tr>
    <tr><td class="paramname">nSe</td><td>End Coefficient, see JPEG standard. </td></tr>
    <tr><td class="paramname">nAh</td><td>Bit Approximation High, see JPEG standard. </td></tr>
    <tr><td class="paramname">nAl</td><td>Bit Approximation Low, see JPEG standard. </td></tr>
    <tr><td class="paramname">pDst</td><td>Byte-stuffed huffman encoded JPEG scan. </td></tr>
    <tr><td class="paramname">pLength</td><td>Pointer to the byte length of the huffman encoded JPEG scan. </td></tr>
    <tr><td class="paramname">hpCodesDC</td><td>Host pointer to the code of the huffman tree for DC component. </td></tr>
    <tr><td class="paramname">hpTableDC</td><td>Host pointer to the table of the huffman tree for DC component. </td></tr>
    <tr><td class="paramname">hpCodesAC</td><td>Host pointer to the code of the huffman tree for AC component. </td></tr>
    <tr><td class="paramname">hpTableAC</td><td>Host pointer to the table of the huffman tree for AC component. </td></tr>
    <tr><td class="paramname">apHuffmanDCTable</td><td>DC Huffman tables. </td></tr>
    <tr><td class="paramname">apHuffmanACTable</td><td>AC Huffman tables. </td></tr>
    <tr><td class="paramname">oSizeROI</td><td><a class="el" href="nppi_conventions_lb.html#roi_specification">Region-of-Interest (ROI)</a>. </td></tr>
    <tr><td class="paramname">pTempStorage</td><td>Temporary storage. </td></tr>
    <tr><td class="paramname">nppStreamCtx</td><td><a class="el" href="index.html#application_managed_stream_context">Application Managed Stream Context</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error codes:<ul>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a63297527390b522fa2b47a4d82f71b4b">NPP_SIZE_ERROR</a> For negative input height/width or not a multiple of 8 width/height.</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a582d1a09141f3b175a2e751cfc2e22cd" title="Step is less or equal zero. ">NPP_STEP_ERROR</a> If input image width is not multiple of 8 or does not match ROI.</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a524a376b3d44c458b474613fb0dc8e1a">NPP_NULL_POINTER_ERROR</a> If the destination pointer is 0.</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a1bd66a4a9e8ef852d1ce4201d1ef650d">NPP_NOT_SUFFICIENT_COMPUTE_CAPABILITY</a> If the device has compute capability &lt; 2.0. </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="ga2a42d33eb7c0a288073c828476a58ced"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t nppiJpegDecodeGetDCTBufferSize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>oBlocks</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns how much memory has to be allocated for DCT coefficient buffers declared in <a class="el" href="struct_nppi_jpeg_decode_job_memory.html">NppiJpegDecodeJobMemory</a>. </p>
<p>The returned value may be bigger than simply <code>number of blocks * 64 * sizeof (short)</code>, because decoder may use slightly bigger temporary representation of data.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">oBlocks</td><td>Size of the interleaved component in blocks. (That means that the size of component in blocks has to be aligned according to subsampling of this component and frame).</td></tr>
  </table>
  </dd>
</dl>
<p>This function assumes no ununsed space between rows, so at the end stride = <code>oBlocks.width * 64 * sizeof (short)</code>. </p>

</div>
</div>
<a class="anchor" id="gaea9a316b46b66ba15bd835e46bed3870"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t nppiJpegDecodeGetScanDeadzoneSize </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns how much additional memory has to be available after the end of compressed scan data. </p>
<p>The following buffers: <code>pCpuScan</code> and <code>pGpuScan</code> in <a class="el" href="struct_nppi_jpeg_decode_job_memory.html">NppiJpegDecodeJobMemory</a> should have size at least <code>pScan-&gt;length + <a class="el" href="group__image__compression.html#gaea9a316b46b66ba15bd835e46bed3870" title="This function returns how much additional memory has to be available after the end of compressed scan...">nppiJpegDecodeGetScanDeadzoneSize()</a></code>.</p>
<p>The additional memory is needed because the decoder may perform some speculative reads after the end of compressed scan data. </p>

</div>
</div>
<a class="anchor" id="ga009894319601541a2f88351d1e0f0bfc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiJpegDecodeJob </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_nppi_jpeg_decode_job.html">NppiJpegDecodeJob</a> *&#160;</td>
          <td class="paramname"><em>pJob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_nppi_jpeg_decode_job_memory.html">NppiJpegDecodeJobMemory</a> *&#160;</td>
          <td class="paramname"><em>pMemory</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga435fba174658cf303efcab61e8b30bf3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiJpegDecodeJob_Ctx </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_nppi_jpeg_decode_job.html">NppiJpegDecodeJob</a> *&#160;</td>
          <td class="paramname"><em>pJob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_nppi_jpeg_decode_job_memory.html">NppiJpegDecodeJobMemory</a> *&#160;</td>
          <td class="paramname"><em>pMemory</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_npp_stream_context.html">NppStreamContext</a>&#160;</td>
          <td class="paramname"><em>nppStreamCtx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Executes a job &ndash; part of decoding. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pJob</td><td>has to be initialized by <a class="el" href="group__image__compression.html#ga78bea335cc57b8ccbd254bc0396a2c6e">nppiJpegDecodeJobCreateMemzero</a> or <a class="el" href="group__image__compression.html#gabf4c2829d018eb3b631e7288ff08d962">nppiJpegDecodeJobCreateFinalize</a> or manually. </td></tr>
    <tr><td class="paramname">pMemory</td><td>has to point to valid structure, except for MEMZERO and FINALIZE scans, for which it can be NULL.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__image__compression.html#ga0b0c048f986e54c8e00297d4a075ae55" title="Calculates sizes of additional buffers used by the job. ">nppiJpegDecodeJobMemorySize</a> </dd>
<dd>
<a class="el" href="group__image__compression.html#ga78bea335cc57b8ccbd254bc0396a2c6e" title="Initializes a job that has to be called at the beginning of decoding. ">nppiJpegDecodeJobCreateMemzero</a> </dd>
<dd>
<a class="el" href="group__image__compression.html#gabf4c2829d018eb3b631e7288ff08d962" title="Initializes a job that has to be called at the end of decoding, in order to convert temporary represe...">nppiJpegDecodeJobCreateFinalize</a></dd></dl>
<p>This function can be used in two ways, depending on how much control do you need:</p>
<ol type="1">
<li>Decode whole scan in one job. That is accomplished when the job.eKind is set to <a class="el" href="group__image__compression.html#gga186a8c2fbc29d26049b8ab79c4b79c83a7a37e7ce40d4e8089c70c2bbee871949">NPPI_JPEG_DECODE_SIMPLE</a>. Nppi function handless all in-scan synchronization (if needed). This is described in example.</li>
<li>Split decoding of scan into multiple jobs. In this case, caller is responsible necessary synchronizations. If multiple jobs from the same scan claim to use the same additional buffer, it means that the jobs are exchaning information throught this buffer and the buffer should not be reused or reallocated meanwhile, additionaly if the buffer is used first by PRE job, and then by CPU job, caller has to call cudaStreamSynchronize before CPU job. <a class="el" href="group__image__compression.html#ga186a8c2fbc29d26049b8ab79c4b79c83">NppiJpegDecodeJobKind</a> for more information.</li>
</ol>
<p>Example (pseudo)code for decoding JPEG: (Error handling code omitted for brevity. Each function which may return an error should be checked) </p>
<div class="fragment"><div class="line"><span class="comment">// Allocate DCT buffers (using nppiJpegDecodeGetDCTBufferSize)</span></div>
<div class="line"></div>
<div class="line"><a class="code" href="struct_nppi_jpeg_frame_descr.html">NppiJpegFrameDescr</a> frame;</div>
<div class="line"><span class="comment">// Fill frame info...</span></div>
<div class="line"><a class="code" href="struct_nppi_jpeg_scan_descr.html">NppiJpegScanDescr</a> scan;</div>
<div class="line"><a class="code" href="struct_nppi_jpeg_decode_job.html">NppiJpegDecodeJob</a> job;</div>
<div class="line">job.<a class="code" href="struct_nppi_jpeg_decode_job.html#a7f98893b55e0cccf68685fe46ca75a78">pFrame</a> = frame;</div>
<div class="line">job.<a class="code" href="struct_nppi_jpeg_decode_job.html#adac69b49cca3f571c40ef80f1aa17be4">pScan</a> = scan;</div>
<div class="line"></div>
<div class="line"><a class="code" href="group__image__compression.html#ga78bea335cc57b8ccbd254bc0396a2c6e">nppiJpegDecodeJobCreateMemzero</a>(&amp;job);</div>
<div class="line"><a class="code" href="group__image__compression.html#ga009894319601541a2f88351d1e0f0bfc">nppiJpegDecodeJob</a>(&amp;job, NULL);</div>
<div class="line"><span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; nScans; ++i)</div>
<div class="line">{</div>
<div class="line">    <span class="comment">// Fill scan info...</span></div>
<div class="line">    job.<a class="code" href="struct_nppi_jpeg_decode_job.html#abde2f61acda0ac0343c6ae43177d3ff8">eKind</a> = <a class="code" href="group__image__compression.html#gga186a8c2fbc29d26049b8ab79c4b79c83a7a37e7ce40d4e8089c70c2bbee871949">NPPI_JPEG_DECODE_SIMPLE</a>;</div>
<div class="line"></div>
<div class="line">    <span class="keywordtype">size_t</span> sizes[<a class="code" href="group__image__compression.html#ga35e62de37c27658d70f052dc73662dff">NPPI_JPEG_DECODE_N_BUFFERS</a>];</div>
<div class="line">    <a class="code" href="group__image__compression.html#ga0b0c048f986e54c8e00297d4a075ae55">nppiJpegDecodeJobMemorySize</a>(&amp;job, sizes);</div>
<div class="line"></div>
<div class="line">    NppiJpegJobMemory memory;</div>
<div class="line">    <span class="comment">// Allocate and fill scan buffers (using nppiJpegDecodeGetScanBufferSize)...</span></div>
<div class="line">    <span class="comment">// Fill the memory struct according to sizes...</span></div>
<div class="line"></div>
<div class="line">    <a class="code" href="group__image__compression.html#ga009894319601541a2f88351d1e0f0bfc">nppiJpegDecodeJob</a>(&amp;job, &amp;memory);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// Synchronization is needed only if you reuse buffers between scans. </span></div>
<div class="line">    cudaStreamSynchronize(<a class="code" href="group__core__npp.html#ga7b5dd1c9dc541b35137b0635e3150c07">nppGetStream</a>()); or CudaStreamSynchronize(nppStreamCtx.hStream);</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><a class="code" href="group__image__compression.html#gabf4c2829d018eb3b631e7288ff08d962">nppiJpegDecodeJobCreateFinalize</a>(&amp;job);</div>
<div class="line"><a class="code" href="group__image__compression.html#ga009894319601541a2f88351d1e0f0bfc">nppiJpegDecodeJob</a>(&amp;job, NULL);</div>
<div class="line"></div>
<div class="line"><span class="comment">// Perform further steps of decoding (iDCT etc.)</span></div>
<div class="line">* </div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nppStreamCtx</td><td><a class="el" href="index.html#application_managed_stream_context">Application Managed Stream Context</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a727692260b5220fac6e3c3fa43d47a4b">NPP_SUCCESS</a></li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a19fed6487238d7862572b0a6cfa70412">NPP_BAD_ARGUMENT_ERROR</a> when the scan doesn't represent valid JPEG scan</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a524a376b3d44c458b474613fb0dc8e1a">NPP_NULL_POINTER_ERROR</a> when one of necessary arguments of buffers is NULL</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a3e9835b03fb90dac9e5857cb0c1cadb9">NPP_ERROR</a> when encountered CUDA error </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="gabf4c2829d018eb3b631e7288ff08d962"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiJpegDecodeJobCreateFinalize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_nppi_jpeg_decode_job.html">NppiJpegDecodeJob</a> *&#160;</td>
          <td class="paramname"><em>pJob</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes a job that has to be called at the end of decoding, in order to convert temporary representation of DCT coefficients to the final one. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pJob,:</td><td>pJob.pFrame should point to valid frame description *pJob.pScan will be overwritten. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga78bea335cc57b8ccbd254bc0396a2c6e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiJpegDecodeJobCreateMemzero </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_nppi_jpeg_decode_job.html">NppiJpegDecodeJob</a> *&#160;</td>
          <td class="paramname"><em>pJob</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes a job that has to be called at the beginning of decoding. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pJob,:</td><td><code>pJob.pFrame</code> should point to valid frame description. <code>*pJob.pScan</code> will be overwritten.</td></tr>
  </table>
  </dd>
</dl>
<p>If the caller had manually zeroed the memory for DCT buffers, (note: whole <a class="el" href="group__image__compression.html#ga2a42d33eb7c0a288073c828476a58ced">nppiJpegDecodeGetDCTBufferSize</a> has to be zeroed). this job doesn't have to be executed. </p>

</div>
</div>
<a class="anchor" id="ga0b0c048f986e54c8e00297d4a075ae55"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiJpegDecodeJobMemorySize </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_nppi_jpeg_decode_job.html">NppiJpegDecodeJob</a> *&#160;</td>
          <td class="paramname"><em>pJob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>aSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calculates sizes of additional buffers used by the job. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">pJob</td><td>has to point to properly initialized job </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">aSize</td><td>will be filled with <a class="el" href="group__image__compression.html#ga35e62de37c27658d70f052dc73662dff">NPPI_JPEG_DECODE_N_BUFFERS</a> sizes, <code>aSize[i]</code> telling how much memory has to be allocated for <code>apCpuBuffer[i]</code> and <code>apGpuBuffer[i]</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="struct_nppi_jpeg_decode_job_memory.html" title="Memory buffers used by one decode job. ">NppiJpegDecodeJobMemory</a></dd></dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a727692260b5220fac6e3c3fa43d47a4b">NPP_SUCCESS</a></li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a19fed6487238d7862572b0a6cfa70412">NPP_BAD_ARGUMENT_ERROR</a> when the scan doesn't represent valid JPEG scan</li>
<li><a class="el" href="group__typedefs__npp.html#gga1105a17b5e76381583c46ecd6a60fe21a524a376b3d44c458b474613fb0dc8e1a">NPP_NULL_POINTER_ERROR</a> when one of necessary arguments is NULL </li>
</ul>
</dd></dl>

</div>
</div>
</div><!-- contents -->
<HR>
<center>Copyright &copy; 2009-2019 NVIDIA Corporation</center>
<HR>