Repository URL to install this package:
Version:
7:2.7.1-1ubuntu2 ▾
|
<!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"/>
<title>FFmpeg: CRC32</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">FFmpeg
 <span id="projectnumber">2.7.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<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 Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="examples.html"><span>Examples</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>
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> |
<a href="#enum-members">Enumerations</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">CRC32</div> </div>
<div class="ingroups"><a class="el" href="group__lavu__crypto.html">Crypto and Hashing</a></div></div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavu__crc32.html#gad7b1134679f68f2d4a52edaf1441e38f">AVCRC</a></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavu__crc32.html#gab7717a9f1179a5ac8516982f9f2997d2">AVCRCId</a> { <br/>
  <a class="el" href="group__lavu__crc32.html#ggab7717a9f1179a5ac8516982f9f2997d2a892e48b7e846baeefd1b55a955f5cc66">AV_CRC_8_ATM</a>,
<a class="el" href="group__lavu__crc32.html#ggab7717a9f1179a5ac8516982f9f2997d2ae71c422e08cb83214c438ec352799e75">AV_CRC_16_ANSI</a>,
<a class="el" href="group__lavu__crc32.html#ggab7717a9f1179a5ac8516982f9f2997d2a0e915db19602a96b5a83a953fd169a95">AV_CRC_16_CCITT</a>,
<a class="el" href="group__lavu__crc32.html#ggab7717a9f1179a5ac8516982f9f2997d2a2c95e44f51d497669d7c49d58018dea1">AV_CRC_32_IEEE</a>,
<br/>
  <a class="el" href="group__lavu__crc32.html#ggab7717a9f1179a5ac8516982f9f2997d2aa43f268d15303373c90287522a4d4752">AV_CRC_32_IEEE_LE</a>,
<a class="el" href="group__lavu__crc32.html#ggab7717a9f1179a5ac8516982f9f2997d2aee02f172ec3ff10972855bdab591927a">AV_CRC_16_ANSI_LE</a>,
<a class="el" href="group__lavu__crc32.html#ggab7717a9f1179a5ac8516982f9f2997d2a317de029f3dce59427fe4681c5a8af2a">AV_CRC_24_IEEE</a> = 12,
<a class="el" href="group__lavu__crc32.html#ggab7717a9f1179a5ac8516982f9f2997d2ac72372c57b632a072de910c789ad08ee">AV_CRC_MAX</a>
<br/>
}</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavu__crc32.html#ga27f906ac7e618afdac0be18de678ac3d">av_crc_init</a> (<a class="el" href="group__lavu__crc32.html#gad7b1134679f68f2d4a52edaf1441e38f">AVCRC</a> *ctx, int le, int bits, uint32_t poly, int ctx_size)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Initialize a CRC table. <a href="#ga27f906ac7e618afdac0be18de678ac3d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__lavu__crc32.html#gad7b1134679f68f2d4a52edaf1441e38f">AVCRC</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavu__crc32.html#gabb35ea72fdeee2645e4e57cae225ac2b">av_crc_get_table</a> (<a class="el" href="group__lavu__crc32.html#gab7717a9f1179a5ac8516982f9f2997d2">AVCRCId</a> crc_id)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get an initialized standard CRC table. <a href="#gabb35ea72fdeee2645e4e57cae225ac2b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavu__crc32.html#gae0feb73f66306494315f07de7ab57f80">av_crc</a> (const <a class="el" href="group__lavu__crc32.html#gad7b1134679f68f2d4a52edaf1441e38f">AVCRC</a> *ctx, uint32_t crc, const uint8_t *buffer, size_t length) <a class="el" href="attributes_8h.html#adc7fd5bb40d84900a3a30ef3318020c2">av_pure</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the CRC of a block. <a href="#gae0feb73f66306494315f07de7ab57f80"></a><br/></td></tr>
</table>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="gad7b1134679f68f2d4a52edaf1441e38f"></a><!-- doxytag: member="crc.h::AVCRC" ref="gad7b1134679f68f2d4a52edaf1441e38f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef uint32_t <a class="el" href="group__lavu__crc32.html#gad7b1134679f68f2d4a52edaf1441e38f">AVCRC</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="crc_8h_source.html#l00034">34</a> of file <a class="el" href="crc_8h_source.html">crc.h</a>.</p>
</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="gab7717a9f1179a5ac8516982f9f2997d2"></a><!-- doxytag: member="crc.h::AVCRCId" ref="gab7717a9f1179a5ac8516982f9f2997d2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__lavu__crc32.html#gab7717a9f1179a5ac8516982f9f2997d2">AVCRCId</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ggab7717a9f1179a5ac8516982f9f2997d2a892e48b7e846baeefd1b55a955f5cc66"></a><!-- doxytag: member="AV_CRC_8_ATM" ref="ggab7717a9f1179a5ac8516982f9f2997d2a892e48b7e846baeefd1b55a955f5cc66" args="" -->AV_CRC_8_ATM</em> </td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggab7717a9f1179a5ac8516982f9f2997d2ae71c422e08cb83214c438ec352799e75"></a><!-- doxytag: member="AV_CRC_16_ANSI" ref="ggab7717a9f1179a5ac8516982f9f2997d2ae71c422e08cb83214c438ec352799e75" args="" -->AV_CRC_16_ANSI</em> </td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggab7717a9f1179a5ac8516982f9f2997d2a0e915db19602a96b5a83a953fd169a95"></a><!-- doxytag: member="AV_CRC_16_CCITT" ref="ggab7717a9f1179a5ac8516982f9f2997d2a0e915db19602a96b5a83a953fd169a95" args="" -->AV_CRC_16_CCITT</em> </td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggab7717a9f1179a5ac8516982f9f2997d2a2c95e44f51d497669d7c49d58018dea1"></a><!-- doxytag: member="AV_CRC_32_IEEE" ref="ggab7717a9f1179a5ac8516982f9f2997d2a2c95e44f51d497669d7c49d58018dea1" args="" -->AV_CRC_32_IEEE</em> </td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggab7717a9f1179a5ac8516982f9f2997d2aa43f268d15303373c90287522a4d4752"></a><!-- doxytag: member="AV_CRC_32_IEEE_LE" ref="ggab7717a9f1179a5ac8516982f9f2997d2aa43f268d15303373c90287522a4d4752" args="" -->AV_CRC_32_IEEE_LE</em> </td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggab7717a9f1179a5ac8516982f9f2997d2aee02f172ec3ff10972855bdab591927a"></a><!-- doxytag: member="AV_CRC_16_ANSI_LE" ref="ggab7717a9f1179a5ac8516982f9f2997d2aee02f172ec3ff10972855bdab591927a" args="" -->AV_CRC_16_ANSI_LE</em> </td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggab7717a9f1179a5ac8516982f9f2997d2a317de029f3dce59427fe4681c5a8af2a"></a><!-- doxytag: member="AV_CRC_24_IEEE" ref="ggab7717a9f1179a5ac8516982f9f2997d2a317de029f3dce59427fe4681c5a8af2a" args="" -->AV_CRC_24_IEEE</em> </td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggab7717a9f1179a5ac8516982f9f2997d2ac72372c57b632a072de910c789ad08ee"></a><!-- doxytag: member="AV_CRC_MAX" ref="ggab7717a9f1179a5ac8516982f9f2997d2ac72372c57b632a072de910c789ad08ee" args="" -->AV_CRC_MAX</em> </td><td>
</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="crc_8h_source.html#l00036">36</a> of file <a class="el" href="crc_8h_source.html">crc.h</a>.</p>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga27f906ac7e618afdac0be18de678ac3d"></a><!-- doxytag: member="crc.h::av_crc_init" ref="ga27f906ac7e618afdac0be18de678ac3d" args="(AVCRC *ctx, int le, int bits, uint32_t poly, int ctx_size)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="group__lavu__crc32.html#ga27f906ac7e618afdac0be18de678ac3d">av_crc_init</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__lavu__crc32.html#gad7b1134679f68f2d4a52edaf1441e38f">AVCRC</a> * </td>
<td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>le</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>bits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t </td>
<td class="paramname"><em>poly</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>ctx_size</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Initialize a CRC table. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">ctx</td><td>must be an array of size sizeof(AVCRC)*257 or sizeof(AVCRC)*1024 </td></tr>
<tr><td class="paramname">le</td><td>If 1, the lowest bit represents the coefficient for the highest exponent of the corresponding polynomial (both for poly and actual CRC). If 0, you must swap the CRC parameter and the result of av_crc if you need the standard representation (can be simplified in most cases to e.g. bswap16): av_bswap32(crc << (32-bits)) </td></tr>
<tr><td class="paramname">bits</td><td>number of bits for the CRC </td></tr>
<tr><td class="paramname">poly</td><td>generator polynomial without the x**bits coefficient, in the representation as specified by le </td></tr>
<tr><td class="paramname">ctx_size</td><td>size of ctx in bytes </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><0 on failure </dd></dl>
</div>
</div>
<a class="anchor" id="gabb35ea72fdeee2645e4e57cae225ac2b"></a><!-- doxytag: member="crc.h::av_crc_get_table" ref="gabb35ea72fdeee2645e4e57cae225ac2b" args="(AVCRCId crc_id)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="group__lavu__crc32.html#gad7b1134679f68f2d4a52edaf1441e38f">AVCRC</a>* <a class="el" href="group__lavu__crc32.html#gabb35ea72fdeee2645e4e57cae225ac2b">av_crc_get_table</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__lavu__crc32.html#gab7717a9f1179a5ac8516982f9f2997d2">AVCRCId</a> </td>
<td class="paramname"><em>crc_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get an initialized standard CRC table. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">crc_id</td><td>ID of a standard CRC </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the CRC table or NULL on failure </dd></dl>
</div>
</div>
<a class="anchor" id="gae0feb73f66306494315f07de7ab57f80"></a><!-- doxytag: member="crc.h::av_crc" ref="gae0feb73f66306494315f07de7ab57f80" args="(const AVCRC *ctx, uint32_t crc, const uint8_t *buffer, size_t length) av_pure" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t <a class="el" href="group__lavu__crc32.html#gae0feb73f66306494315f07de7ab57f80">av_crc</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="group__lavu__crc32.html#gad7b1134679f68f2d4a52edaf1441e38f">AVCRC</a> * </td>
<td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t </td>
<td class="paramname"><em>crc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t * </td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"><em>length</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Calculate the CRC of a block. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">crc</td><td>CRC of previous blocks if any or initial value for CRC </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>CRC updated with the data from the given block</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__lavu__crc32.html#ga27f906ac7e618afdac0be18de678ac3d" title="Initialize a CRC table.">av_crc_init()</a> "le" parameter </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- 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"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Defines</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>
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>