blob: 15e5609b2c8ecb7c73edc6360f4a03701d74a743 [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: VAEncFEIMVPredictorHEVC 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="structVAEncFEIMVPredictorHEVC-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">VAEncFEIMVPredictorHEVC Struct Reference<div class="ingroups"><a class="el" href="group__api__fei__hevc.html">HEVC FEI encoding API</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>Application can use this definition as reference to allocate the buffer based on MaxNumPredictor returned from attribute VAConfigAttribFEIMVPredictors query. this buffer allocation is always based on 16x16 block even block size is indicated as 32x32 or 64x64, and buffer layout is always in 32x32 block raster scan order even block size is 16x16 or 64x64. If 32x32 block size is set, only the data in the first 16x16 block (block 0) is used for 32x32 block. If 64x64 block size is set MV layout is still in 32x32 raster scan order, the same as 32x32 and the first 16x16 block within each 32x32 block needs to have intended MV data (four 32x32 blocks will have the same MV data in the correspondent first 16x16 block). Data structure for each 16x16 block is defined as below (same as AVC except BlockSize/Reserved bits).
<a href="structVAEncFEIMVPredictorHEVC.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="va__fei__hevc_8h_source.html">va_fei_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:a9ce1e9127e355227328d15647861623c"><td class="memItemLeft" ><a id="a9ce1e9127e355227328d15647861623c"></a>
struct {</td></tr>
<tr class="memitem:a9ce1e9127e355227328d15647861623c"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncFEIMVPredictorHEVC.html#a9ce1e9127e355227328d15647861623c">ref_idx</a> [4]</td></tr>
<tr class="memdesc:a9ce1e9127e355227328d15647861623c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Feference index corresponding to the entry of RefPicList0 &amp; RefPicList1 in slice header (final reference list). Note that RefPicList0 &amp; RefPicList1 needs to be the same for all slices. Ref0xIndex – RefPicList0; Ref1xIndex – RefPicList1; x – 0 ~ MaxNumPredictor. <br /></td></tr>
<tr class="separator:a9ce1e9127e355227328d15647861623c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cb4c16a0c4817913d495e0f004884c8"><td class="memItemLeft" align="right" valign="top"><a id="a5cb4c16a0c4817913d495e0f004884c8"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncFEIMVPredictorHEVC.html#a5cb4c16a0c4817913d495e0f004884c8">block_size</a>: 2</td></tr>
<tr class="memdesc:a5cb4c16a0c4817913d495e0f004884c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Valid only when MVPredictor is set to 011 for HEVC. Only valid in the first 16x16 block. 00: MV predictor disabled for this 32x32 block 01: MV predictor enabled per 16x16 block for this 32x32 block 10: MV predictor enabled per 32x32 block, the rest of 16x16 block data within this 32x32 block are ignored 11: Reserved. <br /></td></tr>
<tr class="separator:a5cb4c16a0c4817913d495e0f004884c8"><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>Application can use this definition as reference to allocate the buffer based on MaxNumPredictor returned from attribute VAConfigAttribFEIMVPredictors query. this buffer allocation is always based on 16x16 block even block size is indicated as 32x32 or 64x64, and buffer layout is always in 32x32 block raster scan order even block size is 16x16 or 64x64. If 32x32 block size is set, only the data in the first 16x16 block (block 0) is used for 32x32 block. If 64x64 block size is set MV layout is still in 32x32 raster scan order, the same as 32x32 and the first 16x16 block within each 32x32 block needs to have intended MV data (four 32x32 blocks will have the same MV data in the correspondent first 16x16 block). Data structure for each 16x16 block is defined as below (same as AVC except BlockSize/Reserved bits). </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="va__fei__hevc_8h_source.html">va_fei_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>