wut/group__h264__stream.html

858 lines
41 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>wut: H264 Stream</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">wut<span id="projectnumber">&#160;v1.9.1</span>
</div>
<div id="projectbrief">Wii U Toolchain</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">H264 Stream</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:structH264DecodedVuiParameters" id="r_structH264DecodedVuiParameters"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__h264__stream.html#structH264DecodedVuiParameters">H264DecodedVuiParameters</a></td></tr>
<tr class="separator:structH264DecodedVuiParameters"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structH264DecodeResult" id="r_structH264DecodeResult"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__h264__stream.html#structH264DecodeResult">H264DecodeResult</a></td></tr>
<tr class="separator:structH264DecodeResult"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structH264DecodeOutput" id="r_structH264DecodeOutput"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__h264__stream.html#structH264DecodeOutput">H264DecodeOutput</a></td></tr>
<tr class="separator:structH264DecodeOutput"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga8455f49b42da3dfc582243ab37d7f2a2" id="r_ga8455f49b42da3dfc582243ab37d7f2a2"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group__h264__stream.html#structH264DecodedVuiParameters">H264DecodedVuiParameters</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__h264__stream.html#ga8455f49b42da3dfc582243ab37d7f2a2">H264DecodedVuiParameters</a></td></tr>
<tr class="separator:ga8455f49b42da3dfc582243ab37d7f2a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga191fb57261872679657ee620d1532c2e" id="r_ga191fb57261872679657ee620d1532c2e"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group__h264__stream.html#structH264DecodeResult">H264DecodeResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__h264__stream.html#ga191fb57261872679657ee620d1532c2e">H264DecodeResult</a></td></tr>
<tr class="separator:ga191fb57261872679657ee620d1532c2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga89c8a0b66584e83bde790ee7f0ab863b" id="r_ga89c8a0b66584e83bde790ee7f0ab863b"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group__h264__stream.html#structH264DecodeOutput">H264DecodeOutput</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__h264__stream.html#ga89c8a0b66584e83bde790ee7f0ab863b">H264DecodeOutput</a></td></tr>
<tr class="separator:ga89c8a0b66584e83bde790ee7f0ab863b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga089202c6b3d18965159e04df9680ceff" id="r_ga089202c6b3d18965159e04df9680ceff"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__h264__stream.html#ga089202c6b3d18965159e04df9680ceff">H264DECFptrOutputFn</a>) (<a class="el" href="group__h264__stream.html#structH264DecodeOutput">H264DecodeOutput</a> *output)</td></tr>
<tr class="separator:ga089202c6b3d18965159e04df9680ceff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0802d504961522416346d738d03bcd6d" id="r_ga0802d504961522416346d738d03bcd6d"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__h264__stream.html#gac664801192f91459eb7498ea939d5fa7">H264Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__h264__stream.html#ga0802d504961522416346d738d03bcd6d">H264Error</a></td></tr>
<tr class="memdesc:ga0802d504961522416346d738d03bcd6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">h264 library errors. <br /></td></tr>
<tr class="separator:ga0802d504961522416346d738d03bcd6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gac664801192f91459eb7498ea939d5fa7" id="r_gac664801192f91459eb7498ea939d5fa7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__h264__stream.html#gac664801192f91459eb7498ea939d5fa7">H264Error</a> { <br />
&#160;&#160;<a class="el" href="group__h264__stream.html#ggac664801192f91459eb7498ea939d5fa7a741e24f624a3473926cd71fb198cc664">H264_ERROR_OK</a> = 0
, <br />
&#160;&#160;<a class="el" href="group__h264__stream.html#ggac664801192f91459eb7498ea939d5fa7abb70d284e18e7eb4ad7881b7ad20220a">H264_ERROR_INVALID_PPS</a> = 24
, <br />
&#160;&#160;<a class="el" href="group__h264__stream.html#ggac664801192f91459eb7498ea939d5fa7a7688223058a0f3d4e33a103724630067">H264_ERROR_INVALID_SPS</a> = 26
, <br />
&#160;&#160;<a class="el" href="group__h264__stream.html#ggac664801192f91459eb7498ea939d5fa7a12a75a2131de3d96b97b9f9c3b8bbc15">H264_ERROR_INVALID_SLICEHEADER</a> = 61
, <br />
&#160;&#160;<a class="el" href="group__h264__stream.html#ggac664801192f91459eb7498ea939d5fa7a0e711e37c6c89c0a714810498be0927b">H264_ERROR_GENERIC</a> = 0x1000000
, <br />
&#160;&#160;<a class="el" href="group__h264__stream.html#ggac664801192f91459eb7498ea939d5fa7a6dfa0781e15b9c616fad9b5fb80a6d61">H264_ERROR_INVALID_PARAMETER</a> = 0x1010000
, <br />
&#160;&#160;<a class="el" href="group__h264__stream.html#ggac664801192f91459eb7498ea939d5fa7a12e7ed907c9a328b450138f924ffdf48">H264_ERROR_OUT_OF_MEMORY</a> = 0x1020000
, <br />
&#160;&#160;<a class="el" href="group__h264__stream.html#ggac664801192f91459eb7498ea939d5fa7ad30b37e6c89abae068e1ad3792b7f0f1">H264_ERROR_INVALID_PROFILE</a> = 0x1080000
<br />
}</td></tr>
<tr class="memdesc:gac664801192f91459eb7498ea939d5fa7"><td class="mdescLeft">&#160;</td><td class="mdescRight">h264 library errors. <a href="group__h264__stream.html#gac664801192f91459eb7498ea939d5fa7">More...</a><br /></td></tr>
<tr class="separator:gac664801192f91459eb7498ea939d5fa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gab5902c8e995dcde8cb9922fe02ed5478" id="r_gab5902c8e995dcde8cb9922fe02ed5478"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__h264__stream.html#gac664801192f91459eb7498ea939d5fa7">H264Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__h264__stream.html#gab5902c8e995dcde8cb9922fe02ed5478">H264DECCheckDecunitLength</a> (void *memory, const uint8_t *buffer, int32_t bufferLength, int32_t offset, int32_t *outLength)</td></tr>
<tr class="memdesc:gab5902c8e995dcde8cb9922fe02ed5478"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check that the stream contains sufficient data to decode an entire frame. <br /></td></tr>
<tr class="separator:gab5902c8e995dcde8cb9922fe02ed5478"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga303d0bf3dec7951eafd69c6ddd0b453e" id="r_ga303d0bf3dec7951eafd69c6ddd0b453e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__h264__stream.html#gac664801192f91459eb7498ea939d5fa7">H264Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__h264__stream.html#ga303d0bf3dec7951eafd69c6ddd0b453e">H264DECCheckSkipableFrame</a> (const uint8_t *buffer, int32_t bufferLength, <a class="el" href="wut__types_8h.html#a975dbe9e4396bf9e0064ce01827fa372">BOOL</a> *outSkippable)</td></tr>
<tr class="memdesc:ga303d0bf3dec7951eafd69c6ddd0b453e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the next NALU can be skipped without breaking decoding. <br /></td></tr>
<tr class="separator:ga303d0bf3dec7951eafd69c6ddd0b453e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga49ff3d9cb5d688d7cd638c503572989f" id="r_ga49ff3d9cb5d688d7cd638c503572989f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__h264__stream.html#gac664801192f91459eb7498ea939d5fa7">H264Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__h264__stream.html#ga49ff3d9cb5d688d7cd638c503572989f">H264DECFindDecstartpoint</a> (const uint8_t *buffer, int32_t bufferLength, int32_t *outOffset)</td></tr>
<tr class="memdesc:ga49ff3d9cb5d688d7cd638c503572989f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find the first SPS in the stream. <br /></td></tr>
<tr class="separator:ga49ff3d9cb5d688d7cd638c503572989f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd0bf0ffa0bbb60404ac88aa4416b75a" id="r_gabd0bf0ffa0bbb60404ac88aa4416b75a"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__h264__stream.html#gabd0bf0ffa0bbb60404ac88aa4416b75a">H264DECFindIdrpoint</a> (const uint8_t *buffer, int32_t bufferLength, int32_t *outOffset)</td></tr>
<tr class="memdesc:gabd0bf0ffa0bbb60404ac88aa4416b75a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find the first "IDR point" in the stream. <br /></td></tr>
<tr class="separator:gabd0bf0ffa0bbb60404ac88aa4416b75a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26ecae555d8d17d63c6063c41c51806a" id="r_ga26ecae555d8d17d63c6063c41c51806a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__h264__stream.html#gac664801192f91459eb7498ea939d5fa7">H264Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__h264__stream.html#ga26ecae555d8d17d63c6063c41c51806a">H264DECGetImageSize</a> (const uint8_t *buffer, int32_t bufferLength, int32_t offset, int32_t *outWidth, int32_t *outHeight)</td></tr>
<tr class="memdesc:ga26ecae555d8d17d63c6063c41c51806a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse the H264 stream and read the width &amp; height from the first found SPS. <br /></td></tr>
<tr class="separator:ga26ecae555d8d17d63c6063c41c51806a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="structH264DecodedVuiParameters" id="structH264DecodedVuiParameters"></a>
<h2 class="memtitle"><span class="permalink"><a href="#structH264DecodedVuiParameters">&#9670;&#160;</a></span>H264DecodedVuiParameters</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct H264DecodedVuiParameters</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="stream_8h_source.html#l00050">50</a> of file <a class="el" href="stream_8h_source.html">stream.h</a>.</p>
</div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a id="a756607f83e67dc24400be003ecb97d11" name="a756607f83e67dc24400be003ecb97d11"></a>uint8_t</td>
<td class="fieldname">
aspect_ratio_info_present_flag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a74658a9ffe1c9cbd8fb83c0f31bccfee" name="a74658a9ffe1c9cbd8fb83c0f31bccfee"></a>uint8_t</td>
<td class="fieldname">
aspect_ratio_idc</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a618f364a0fb119f055921f0f80f03cd1" name="a618f364a0fb119f055921f0f80f03cd1"></a>int16_t</td>
<td class="fieldname">
sar_width</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a48e376d3c20165eaf31f0476e02bde7e" name="a48e376d3c20165eaf31f0476e02bde7e"></a>int16_t</td>
<td class="fieldname">
sar_height</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a9bc7e30a115f58c779856d1c26dbc61b" name="a9bc7e30a115f58c779856d1c26dbc61b"></a>uint8_t</td>
<td class="fieldname">
overscan_info_present_flag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a2747e2522223dd282c781ee7f4ebb8d8" name="a2747e2522223dd282c781ee7f4ebb8d8"></a>uint8_t</td>
<td class="fieldname">
overscan_appropriate_flag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="af3a5fb798d147e20c62042dc0e87ab47" name="af3a5fb798d147e20c62042dc0e87ab47"></a>uint8_t</td>
<td class="fieldname">
video_signal_type_present_flag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a50ab179028eb4a7a38c283daaddf129a" name="a50ab179028eb4a7a38c283daaddf129a"></a>uint8_t</td>
<td class="fieldname">
video_format</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a94bfdcbd43a1dfda19a2a56a5315810f" name="a94bfdcbd43a1dfda19a2a56a5315810f"></a>uint8_t</td>
<td class="fieldname">
video_full_range_flag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="adfcab50f38defbe8037931d888e590ea" name="adfcab50f38defbe8037931d888e590ea"></a>uint8_t</td>
<td class="fieldname">
colour_description_present_flag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="ae5046a4a65727b972bf20d83791fda55" name="ae5046a4a65727b972bf20d83791fda55"></a>uint8_t</td>
<td class="fieldname">
colour_primaries</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="abfadf0a3888743ef8efbd2499f7be440" name="abfadf0a3888743ef8efbd2499f7be440"></a>uint8_t</td>
<td class="fieldname">
transfer_characteristics</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="af01363bcd566b79460d921defed0bb05" name="af01363bcd566b79460d921defed0bb05"></a>uint8_t</td>
<td class="fieldname">
matrix_coefficients</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="ab4c4ebf8fb5a1e47fe1cad036a81068f" name="ab4c4ebf8fb5a1e47fe1cad036a81068f"></a>uint8_t</td>
<td class="fieldname">
chroma_loc_info_present_flag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a0f68fc9b10e5fea9ac6767587a9559ca" name="a0f68fc9b10e5fea9ac6767587a9559ca"></a>uint8_t</td>
<td class="fieldname">
chroma_sample_loc_type_top_field</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a2b2b2f39f22ae5a1d8fdc562f86b8a60" name="a2b2b2f39f22ae5a1d8fdc562f86b8a60"></a>uint8_t</td>
<td class="fieldname">
chroma_sample_loc_type_bottom_field</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="abec0f90ad35f49cc8895d5aac00968c9" name="abec0f90ad35f49cc8895d5aac00968c9"></a>uint8_t</td>
<td class="fieldname">
timing_info_present_flag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a29aa381b6c7b810487f4ffcb0003105e" name="a29aa381b6c7b810487f4ffcb0003105e"></a>uint32_t</td>
<td class="fieldname">
num_units_in_tick</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="ac51180737489c007f5d0b687a0e41f0d" name="ac51180737489c007f5d0b687a0e41f0d"></a>uint32_t</td>
<td class="fieldname">
time_scale</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="ad528b2caa042e63f4b74b44f7b4b599f" name="ad528b2caa042e63f4b74b44f7b4b599f"></a>uint8_t</td>
<td class="fieldname">
fixed_frame_rate_flag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="aef8732f56fb7d3afb64691b1e89aae5a" name="aef8732f56fb7d3afb64691b1e89aae5a"></a>uint8_t</td>
<td class="fieldname">
nal_hrd_parameters_present_flag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a5c006def9e27c2e68f23c03c40a637a2" name="a5c006def9e27c2e68f23c03c40a637a2"></a>uint8_t</td>
<td class="fieldname">
vcl_hrd_parameters_present_flag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a7d76ff4a59ca5bae98c309685892a0df" name="a7d76ff4a59ca5bae98c309685892a0df"></a>uint8_t</td>
<td class="fieldname">
low_delay_hrd_flag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a7f4df22ddb0b779103b4ab700cad7871" name="a7f4df22ddb0b779103b4ab700cad7871"></a>uint8_t</td>
<td class="fieldname">
pic_struct_present_flag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="aab7bb6b0f1df0fdc7e3e7e14140917ee" name="aab7bb6b0f1df0fdc7e3e7e14140917ee"></a>uint8_t</td>
<td class="fieldname">
bitstream_restriction_flag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a6ebe902fdc5e360b59b6e333a92a361f" name="a6ebe902fdc5e360b59b6e333a92a361f"></a>uint8_t</td>
<td class="fieldname">
motion_vectors_over_pic_boundaries_flag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a70538475ce684638e290cb38f43029ca" name="a70538475ce684638e290cb38f43029ca"></a>int16_t</td>
<td class="fieldname">
max_bytes_per_pic_denom</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a03e314f394d63e6aedf77214c74515c4" name="a03e314f394d63e6aedf77214c74515c4"></a>int16_t</td>
<td class="fieldname">
max_bits_per_mb_denom</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a168c1813d933d11119d681e6eaccc156" name="a168c1813d933d11119d681e6eaccc156"></a>int16_t</td>
<td class="fieldname">
log2_max_mv_length_horizontal</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a72393674c8794b23d6a2e8019684ca97" name="a72393674c8794b23d6a2e8019684ca97"></a>int16_t</td>
<td class="fieldname">
log2_max_mv_length_vertical</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a461e4bb31fc57b2626dc0eb4c827cc39" name="a461e4bb31fc57b2626dc0eb4c827cc39"></a>int16_t</td>
<td class="fieldname">
num_reorder_frames</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="aef42fdb9b7755979b45cc969be29f376" name="aef42fdb9b7755979b45cc969be29f376"></a>int16_t</td>
<td class="fieldname">
max_dec_frame_buffering</td>
<td class="fielddoc">
</td></tr>
</table>
</div>
</div>
<a name="structH264DecodeResult" id="structH264DecodeResult"></a>
<h2 class="memtitle"><span class="permalink"><a href="#structH264DecodeResult">&#9670;&#160;</a></span>H264DecodeResult</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct H264DecodeResult</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="stream_8h_source.html#l00121">121</a> of file <a class="el" href="stream_8h_source.html">stream.h</a>.</p>
</div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a id="a369536ebfe385731562c0b55dd6f3a7c" name="a369536ebfe385731562c0b55dd6f3a7c"></a>int32_t</td>
<td class="fieldname">
status</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a2c17dfa2b3239f2312e94b9de57a7999" name="a2c17dfa2b3239f2312e94b9de57a7999"></a>double</td>
<td class="fieldname">
timestamp</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a395d15e7c2b09961c1bfd1da6179b64c" name="a395d15e7c2b09961c1bfd1da6179b64c"></a>int32_t</td>
<td class="fieldname">
width</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a5d8006e753a3e76ff637a4e092bbed71" name="a5d8006e753a3e76ff637a4e092bbed71"></a>int32_t</td>
<td class="fieldname">
height</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="aa35273a0ea9624d537edcb34fae397f0" name="aa35273a0ea9624d537edcb34fae397f0"></a>int32_t</td>
<td class="fieldname">
nextLine</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="aa802e0dd974ba58944d49af561c1b21d" name="aa802e0dd974ba58944d49af561c1b21d"></a>uint8_t</td>
<td class="fieldname">
cropEnableFlag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="af6ecf6c883516318d494a4b3783871ac" name="af6ecf6c883516318d494a4b3783871ac"></a>int32_t</td>
<td class="fieldname">
cropTop</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a6584cf67c09e0128291bc2f7426f66aa" name="a6584cf67c09e0128291bc2f7426f66aa"></a>int32_t</td>
<td class="fieldname">
cropBottom</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a9aff83c47318a02acda7f31ca19598cd" name="a9aff83c47318a02acda7f31ca19598cd"></a>int32_t</td>
<td class="fieldname">
cropLeft</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a519d4b909a38d11d4325767e04e161b9" name="a519d4b909a38d11d4325767e04e161b9"></a>int32_t</td>
<td class="fieldname">
cropRight</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="accfde37c64c3ba88c5cf4be2221b0857" name="accfde37c64c3ba88c5cf4be2221b0857"></a>uint8_t</td>
<td class="fieldname">
panScanEnableFlag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a82bbb61139586cd3c9847d2b14aa6d6c" name="a82bbb61139586cd3c9847d2b14aa6d6c"></a>int32_t</td>
<td class="fieldname">
panScanTop</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="af88b14e284f65292f80d92dbff2d7d25" name="af88b14e284f65292f80d92dbff2d7d25"></a>int32_t</td>
<td class="fieldname">
panScanBottom</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="aabd2822968613dd22d12cfd53bc1f667" name="aabd2822968613dd22d12cfd53bc1f667"></a>int32_t</td>
<td class="fieldname">
panScanLeft</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a4a722c42b12ed9ddc43004bb07359262" name="a4a722c42b12ed9ddc43004bb07359262"></a>int32_t</td>
<td class="fieldname">
panScanRight</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="abc3c7fb728cde5451750bf2f9424f6e8" name="abc3c7fb728cde5451750bf2f9424f6e8"></a>void *</td>
<td class="fieldname">
framebuffer</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a72812111eea998b6be0c0d0b63fede0f" name="a72812111eea998b6be0c0d0b63fede0f"></a>uint8_t</td>
<td class="fieldname">
vui_parameters_present_flag</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a id="a8e5bd8476d9458f16d89afec9f44ac5b" name="a8e5bd8476d9458f16d89afec9f44ac5b"></a><a class="el" href="group__h264__stream.html#structH264DecodedVuiParameters">H264DecodedVuiParameters</a> *</td>
<td class="fieldname">
vui_parameters</td>
<td class="fielddoc">
</td></tr>
</table>
</div>
</div>
<a name="structH264DecodeOutput" id="structH264DecodeOutput"></a>
<h2 class="memtitle"><span class="permalink"><a href="#structH264DecodeOutput">&#9670;&#160;</a></span>H264DecodeOutput</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct H264DecodeOutput</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="stream_8h_source.html#l00167">167</a> of file <a class="el" href="stream_8h_source.html">stream.h</a>.</p>
</div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a id="ae40755ac6f40adbe5ad4854fb9cb5607" name="ae40755ac6f40adbe5ad4854fb9cb5607"></a>int32_t</td>
<td class="fieldname">
frameCount</td>
<td class="fielddoc">
Number of frames output. </td></tr>
<tr><td class="fieldtype">
<a id="a881508b85ac77a18fa8e25199b44c144" name="a881508b85ac77a18fa8e25199b44c144"></a><a class="el" href="group__h264__stream.html#structH264DecodeResult">H264DecodeResult</a> **</td>
<td class="fieldname">
decodeResults</td>
<td class="fielddoc">
Frames. </td></tr>
<tr><td class="fieldtype">
<a id="a8c2c7ee358501969f48030d974229eea" name="a8c2c7ee358501969f48030d974229eea"></a>void *</td>
<td class="fieldname">
userMemory</td>
<td class="fielddoc">
User memory pointer passed into SetParam. </td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga8455f49b42da3dfc582243ab37d7f2a2" name="ga8455f49b42da3dfc582243ab37d7f2a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8455f49b42da3dfc582243ab37d7f2a2">&#9670;&#160;</a></span>H264DecodedVuiParameters</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="group__h264__stream.html#structH264DecodedVuiParameters">H264DecodedVuiParameters</a> <a class="el" href="group__h264__stream.html#structH264DecodedVuiParameters">H264DecodedVuiParameters</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="stream_8h_source.html#l00014">14</a> of file <a class="el" href="stream_8h_source.html">stream.h</a>.</p>
</div>
</div>
<a id="ga191fb57261872679657ee620d1532c2e" name="ga191fb57261872679657ee620d1532c2e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga191fb57261872679657ee620d1532c2e">&#9670;&#160;</a></span>H264DecodeResult</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="group__h264__stream.html#structH264DecodeResult">H264DecodeResult</a> <a class="el" href="group__h264__stream.html#structH264DecodeResult">H264DecodeResult</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="stream_8h_source.html#l00015">15</a> of file <a class="el" href="stream_8h_source.html">stream.h</a>.</p>
</div>
</div>
<a id="ga89c8a0b66584e83bde790ee7f0ab863b" name="ga89c8a0b66584e83bde790ee7f0ab863b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga89c8a0b66584e83bde790ee7f0ab863b">&#9670;&#160;</a></span>H264DecodeOutput</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="group__h264__stream.html#structH264DecodeOutput">H264DecodeOutput</a> <a class="el" href="group__h264__stream.html#structH264DecodeOutput">H264DecodeOutput</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="stream_8h_source.html#l00016">16</a> of file <a class="el" href="stream_8h_source.html">stream.h</a>.</p>
</div>
</div>
<a id="ga089202c6b3d18965159e04df9680ceff" name="ga089202c6b3d18965159e04df9680ceff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga089202c6b3d18965159e04df9680ceff">&#9670;&#160;</a></span>H264DECFptrOutputFn</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* H264DECFptrOutputFn) (<a class="el" href="group__h264__stream.html#structH264DecodeOutput">H264DecodeOutput</a> *output)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="stream_8h_source.html#l00018">18</a> of file <a class="el" href="stream_8h_source.html">stream.h</a>.</p>
</div>
</div>
<a id="ga0802d504961522416346d738d03bcd6d" name="ga0802d504961522416346d738d03bcd6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0802d504961522416346d738d03bcd6d">&#9670;&#160;</a></span>H264Error</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="group__h264__stream.html#gac664801192f91459eb7498ea939d5fa7">H264Error</a> <a class="el" href="group__h264__stream.html#gac664801192f91459eb7498ea939d5fa7">H264Error</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>h264 library errors. </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="gac664801192f91459eb7498ea939d5fa7" name="gac664801192f91459eb7498ea939d5fa7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac664801192f91459eb7498ea939d5fa7">&#9670;&#160;</a></span>H264Error</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__h264__stream.html#gac664801192f91459eb7498ea939d5fa7">H264Error</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>h264 library errors. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggac664801192f91459eb7498ea939d5fa7a741e24f624a3473926cd71fb198cc664" name="ggac664801192f91459eb7498ea939d5fa7a741e24f624a3473926cd71fb198cc664"></a>H264_ERROR_OK&#160;</td><td class="fielddoc"><p>No errors. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggac664801192f91459eb7498ea939d5fa7abb70d284e18e7eb4ad7881b7ad20220a" name="ggac664801192f91459eb7498ea939d5fa7abb70d284e18e7eb4ad7881b7ad20220a"></a>H264_ERROR_INVALID_PPS&#160;</td><td class="fielddoc"><p>Invalid picture parameter set. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggac664801192f91459eb7498ea939d5fa7a7688223058a0f3d4e33a103724630067" name="ggac664801192f91459eb7498ea939d5fa7a7688223058a0f3d4e33a103724630067"></a>H264_ERROR_INVALID_SPS&#160;</td><td class="fielddoc"><p>Invalid sequence parameter set. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggac664801192f91459eb7498ea939d5fa7a12a75a2131de3d96b97b9f9c3b8bbc15" name="ggac664801192f91459eb7498ea939d5fa7a12a75a2131de3d96b97b9f9c3b8bbc15"></a>H264_ERROR_INVALID_SLICEHEADER&#160;</td><td class="fielddoc"><p>Invalid slice header. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggac664801192f91459eb7498ea939d5fa7a0e711e37c6c89c0a714810498be0927b" name="ggac664801192f91459eb7498ea939d5fa7a0e711e37c6c89c0a714810498be0927b"></a>H264_ERROR_GENERIC&#160;</td><td class="fielddoc"><p>Generic h264 error. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggac664801192f91459eb7498ea939d5fa7a6dfa0781e15b9c616fad9b5fb80a6d61" name="ggac664801192f91459eb7498ea939d5fa7a6dfa0781e15b9c616fad9b5fb80a6d61"></a>H264_ERROR_INVALID_PARAMETER&#160;</td><td class="fielddoc"><p>Invalid parameters passed. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggac664801192f91459eb7498ea939d5fa7a12e7ed907c9a328b450138f924ffdf48" name="ggac664801192f91459eb7498ea939d5fa7a12e7ed907c9a328b450138f924ffdf48"></a>H264_ERROR_OUT_OF_MEMORY&#160;</td><td class="fielddoc"><p>The amount of memory provided to the h264 library is insufficient. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggac664801192f91459eb7498ea939d5fa7ad30b37e6c89abae068e1ad3792b7f0f1" name="ggac664801192f91459eb7498ea939d5fa7ad30b37e6c89abae068e1ad3792b7f0f1"></a>H264_ERROR_INVALID_PROFILE&#160;</td><td class="fielddoc"><p>Invalid h264 stream profile. </p>
<p>Only the baseline (66), main (77) and high (100) profiles are allowed. </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="stream_8h_source.html#l00021">21</a> of file <a class="el" href="stream_8h_source.html">stream.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gab5902c8e995dcde8cb9922fe02ed5478" name="gab5902c8e995dcde8cb9922fe02ed5478"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab5902c8e995dcde8cb9922fe02ed5478">&#9670;&#160;</a></span>H264DECCheckDecunitLength()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__h264__stream.html#gac664801192f91459eb7498ea939d5fa7">H264Error</a> H264DECCheckDecunitLength </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>memory</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>bufferLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t *&#160;</td>
<td class="paramname"><em>outLength</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Check that the stream contains sufficient data to decode an entire frame. </p>
</div>
</div>
<a id="ga303d0bf3dec7951eafd69c6ddd0b453e" name="ga303d0bf3dec7951eafd69c6ddd0b453e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga303d0bf3dec7951eafd69c6ddd0b453e">&#9670;&#160;</a></span>H264DECCheckSkipableFrame()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__h264__stream.html#gac664801192f91459eb7498ea939d5fa7">H264Error</a> H264DECCheckSkipableFrame </td>
<td>(</td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>bufferLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="wut__types_8h.html#a975dbe9e4396bf9e0064ce01827fa372">BOOL</a> *&#160;</td>
<td class="paramname"><em>outSkippable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if the next NALU can be skipped without breaking decoding. </p>
</div>
</div>
<a id="ga49ff3d9cb5d688d7cd638c503572989f" name="ga49ff3d9cb5d688d7cd638c503572989f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga49ff3d9cb5d688d7cd638c503572989f">&#9670;&#160;</a></span>H264DECFindDecstartpoint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__h264__stream.html#gac664801192f91459eb7498ea939d5fa7">H264Error</a> H264DECFindDecstartpoint </td>
<td>(</td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>bufferLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t *&#160;</td>
<td class="paramname"><em>outOffset</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Find the first SPS in the stream. </p>
</div>
</div>
<a id="gabd0bf0ffa0bbb60404ac88aa4416b75a" name="gabd0bf0ffa0bbb60404ac88aa4416b75a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabd0bf0ffa0bbb60404ac88aa4416b75a">&#9670;&#160;</a></span>H264DECFindIdrpoint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t H264DECFindIdrpoint </td>
<td>(</td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>bufferLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t *&#160;</td>
<td class="paramname"><em>outOffset</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Find the first "IDR point" in the stream. </p>
<p>An IDR point is either:</p><ul>
<li>If an SPS or PPS header is found before the IDR and there are no non-IDR inbetween the SPS/PPS and IDR then return the first of the SPS/PPS.</li>
<li>The first found IDR. </li>
</ul>
</div>
</div>
<a id="ga26ecae555d8d17d63c6063c41c51806a" name="ga26ecae555d8d17d63c6063c41c51806a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga26ecae555d8d17d63c6063c41c51806a">&#9670;&#160;</a></span>H264DECGetImageSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__h264__stream.html#gac664801192f91459eb7498ea939d5fa7">H264Error</a> H264DECGetImageSize </td>
<td>(</td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>bufferLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t *&#160;</td>
<td class="paramname"><em>outWidth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t *&#160;</td>
<td class="paramname"><em>outHeight</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Parse the H264 stream and read the width &amp; height from the first found SPS. </p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>