blob: 19f13400ed595809e772aec4b58352ad4d605287 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VA-API: VAEncSequenceParameterBufferMPEG2 Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VA-API
&#160;<span id="projectnumber">2.13.0.pre1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structVAEncSequenceParameterBufferMPEG2-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">VAEncSequenceParameterBufferMPEG2 Struct Reference<div class="ingroups"><a class="el" href="group__api__enc__mpeg2.html">MPEG-2 encoding API</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>Sequence parameter for MPEG-2 encoding.
<a href="structVAEncSequenceParameterBufferMPEG2.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="va__enc__mpeg2_8h_source.html">va_enc_mpeg2.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a151181c06ee1aedd6011e107a2f1ef3f"><td class="memItemLeft" align="right" valign="top"><a id="a151181c06ee1aedd6011e107a2f1ef3f"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#a151181c06ee1aedd6011e107a2f1ef3f">intra_period</a></td></tr>
<tr class="memdesc:a151181c06ee1aedd6011e107a2f1ef3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Period between I frames. <br /></td></tr>
<tr class="separator:a151181c06ee1aedd6011e107a2f1ef3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3003475c413fa78c87e629bee6d0801"><td class="memItemLeft" align="right" valign="top"><a id="ad3003475c413fa78c87e629bee6d0801"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#ad3003475c413fa78c87e629bee6d0801">ip_period</a></td></tr>
<tr class="memdesc:ad3003475c413fa78c87e629bee6d0801"><td class="mdescLeft">&#160;</td><td class="mdescRight">Period between I/P frames. <br /></td></tr>
<tr class="separator:ad3003475c413fa78c87e629bee6d0801"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7d8447a1f21f07a8be0a9273959b3ae"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#ab7d8447a1f21f07a8be0a9273959b3ae">picture_width</a></td></tr>
<tr class="memdesc:ab7d8447a1f21f07a8be0a9273959b3ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Picture width. <a href="#ab7d8447a1f21f07a8be0a9273959b3ae">More...</a><br /></td></tr>
<tr class="separator:ab7d8447a1f21f07a8be0a9273959b3ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad681bb7b37e9fdf7e42be5af3ecd6809"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#ad681bb7b37e9fdf7e42be5af3ecd6809">picture_height</a></td></tr>
<tr class="memdesc:ad681bb7b37e9fdf7e42be5af3ecd6809"><td class="mdescLeft">&#160;</td><td class="mdescRight">Picture height. <a href="#ad681bb7b37e9fdf7e42be5af3ecd6809">More...</a><br /></td></tr>
<tr class="separator:ad681bb7b37e9fdf7e42be5af3ecd6809"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a906d0cb2cf273560a6593a6b0685ff76"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#a906d0cb2cf273560a6593a6b0685ff76">bits_per_second</a></td></tr>
<tr class="memdesc:a906d0cb2cf273560a6593a6b0685ff76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initial bitrate set for this sequence in CBR or VBR modes. <a href="#a906d0cb2cf273560a6593a6b0685ff76">More...</a><br /></td></tr>
<tr class="separator:a906d0cb2cf273560a6593a6b0685ff76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20b25a79b824db1180f1c3ca47b2c9f1"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#a20b25a79b824db1180f1c3ca47b2c9f1">frame_rate</a></td></tr>
<tr class="memdesc:a20b25a79b824db1180f1c3ca47b2c9f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frame rate. <a href="#a20b25a79b824db1180f1c3ca47b2c9f1">More...</a><br /></td></tr>
<tr class="separator:a20b25a79b824db1180f1c3ca47b2c9f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa53e0236d73b56b0ebac60fd4462bd04"><td class="memItemLeft" align="right" valign="top"><a id="aa53e0236d73b56b0ebac60fd4462bd04"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#aa53e0236d73b56b0ebac60fd4462bd04">aspect_ratio_information</a></td></tr>
<tr class="memdesc:aa53e0236d73b56b0ebac60fd4462bd04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as the element in sequence_header() <br /></td></tr>
<tr class="separator:aa53e0236d73b56b0ebac60fd4462bd04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ae154619d18592013036abf5ea86702"><td class="memItemLeft" align="right" valign="top"><a id="a4ae154619d18592013036abf5ea86702"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#a4ae154619d18592013036abf5ea86702">vbv_buffer_size</a></td></tr>
<tr class="memdesc:a4ae154619d18592013036abf5ea86702"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the size of VBV. <br /></td></tr>
<tr class="separator:a4ae154619d18592013036abf5ea86702"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae041b642239d1577baaf982b45c6c2bb"><td class="memItemLeft" align="right" valign="top"><a id="ae041b642239d1577baaf982b45c6c2bb"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#ae041b642239d1577baaf982b45c6c2bb">new_gop_header</a></td></tr>
<tr class="memdesc:ae041b642239d1577baaf982b45c6c2bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag to indicate the following GOP header are being updated. <br /></td></tr>
<tr class="separator:ae041b642239d1577baaf982b45c6c2bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23cb247a65aa1ddab84a5f433b72b845"><td class="memItemLeft" align="right" valign="top"><a id="a23cb247a65aa1ddab84a5f433b72b845"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#a23cb247a65aa1ddab84a5f433b72b845">va_reserved</a> [<a class="el" href="group__api__core.html#gaaa4fb20d1c2606379cccfa562c2ebb3b">VA_PADDING_LOW</a>]</td></tr>
<tr class="memdesc:a23cb247a65aa1ddab84a5f433b72b845"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserved bytes for future use, must be zero. <br /></td></tr>
<tr class="separator:a23cb247a65aa1ddab84a5f433b72b845"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a856f1ae4229980de77ae49d0ba81043a"><td class="memItemLeft" align="right" valign="top"><a id="a856f1ae4229980de77ae49d0ba81043a"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#a856f1ae4229980de77ae49d0ba81043a">profile_and_level_indication</a>: 8</td></tr>
<tr class="memdesc:a856f1ae4229980de77ae49d0ba81043a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as the element in Sequence extension() <br /></td></tr>
<tr class="separator:a856f1ae4229980de77ae49d0ba81043a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5284ac14d30132c346584af0a2711d83"><td class="memItemLeft" align="right" valign="top"><a id="a5284ac14d30132c346584af0a2711d83"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#a5284ac14d30132c346584af0a2711d83">progressive_sequence</a>: 1</td></tr>
<tr class="memdesc:a5284ac14d30132c346584af0a2711d83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as the element in Sequence extension() <br /></td></tr>
<tr class="separator:a5284ac14d30132c346584af0a2711d83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a853a413276cb3d1b109787b7d259a0ab"><td class="memItemLeft" align="right" valign="top"><a id="a853a413276cb3d1b109787b7d259a0ab"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#a853a413276cb3d1b109787b7d259a0ab">chroma_format</a>: 2</td></tr>
<tr class="memdesc:a853a413276cb3d1b109787b7d259a0ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as the element in Sequence extension() <br /></td></tr>
<tr class="separator:a853a413276cb3d1b109787b7d259a0ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae93a0c9d26b1d9b7ac4eed17a05047cc"><td class="memItemLeft" align="right" valign="top"><a id="ae93a0c9d26b1d9b7ac4eed17a05047cc"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#ae93a0c9d26b1d9b7ac4eed17a05047cc">low_delay</a>: 1</td></tr>
<tr class="memdesc:ae93a0c9d26b1d9b7ac4eed17a05047cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as the element in Sequence extension() <br /></td></tr>
<tr class="separator:ae93a0c9d26b1d9b7ac4eed17a05047cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7241ce2c518f0d26e7d63253b41cb20a"><td class="memItemLeft" align="right" valign="top"><a id="a7241ce2c518f0d26e7d63253b41cb20a"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#a7241ce2c518f0d26e7d63253b41cb20a">frame_rate_extension_n</a>: 2</td></tr>
<tr class="memdesc:a7241ce2c518f0d26e7d63253b41cb20a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as the element in Sequence extension() <br /></td></tr>
<tr class="separator:a7241ce2c518f0d26e7d63253b41cb20a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ef8b9249c76b97a8d24baa180c35632"><td class="memItemLeft" align="right" valign="top"><a id="a2ef8b9249c76b97a8d24baa180c35632"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#a2ef8b9249c76b97a8d24baa180c35632">frame_rate_extension_d</a>: 5</td></tr>
<tr class="memdesc:a2ef8b9249c76b97a8d24baa180c35632"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as the element in Sequence extension() <br /></td></tr>
<tr class="separator:a2ef8b9249c76b97a8d24baa180c35632"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50e75be8e0a010dc29750f9a60c1132e"><td class="memItemLeft" align="right" valign="top"><a id="a50e75be8e0a010dc29750f9a60c1132e"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#a50e75be8e0a010dc29750f9a60c1132e">time_code</a>: 25</td></tr>
<tr class="memdesc:a50e75be8e0a010dc29750f9a60c1132e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Time code. <br /></td></tr>
<tr class="separator:a50e75be8e0a010dc29750f9a60c1132e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa47dd8409a18c90a57500104f5f24d2e"><td class="memItemLeft" align="right" valign="top"><a id="aa47dd8409a18c90a57500104f5f24d2e"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#aa47dd8409a18c90a57500104f5f24d2e">closed_gop</a>: 1</td></tr>
<tr class="memdesc:aa47dd8409a18c90a57500104f5f24d2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as the element in GOP header. <br /></td></tr>
<tr class="separator:aa47dd8409a18c90a57500104f5f24d2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bd1da57da43e6174b4beb4f9ee03c86"><td class="memItemLeft" align="right" valign="top"><a id="a6bd1da57da43e6174b4beb4f9ee03c86"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncSequenceParameterBufferMPEG2.html#a6bd1da57da43e6174b4beb4f9ee03c86">broken_link</a>: 1</td></tr>
<tr class="memdesc:a6bd1da57da43e6174b4beb4f9ee03c86"><td class="mdescLeft">&#160;</td><td class="mdescRight">SAme as the element in GOP header. <br /></td></tr>
<tr class="separator:a6bd1da57da43e6174b4beb4f9ee03c86"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Sequence parameter for MPEG-2 encoding. </p>
<p>This structure holds information for <code>sequence_header()</code> and sequence_extension().</p>
<p>If packed sequence headers mode is used, i.e. if the encoding pipeline was configured with the <a class="el" href="group__api__core.html#gabc0ce3bf75ea6aca65d6ed751f12369f" title="Driver supports packed sequence headers. e.g. SPS for H.264. ">VA_ENC_PACKED_HEADER_SEQUENCE</a> flag, then the driver expects two more buffers to be provided to the same <code><a class="el" href="group__api__core.html#ga3facc622a14fc901d5d44dcda845cb6f">vaRenderPicture()</a></code> as this buffer:</p><ul>
<li>a <a class="el" href="structVAEncPackedHeaderParameterBuffer.html" title="Packed header parameter. ">VAEncPackedHeaderParameterBuffer</a> with type set to VAEncPackedHeaderType::VAEncPackedHeaderSequence ;</li>
<li>a #VAEncPackedHeaderDataBuffer which holds the actual packed header data. </li>
</ul>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="a906d0cb2cf273560a6593a6b0685ff76"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a906d0cb2cf273560a6593a6b0685ff76">&#9670;&nbsp;</a></span>bits_per_second</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncSequenceParameterBufferMPEG2::bits_per_second</td>
</tr>
</table>
</div><div class="memdoc">
<p>Initial bitrate set for this sequence in CBR or VBR modes. </p>
<p>This field represents the initial bitrate value for this sequence if CBR or VBR mode is used, i.e. if the encoder pipeline was created with a #VAConfigAttribRateControl attribute set to either <a class="el" href="group__api__core.html#gaa57577c08c899f30861ef30a9579c6e1">VA_RC_CBR</a> or <a class="el" href="group__api__core.html#ga2ada19db3fc9a6f9d936c3998bb2f9a1">VA_RC_VBR</a>.</p>
<p>bits_per_second may be derived from bit_rate. </p>
</div>
</div>
<a id="a20b25a79b824db1180f1c3ca47b2c9f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20b25a79b824db1180f1c3ca47b2c9f1">&#9670;&nbsp;</a></span>frame_rate</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float VAEncSequenceParameterBufferMPEG2::frame_rate</td>
</tr>
</table>
</div><div class="memdoc">
<p>Frame rate. </p>
<p>Derived from frame_rate_value, frame_rate_extension_n and frame_rate_extension_d </p>
</div>
</div>
<a id="ad681bb7b37e9fdf7e42be5af3ecd6809"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad681bb7b37e9fdf7e42be5af3ecd6809">&#9670;&nbsp;</a></span>picture_height</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t VAEncSequenceParameterBufferMPEG2::picture_height</td>
</tr>
</table>
</div><div class="memdoc">
<p>Picture height. </p>
<p>A 14bits unsigned inter, the lower 12bits is vertical_size_value, and the upper 2bits is vertical_size_size_extension </p>
</div>
</div>
<a id="ab7d8447a1f21f07a8be0a9273959b3ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7d8447a1f21f07a8be0a9273959b3ae">&#9670;&nbsp;</a></span>picture_width</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t VAEncSequenceParameterBufferMPEG2::picture_width</td>
</tr>
</table>
</div><div class="memdoc">
<p>Picture width. </p>
<p>A 14bits unsigned inter, the lower 12bits is horizontal_size_value, and the upper 2bits is <code>horizontal_size_extension</code> </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="va__enc__mpeg2_8h_source.html">va_enc_mpeg2.h</a></li>
</ul>
</div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated for VA-API by&#160;<a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13</small></address>
</body>
</html>