blob: 1e5afd16c8cacab9091ca07f8bbb77dccbf9bd1e [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: VAEncPictureParameterBufferHEVC 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.19.0</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="structVAEncPictureParameterBufferHEVC-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">VAEncPictureParameterBufferHEVC Struct Reference<div class="ingroups"><a class="el" href="group__api__enc__hevc.html">HEVC encoding API</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>Picture parameter for HEVC encoding in main &amp; main 10 profiles.
<a href="structVAEncPictureParameterBufferHEVC.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="va__enc__hevc_8h_source.html">va_enc_hevc.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:a9533605fb07ec67eb3207486d27c8362"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVAPictureHEVC.html">VAPictureHEVC</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a9533605fb07ec67eb3207486d27c8362">decoded_curr_pic</a></td></tr>
<tr class="memdesc:a9533605fb07ec67eb3207486d27c8362"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about the picture to be encoded. <a href="#a9533605fb07ec67eb3207486d27c8362">More...</a><br /></td></tr>
<tr class="separator:a9533605fb07ec67eb3207486d27c8362"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27cfbeaf1b462418b9fcc3ed3d8291a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVAPictureHEVC.html">VAPictureHEVC</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a27cfbeaf1b462418b9fcc3ed3d8291a8">reference_frames</a> [15]</td></tr>
<tr class="memdesc:a27cfbeaf1b462418b9fcc3ed3d8291a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decoded Picture Buffer (DPB). <a href="#a27cfbeaf1b462418b9fcc3ed3d8291a8">More...</a><br /></td></tr>
<tr class="separator:a27cfbeaf1b462418b9fcc3ed3d8291a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15c5a96f28d691a30bd70e26d7980682"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core.html#gad26441ddf2f4441ef65bbefa4662607f">VABufferID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a15c5a96f28d691a30bd70e26d7980682">coded_buf</a></td></tr>
<tr class="memdesc:a15c5a96f28d691a30bd70e26d7980682"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output encoded bitstream. <a href="#a15c5a96f28d691a30bd70e26d7980682">More...</a><br /></td></tr>
<tr class="separator:a15c5a96f28d691a30bd70e26d7980682"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0b2519b80793ec1c6682fed115d4d17"><td class="memItemLeft" align="right" valign="top"><a id="ac0b2519b80793ec1c6682fed115d4d17"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#ac0b2519b80793ec1c6682fed115d4d17">collocated_ref_pic_index</a></td></tr>
<tr class="memdesc:ac0b2519b80793ec1c6682fed115d4d17"><td class="mdescLeft">&#160;</td><td class="mdescRight">collocated reference picture buffer index of ReferenceFrames[]. Please note it is different from HEVC syntac element collocated_ref_idx. When the HEVC syntax element slice_temporal_mvp_enable_flag takes value 0, collocated_ref_pic_index should take value 0xFF. . Range: [0..14, 0xFF] <br /></td></tr>
<tr class="separator:ac0b2519b80793ec1c6682fed115d4d17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4aedb7d0bc48ee890c33cd2a6eea0c3e"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a4aedb7d0bc48ee890c33cd2a6eea0c3e">last_picture</a></td></tr>
<tr class="memdesc:a4aedb7d0bc48ee890c33cd2a6eea0c3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">OR'd flags describing whether the picture is the last one or not. <a href="#a4aedb7d0bc48ee890c33cd2a6eea0c3e">More...</a><br /></td></tr>
<tr class="separator:a4aedb7d0bc48ee890c33cd2a6eea0c3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49cd0135122fa5ab05ddffd1507ef25d"><td class="memItemLeft" align="right" valign="top"><a id="a49cd0135122fa5ab05ddffd1507ef25d"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a49cd0135122fa5ab05ddffd1507ef25d">pic_init_qp</a></td></tr>
<tr class="memdesc:a49cd0135122fa5ab05ddffd1507ef25d"><td class="mdescLeft">&#160;</td><td class="mdescRight"><code>init_qp_minus26</code> + 26. <br /></td></tr>
<tr class="separator:a49cd0135122fa5ab05ddffd1507ef25d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc5bed6cac8dbb2abf0095a15aab45ca"><td class="memItemLeft" align="right" valign="top"><a id="abc5bed6cac8dbb2abf0095a15aab45ca"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#abc5bed6cac8dbb2abf0095a15aab45ca">diff_cu_qp_delta_depth</a></td></tr>
<tr class="memdesc:abc5bed6cac8dbb2abf0095a15aab45ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:abc5bed6cac8dbb2abf0095a15aab45ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3a0c7e5c4242fad51504066ca4be6bf"><td class="memItemLeft" align="right" valign="top"><a id="ab3a0c7e5c4242fad51504066ca4be6bf"></a>
int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#ab3a0c7e5c4242fad51504066ca4be6bf">pps_cb_qp_offset</a></td></tr>
<tr class="memdesc:ab3a0c7e5c4242fad51504066ca4be6bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:ab3a0c7e5c4242fad51504066ca4be6bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27c93d0d57c6463c4c8b48bddc1a9ca2"><td class="memItemLeft" align="right" valign="top"><a id="a27c93d0d57c6463c4c8b48bddc1a9ca2"></a>
int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a27c93d0d57c6463c4c8b48bddc1a9ca2">pps_cr_qp_offset</a></td></tr>
<tr class="memdesc:a27c93d0d57c6463c4c8b48bddc1a9ca2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:a27c93d0d57c6463c4c8b48bddc1a9ca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aada2719081973e17e4d37d06498ad344"><td class="memItemLeft" align="right" valign="top"><a id="aada2719081973e17e4d37d06498ad344"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#aada2719081973e17e4d37d06498ad344">num_tile_columns_minus1</a></td></tr>
<tr class="memdesc:aada2719081973e17e4d37d06498ad344"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:aada2719081973e17e4d37d06498ad344"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6daeb428ac5558cfbf133ed8222917db"><td class="memItemLeft" align="right" valign="top"><a id="a6daeb428ac5558cfbf133ed8222917db"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a6daeb428ac5558cfbf133ed8222917db">num_tile_rows_minus1</a></td></tr>
<tr class="memdesc:a6daeb428ac5558cfbf133ed8222917db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:a6daeb428ac5558cfbf133ed8222917db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f7b426ef2425aad7cfb6356804377e9"><td class="memItemLeft" align="right" valign="top"><a id="a0f7b426ef2425aad7cfb6356804377e9"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a0f7b426ef2425aad7cfb6356804377e9">column_width_minus1</a> [19]</td></tr>
<tr class="memdesc:a0f7b426ef2425aad7cfb6356804377e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:a0f7b426ef2425aad7cfb6356804377e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa486bec6980ce19f12d068ecb83e8a02"><td class="memItemLeft" align="right" valign="top"><a id="aa486bec6980ce19f12d068ecb83e8a02"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#aa486bec6980ce19f12d068ecb83e8a02">row_height_minus1</a> [21]</td></tr>
<tr class="memdesc:aa486bec6980ce19f12d068ecb83e8a02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:aa486bec6980ce19f12d068ecb83e8a02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad863ef702eac480c5cd1f2395d709f5b"><td class="memItemLeft" align="right" valign="top"><a id="ad863ef702eac480c5cd1f2395d709f5b"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#ad863ef702eac480c5cd1f2395d709f5b">log2_parallel_merge_level_minus2</a></td></tr>
<tr class="memdesc:ad863ef702eac480c5cd1f2395d709f5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:ad863ef702eac480c5cd1f2395d709f5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a944cb44d33ea66052cd4cb0c1f86545d"><td class="memItemLeft" align="right" valign="top"><a id="a944cb44d33ea66052cd4cb0c1f86545d"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a944cb44d33ea66052cd4cb0c1f86545d">ctu_max_bitsize_allowed</a></td></tr>
<tr class="memdesc:a944cb44d33ea66052cd4cb0c1f86545d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Application may set the CTU bit size limit based on spec requirement (A.3.2), or other value for special purpose. If the value is set 0, no bit size limit is checked. <br /></td></tr>
<tr class="separator:a944cb44d33ea66052cd4cb0c1f86545d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e6c925c923f26d9b90e4dba2602946c"><td class="memItemLeft" align="right" valign="top"><a id="a7e6c925c923f26d9b90e4dba2602946c"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a7e6c925c923f26d9b90e4dba2602946c">num_ref_idx_l0_default_active_minus1</a></td></tr>
<tr class="memdesc:a7e6c925c923f26d9b90e4dba2602946c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum reference index for reference picture list 0. value range: [0..14]. <br /></td></tr>
<tr class="separator:a7e6c925c923f26d9b90e4dba2602946c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a853a3ee293eab78387281032cf1f6b"><td class="memItemLeft" align="right" valign="top"><a id="a1a853a3ee293eab78387281032cf1f6b"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a1a853a3ee293eab78387281032cf1f6b">num_ref_idx_l1_default_active_minus1</a></td></tr>
<tr class="memdesc:a1a853a3ee293eab78387281032cf1f6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum reference index for reference picture list 1. value range: [0..14]. <br /></td></tr>
<tr class="separator:a1a853a3ee293eab78387281032cf1f6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d7d52f0a30299e68bd9f9c2e448196d"><td class="memItemLeft" align="right" valign="top"><a id="a4d7d52f0a30299e68bd9f9c2e448196d"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a4d7d52f0a30299e68bd9f9c2e448196d">slice_pic_parameter_set_id</a></td></tr>
<tr class="memdesc:a4d7d52f0a30299e68bd9f9c2e448196d"><td class="mdescLeft">&#160;</td><td class="mdescRight">PPS header Used by GPU to generate new slice headers in slice size control. value range: [0..63]. <br /></td></tr>
<tr class="separator:a4d7d52f0a30299e68bd9f9c2e448196d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec0525a11db6a3e67eaf4a46437023c4"><td class="memItemLeft" align="right" valign="top"><a id="aec0525a11db6a3e67eaf4a46437023c4"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#aec0525a11db6a3e67eaf4a46437023c4">nal_unit_type</a></td></tr>
<tr class="memdesc:aec0525a11db6a3e67eaf4a46437023c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">NAL unit type Used by GPU to generate new slice headers in slice size control. value range: [0..63]. <br /></td></tr>
<tr class="separator:aec0525a11db6a3e67eaf4a46437023c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3de6765bffd3077adda8f5225734314"><td class="memItemLeft" align="right" valign="top"><a id="ab3de6765bffd3077adda8f5225734314"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#ab3de6765bffd3077adda8f5225734314">hierarchical_level_plus1</a></td></tr>
<tr class="memdesc:ab3de6765bffd3077adda8f5225734314"><td class="mdescLeft">&#160;</td><td class="mdescRight">When hierachical_level_plus1 &gt; 0, hierachical_level_plus1-1 indicates the current frame's level.when it &gt; 0. B1, B2 setting in CodingType can be treated as B, hirachical level is determined by this variable.When hierachical_level_plus1 == 0, hierarchical level information still comes from coding_type. <br /></td></tr>
<tr class="separator:ab3de6765bffd3077adda8f5225734314"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf8fd4d4a4a6541352798459841e702d"><td class="memItemLeft" align="right" valign="top"><a id="abf8fd4d4a4a6541352798459841e702d"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#abf8fd4d4a4a6541352798459841e702d">va_byte_reserved</a></td></tr>
<tr class="memdesc:abf8fd4d4a4a6541352798459841e702d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserved bytes for future use, must be zero. <br /></td></tr>
<tr class="separator:abf8fd4d4a4a6541352798459841e702d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56941216f78a678c58bf5dd454337b3d"><td class="memItemLeft" ><a id="a56941216f78a678c58bf5dd454337b3d"></a>
union {</td></tr>
<tr class="memitem:a56941216f78a678c58bf5dd454337b3d"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a56941216f78a678c58bf5dd454337b3d">scc_fields</a></td></tr>
<tr class="memdesc:a56941216f78a678c58bf5dd454337b3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">SCC flags to enable/disable feature, only IBC at present. <br /></td></tr>
<tr class="separator:a56941216f78a678c58bf5dd454337b3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4d9d688da6cae74f772aff517f6024c"><td class="memItemLeft" align="right" valign="top"><a id="ac4d9d688da6cae74f772aff517f6024c"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#ac4d9d688da6cae74f772aff517f6024c">va_reserved</a> [VA_PADDING_HIGH - 1]</td></tr>
<tr class="memdesc:ac4d9d688da6cae74f772aff517f6024c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserved bytes for future use, must be zero. <br /></td></tr>
<tr class="separator:ac4d9d688da6cae74f772aff517f6024c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b02bba1ac78d602d4d78179a4f6c599"><td class="memItemLeft" align="right" valign="top"><a id="a7b02bba1ac78d602d4d78179a4f6c599"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a7b02bba1ac78d602d4d78179a4f6c599">idr_pic_flag</a>: 1</td></tr>
<tr class="memdesc:a7b02bba1ac78d602d4d78179a4f6c599"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is picture an IDR picture? <br /></td></tr>
<tr class="separator:a7b02bba1ac78d602d4d78179a4f6c599"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6da0f618de24ae87e7355a567b489012"><td class="memItemLeft" align="right" valign="top"><a id="a6da0f618de24ae87e7355a567b489012"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a6da0f618de24ae87e7355a567b489012">coding_type</a>: 3</td></tr>
<tr class="memdesc:a6da0f618de24ae87e7355a567b489012"><td class="mdescLeft">&#160;</td><td class="mdescRight">Picture type. I - 1; P - 2; B - 3; B1 - 4; B2 - 5; B1 and B2 are frame types for hierachical B, explanation can refer to num_b_in_gop[]. <br /></td></tr>
<tr class="separator:a6da0f618de24ae87e7355a567b489012"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afea9bdf917032518e32d3b52febc639d"><td class="memItemLeft" align="right" valign="top"><a id="afea9bdf917032518e32d3b52febc639d"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#afea9bdf917032518e32d3b52febc639d">reference_pic_flag</a>: 1</td></tr>
<tr class="memdesc:afea9bdf917032518e32d3b52febc639d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is picture a reference picture? <br /></td></tr>
<tr class="separator:afea9bdf917032518e32d3b52febc639d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68a58b7e16d34cbfaa47ce028d5beac8"><td class="memItemLeft" align="right" valign="top"><a id="a68a58b7e16d34cbfaa47ce028d5beac8"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a68a58b7e16d34cbfaa47ce028d5beac8">dependent_slice_segments_enabled_flag</a>: 1</td></tr>
<tr class="memdesc:a68a58b7e16d34cbfaa47ce028d5beac8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:a68a58b7e16d34cbfaa47ce028d5beac8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd140f22f2e8e44e7481c9b08d887da7"><td class="memItemLeft" align="right" valign="top"><a id="afd140f22f2e8e44e7481c9b08d887da7"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#afd140f22f2e8e44e7481c9b08d887da7">sign_data_hiding_enabled_flag</a>: 1</td></tr>
<tr class="memdesc:afd140f22f2e8e44e7481c9b08d887da7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:afd140f22f2e8e44e7481c9b08d887da7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0976228f39a24b3fab955030b4bd85b"><td class="memItemLeft" align="right" valign="top"><a id="ac0976228f39a24b3fab955030b4bd85b"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#ac0976228f39a24b3fab955030b4bd85b">constrained_intra_pred_flag</a>: 1</td></tr>
<tr class="memdesc:ac0976228f39a24b3fab955030b4bd85b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:ac0976228f39a24b3fab955030b4bd85b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a59ac0034b49c0282c90169ef0564e2"><td class="memItemLeft" align="right" valign="top"><a id="a6a59ac0034b49c0282c90169ef0564e2"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a6a59ac0034b49c0282c90169ef0564e2">transform_skip_enabled_flag</a>: 1</td></tr>
<tr class="memdesc:a6a59ac0034b49c0282c90169ef0564e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:a6a59ac0034b49c0282c90169ef0564e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9250ac074f01a96cd6718193482c9ca"><td class="memItemLeft" align="right" valign="top"><a id="ad9250ac074f01a96cd6718193482c9ca"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#ad9250ac074f01a96cd6718193482c9ca">cu_qp_delta_enabled_flag</a>: 1</td></tr>
<tr class="memdesc:ad9250ac074f01a96cd6718193482c9ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:ad9250ac074f01a96cd6718193482c9ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4f8536220af03abaa65ae782fc01b3a"><td class="memItemLeft" align="right" valign="top"><a id="aa4f8536220af03abaa65ae782fc01b3a"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#aa4f8536220af03abaa65ae782fc01b3a">weighted_pred_flag</a>: 1</td></tr>
<tr class="memdesc:aa4f8536220af03abaa65ae782fc01b3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:aa4f8536220af03abaa65ae782fc01b3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0923657f8a90619de1f3b2f512498c42"><td class="memItemLeft" align="right" valign="top"><a id="a0923657f8a90619de1f3b2f512498c42"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a0923657f8a90619de1f3b2f512498c42">weighted_bipred_flag</a>: 1</td></tr>
<tr class="memdesc:a0923657f8a90619de1f3b2f512498c42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:a0923657f8a90619de1f3b2f512498c42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dccae6bcbc9318466047cf4ec170854"><td class="memItemLeft" align="right" valign="top"><a id="a7dccae6bcbc9318466047cf4ec170854"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a7dccae6bcbc9318466047cf4ec170854">transquant_bypass_enabled_flag</a>: 1</td></tr>
<tr class="memdesc:a7dccae6bcbc9318466047cf4ec170854"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:a7dccae6bcbc9318466047cf4ec170854"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb2c3d53c0435266c6bae473e56d7a6b"><td class="memItemLeft" align="right" valign="top"><a id="aeb2c3d53c0435266c6bae473e56d7a6b"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#aeb2c3d53c0435266c6bae473e56d7a6b">tiles_enabled_flag</a>: 1</td></tr>
<tr class="memdesc:aeb2c3d53c0435266c6bae473e56d7a6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:aeb2c3d53c0435266c6bae473e56d7a6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3e0e3006a2ae3ff917b490c6ab44191"><td class="memItemLeft" align="right" valign="top"><a id="ab3e0e3006a2ae3ff917b490c6ab44191"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#ab3e0e3006a2ae3ff917b490c6ab44191">entropy_coding_sync_enabled_flag</a>: 1</td></tr>
<tr class="memdesc:ab3e0e3006a2ae3ff917b490c6ab44191"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:ab3e0e3006a2ae3ff917b490c6ab44191"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0911b70f0049cbde5e20e6f681033c39"><td class="memItemLeft" align="right" valign="top"><a id="a0911b70f0049cbde5e20e6f681033c39"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a0911b70f0049cbde5e20e6f681033c39">loop_filter_across_tiles_enabled_flag</a>: 1</td></tr>
<tr class="memdesc:a0911b70f0049cbde5e20e6f681033c39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:a0911b70f0049cbde5e20e6f681033c39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af04cc43f9ac40e83ed408f86197bfc44"><td class="memItemLeft" align="right" valign="top"><a id="af04cc43f9ac40e83ed408f86197bfc44"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#af04cc43f9ac40e83ed408f86197bfc44">pps_loop_filter_across_slices_enabled_flag</a>: 1</td></tr>
<tr class="memdesc:af04cc43f9ac40e83ed408f86197bfc44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Corresponds to HEVC syntax element of the same name. <br /></td></tr>
<tr class="separator:af04cc43f9ac40e83ed408f86197bfc44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87241712e9b7350b86f81d9b70a6261a"><td class="memItemLeft" align="right" valign="top"><a id="a87241712e9b7350b86f81d9b70a6261a"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a87241712e9b7350b86f81d9b70a6261a">scaling_list_data_present_flag</a>: 1</td></tr>
<tr class="memdesc:a87241712e9b7350b86f81d9b70a6261a"><td class="mdescLeft">&#160;</td><td class="mdescRight">A combination of HEVC syntax element of sps_scaling_list_data_present_flag and pps_scaling_list_data_present_flag when scaling_list_enable_flag is 0, it must be 0. <br /></td></tr>
<tr class="separator:a87241712e9b7350b86f81d9b70a6261a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63bc143a5df14d26d97a49400361741d"><td class="memItemLeft" align="right" valign="top"><a id="a63bc143a5df14d26d97a49400361741d"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a63bc143a5df14d26d97a49400361741d">screen_content_flag</a>: 1</td></tr>
<tr class="memdesc:a63bc143a5df14d26d97a49400361741d"><td class="mdescLeft">&#160;</td><td class="mdescRight">indicate the current picture contains significant screen contents (text, characters, etc.) or animated image. GPU may want to treat them differently from normal video. For example, encoder may choose a small transform unit size and may use transform skip mode. <br /></td></tr>
<tr class="separator:a63bc143a5df14d26d97a49400361741d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ad6b886fa6192c3be2f2b60774d05d7"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a3ad6b886fa6192c3be2f2b60774d05d7">enable_gpu_weighted_prediction</a>: 1</td></tr>
<tr class="separator:a3ad6b886fa6192c3be2f2b60774d05d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bf7f4f8e521361324385f0825303dd9"><td class="memItemLeft" align="right" valign="top"><a id="a8bf7f4f8e521361324385f0825303dd9"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a8bf7f4f8e521361324385f0825303dd9">no_output_of_prior_pics_flag</a>: 1</td></tr>
<tr class="memdesc:a8bf7f4f8e521361324385f0825303dd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">HEVC syntax element in slice segment header GPU uses it to generate new slice headers in slice size control. <br /></td></tr>
<tr class="separator:a8bf7f4f8e521361324385f0825303dd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b4e314ef4e0b76850d70df389591f9b"><td class="memItemLeft" align="right" valign="top"><a id="a3b4e314ef4e0b76850d70df389591f9b"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a3b4e314ef4e0b76850d70df389591f9b">pps_curr_pic_ref_enabled_flag</a>: 1</td></tr>
<tr class="memdesc:a3b4e314ef4e0b76850d70df389591f9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as the HEVC bitstream syntax element. <br /></td></tr>
<tr class="separator:a3b4e314ef4e0b76850d70df389591f9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7342235ffd38a8b034317a3fc15ecd9"><td class="memItemLeft" align="right" valign="top"><a id="af7342235ffd38a8b034317a3fc15ecd9"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncPictureParameterBufferHEVC.html#af7342235ffd38a8b034317a3fc15ecd9">reserved</a>: 15</td></tr>
<tr class="memdesc:af7342235ffd38a8b034317a3fc15ecd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserved bits for future use, must be zero. <br /></td></tr>
<tr class="separator:af7342235ffd38a8b034317a3fc15ecd9"><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>Picture parameter for HEVC encoding in main &amp; main 10 profiles. </p>
<p>This structure holds information for <code>pic_parameter_set_rbsp()</code> as defined by the HEVC specification.</p>
<p>If packed picture headers mode is used, i.e. if the encoding pipeline was configured with the <a class="el" href="group__api__core.html#ga18287dfd8ea1b622cbb461e9232ec01b" title="Driver supports packed picture headers. e.g. PPS for H.264. ">VA_ENC_PACKED_HEADER_PICTURE</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::VAEncPackedHeaderPicture ;</li>
<li>a #VAEncPackedHeaderDataBuffer which holds the actual packed header data.</li>
</ul>
<p>If <code>pic_scaling_matrix_present_flag</code> is set to <code>1</code>, then a <a class="el" href="structVAQMatrixBufferHEVC.html" title="HEVC Quantization Matrix Buffer Structure. ">VAQMatrixBufferHEVC</a> buffer shall also be provided within the same <code><a class="el" href="group__api__core.html#ga3facc622a14fc901d5d44dcda845cb6f">vaRenderPicture()</a></code> call as this picture parameter buffer. </p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="a15c5a96f28d691a30bd70e26d7980682"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15c5a96f28d691a30bd70e26d7980682">&#9670;&nbsp;</a></span>coded_buf</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__api__core.html#gad26441ddf2f4441ef65bbefa4662607f">VABufferID</a> VAEncPictureParameterBufferHEVC::coded_buf</td>
</tr>
</table>
</div><div class="memdoc">
<p>Output encoded bitstream. </p>
<p><a class="el" href="structVAEncPictureParameterBufferHEVC.html#a15c5a96f28d691a30bd70e26d7980682">coded_buf</a> has type #VAEncCodedBufferType. It should be large enough to hold the compressed NAL slice and possibly VPS, SPS and PPS NAL units, and other NAL units such as SEI. </p>
</div>
</div>
<a id="a9533605fb07ec67eb3207486d27c8362"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9533605fb07ec67eb3207486d27c8362">&#9670;&nbsp;</a></span>decoded_curr_pic</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structVAPictureHEVC.html">VAPictureHEVC</a> VAEncPictureParameterBufferHEVC::decoded_curr_pic</td>
</tr>
</table>
</div><div class="memdoc">
<p>Information about the picture to be encoded. </p>
<p>See <a class="el" href="structVAPictureHEVC.html" title="Description of picture properties of those in DPB surfaces. ">VAPictureHEVC</a> for further description of each field. Note that decoded_curr_pic.picture_id represents the reconstructed (decoded) picture. User provides a scratch VA surface ID here. Long term reference and RPS related fields should be set to 0 and ignored. </p>
</div>
</div>
<a id="a3ad6b886fa6192c3be2f2b60774d05d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ad6b886fa6192c3be2f2b60774d05d7">&#9670;&nbsp;</a></span>enable_gpu_weighted_prediction</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncPictureParameterBufferHEVC::enable_gpu_weighted_prediction</td>
</tr>
</table>
</div><div class="memdoc">
<p>When either weighted_pred_flag or weighted_bipred_flag is turned on, the flag enable_gpu_weighted_prediction requests GPU to determine weighted prediction factors. In this case, the following parameters in slice control data structure shall be ignored: luma_log2_weight_denom, delta_chroma_log2_weight_denom, luma_offset_l0[15], luma_offset_l1[15], delta_luma_weight_l0[15], delta_luma_weight_l1[15], chroma_offset_l0[15][2], chroma_offset_l1[15][2], and delta_chroma_weight_l0[15][2], delta_chroma_weight_l1[15][2]. </p>
</div>
</div>
<a id="a4aedb7d0bc48ee890c33cd2a6eea0c3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4aedb7d0bc48ee890c33cd2a6eea0c3e">&#9670;&nbsp;</a></span>last_picture</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t VAEncPictureParameterBufferHEVC::last_picture</td>
</tr>
</table>
</div><div class="memdoc">
<p>OR'd flags describing whether the picture is the last one or not. </p>
<p>This fields holds 0 if the picture to be encoded is not the last one in the stream or sequence. Otherwise, it is a combination of <a class="el" href="group__api__enc__hevc.html#gaade88d61138c828ffecc07074abab0c9">HEVC_LAST_PICTURE_EOSEQ</a> or <a class="el" href="group__api__enc__hevc.html#ga46667f93d28ca50593a3a9defa0d6f5f">HEVC_LAST_PICTURE_EOSTREAM</a>. </p>
</div>
</div>
<a id="a27cfbeaf1b462418b9fcc3ed3d8291a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27cfbeaf1b462418b9fcc3ed3d8291a8">&#9670;&nbsp;</a></span>reference_frames</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structVAPictureHEVC.html">VAPictureHEVC</a> VAEncPictureParameterBufferHEVC::reference_frames[15]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Decoded Picture Buffer (DPB). </p>
<p>This array represents the list of reconstructed (decoded) frames used as reference. It is important to keep track of reconstructed frames so that they can be used later on as reference for P or B-frames encoding. </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="va__enc__hevc_8h_source.html">va_enc_hevc.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>