blob: 71ae8f074b71a2f1f5b4e705f028dfef81f7d6f1 [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: HEVC FEI encoding API</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>
</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">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">HEVC FEI encoding API</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterFEIFrameControlHEVC.html">VAEncMiscParameterFEIFrameControlHEVC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">FEI frame level control buffer for HEVC. <a href="structVAEncMiscParameterFEIFrameControlHEVC.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncFEIMVPredictorHEVC.html">VAEncFEIMVPredictorHEVC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">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><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncFEICTBControlHEVC.html">VAEncFEICTBControlHEVC</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">FEI CTB level control data structure. <a href="structVAEncFEICTBControlHEVC.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncFEIDistortionHevc.html">VAEncFEIDistortionHevc</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structVAEncFEIDistortionHevc.html" title="VAEncFEIDistortionHevc defines the data structure for VAEncFEIDistortionBufferType per CTB block...">VAEncFEIDistortionHevc</a> defines the data structure for VAEncFEIDistortionBufferType per CTB block. It is output buffer of ENC and ENC_PAK modes, The CTB block is in raster scan order. Buffer size shall not be less than the number of CTB blocks multiple by sizeof(VAEncFEIDistortionHevc). <a href="structVAEncFEIDistortionHevc.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga3338c4283d67dadf8ea22628f9fde47a"><td class="memItemLeft" align="right" valign="top"><a id="ga3338c4283d67dadf8ea22628f9fde47a"></a>
<a class="el" href="group__api__core.html#gad26441ddf2f4441ef65bbefa4662607f">VABufferID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga3338c4283d67dadf8ea22628f9fde47a">VAEncMiscParameterFEIFrameControlHEVC::ctb_ctrl</a></td></tr>
<tr class="memdesc:ga3338c4283d67dadf8ea22628f9fde47a"><td class="mdescLeft">&#160;</td><td class="mdescRight">CTB control input buffer. It is valid only when per_ctb_input is set to 1. The data in this buffer correspond to the input source. CTB is in raster scan order, each CTB control data structure is defined by <a class="el" href="structVAEncFEICTBControlHEVC.html" title="FEI CTB level control data structure. ">VAEncFEICTBControlHEVC</a>. Buffer size shall not be less than the number of CTBs multiplied by sizeof(VAEncFEICTBControlHEVC). <br /></td></tr>
<tr class="separator:ga3338c4283d67dadf8ea22628f9fde47a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaace111902cfa4c99c5100b804bcd0a2"><td class="memItemLeft" align="right" valign="top"><a id="gaaace111902cfa4c99c5100b804bcd0a2"></a>
<a class="el" href="group__api__core.html#gad26441ddf2f4441ef65bbefa4662607f">VABufferID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#gaaace111902cfa4c99c5100b804bcd0a2">VAEncMiscParameterFEIFrameControlHEVC::ctb_cmd</a></td></tr>
<tr class="memdesc:gaaace111902cfa4c99c5100b804bcd0a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">CTB cmd per CTB data output of ENC it is reserved for CTB level information it should include CU split information and other CTB datas . Each CTB block has one CTB cmd data. <br /></td></tr>
<tr class="separator:gaaace111902cfa4c99c5100b804bcd0a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaed4de29430a61e98e65f2e24b78fe299"><td class="memItemLeft" align="right" valign="top"><a id="gaed4de29430a61e98e65f2e24b78fe299"></a>
<a class="el" href="group__api__core.html#gad26441ddf2f4441ef65bbefa4662607f">VABufferID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#gaed4de29430a61e98e65f2e24b78fe299">VAEncMiscParameterFEIFrameControlHEVC::cu_record</a></td></tr>
<tr class="memdesc:gaed4de29430a61e98e65f2e24b78fe299"><td class="mdescLeft">&#160;</td><td class="mdescRight">CU record data output of ENC it is reserved for CU level information it should include CU detail data. include mode,MV, reference etc. Each CTB block has one CU record data. <br /></td></tr>
<tr class="separator:gaed4de29430a61e98e65f2e24b78fe299"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadfedef2f0f33ec4cb605a5abffaf2a5e"><td class="memItemLeft" align="right" valign="top"><a id="gadfedef2f0f33ec4cb605a5abffaf2a5e"></a>
<a class="el" href="group__api__core.html#gad26441ddf2f4441ef65bbefa4662607f">VABufferID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#gadfedef2f0f33ec4cb605a5abffaf2a5e">VAEncMiscParameterFEIFrameControlHEVC::distortion</a></td></tr>
<tr class="memdesc:gadfedef2f0f33ec4cb605a5abffaf2a5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">distortion output of ENC or ENC_PAK. Each CTB has one distortion data with <a class="el" href="structVAEncFEIDistortionHevc.html" title="VAEncFEIDistortionHevc defines the data structure for VAEncFEIDistortionBufferType per CTB block...">VAEncFEIDistortionHevc</a> Buffer size shall not be less than the number of CTBs multiplied by sizeof(VAEncFEIDistortionHevc). <br /></td></tr>
<tr class="separator:gadfedef2f0f33ec4cb605a5abffaf2a5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga50bafa5deffb5d25c6d12356d0acd883"><td class="memItemLeft" align="right" valign="top"><a id="ga50bafa5deffb5d25c6d12356d0acd883"></a>
<a class="el" href="group__api__core.html#gad26441ddf2f4441ef65bbefa4662607f">VABufferID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga50bafa5deffb5d25c6d12356d0acd883">VAEncMiscParameterFEIFrameControlHEVC::qp</a></td></tr>
<tr class="memdesc:ga50bafa5deffb5d25c6d12356d0acd883"><td class="mdescLeft">&#160;</td><td class="mdescRight">Qp input buffer. It is valid only when per_block_qp is set to 1. The data in this buffer correspond to the input source. One Qp per block block is in raster scan order, each Qp is a signed char (8-bit) value. <br /></td></tr>
<tr class="separator:ga50bafa5deffb5d25c6d12356d0acd883"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga22a28a6e1c3bdc3a326cb9dbb44794ef"><td class="memItemLeft" align="right" valign="top"><a id="ga22a28a6e1c3bdc3a326cb9dbb44794ef"></a>
<a class="el" href="group__api__core.html#gad26441ddf2f4441ef65bbefa4662607f">VABufferID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga22a28a6e1c3bdc3a326cb9dbb44794ef">VAEncMiscParameterFEIFrameControlHEVC::mv_predictor</a></td></tr>
<tr class="memdesc:ga22a28a6e1c3bdc3a326cb9dbb44794ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">MV predictor. It is valid only when mv_predictor_input is set to non-zero. Each CTB block has one or more pair of motion vectors and the corresponding reference indexes as defined by <a class="el" href="structVAEncFEIMVPredictorHEVC.html" title="Application can use this definition as reference to allocate the buffer based on MaxNumPredictor retu...">VAEncFEIMVPredictorHEVC</a>. 32x32 block is in raster scan order. Buffer size shall not be less than the number of 16x16 blocks multiplied by sizeof(VAEncFEIMVPredictorHEVC). <br /></td></tr>
<tr class="separator:ga22a28a6e1c3bdc3a326cb9dbb44794ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa612d7b8e1a4736594917fe5aa5772e9"><td class="memItemLeft" align="right" valign="top"><a id="gaa612d7b8e1a4736594917fe5aa5772e9"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#gaa612d7b8e1a4736594917fe5aa5772e9">VAEncMiscParameterFEIFrameControlHEVC::num_mv_predictors_l0</a>: 16</td></tr>
<tr class="memdesc:gaa612d7b8e1a4736594917fe5aa5772e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of MV predictors L0 and L1. the maximum number of motion vector predictor for a 16x16, 32x32 or 64x64 block is four, it must not be greater than maximum supported MV predictor, <br /></td></tr>
<tr class="separator:gaa612d7b8e1a4736594917fe5aa5772e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6ff0a56a30f796743f4236904a3d2a59"><td class="memItemLeft" align="right" valign="top"><a id="ga6ff0a56a30f796743f4236904a3d2a59"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga6ff0a56a30f796743f4236904a3d2a59">VAEncMiscParameterFEIFrameControlHEVC::search_path</a>: 8</td></tr>
<tr class="memdesc:ga6ff0a56a30f796743f4236904a3d2a59"><td class="mdescLeft">&#160;</td><td class="mdescRight">control parameters <br /></td></tr>
<tr class="separator:ga6ff0a56a30f796743f4236904a3d2a59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3b52e7866d1e82a3a29caf27562aac3d"><td class="memItemLeft" align="right" valign="top"><a id="ga3b52e7866d1e82a3a29caf27562aac3d"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga3b52e7866d1e82a3a29caf27562aac3d">VAEncMiscParameterFEIFrameControlHEVC::multi_pred_l0</a>: 4</td></tr>
<tr class="memdesc:ga3b52e7866d1e82a3a29caf27562aac3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">multi pred l0/1 0000: no internal MV predictor will be used 0001: spatial MV predictors 0100/1000: Reserved <br /></td></tr>
<tr class="separator:ga3b52e7866d1e82a3a29caf27562aac3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaecd7869174bb8c9606b1a3f7576bc6ab"><td class="memItemLeft" align="right" valign="top"><a id="gaecd7869174bb8c9606b1a3f7576bc6ab"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#gaecd7869174bb8c9606b1a3f7576bc6ab">VAEncMiscParameterFEIFrameControlHEVC::sub_pel_mode</a>: 2</td></tr>
<tr class="memdesc:gaecd7869174bb8c9606b1a3f7576bc6ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">defines the motion vector precision, like integer/half/quarter pel. 00b: integer pel 01b: half-pel 10b: reserved 11b: quarter-pel <br /></td></tr>
<tr class="separator:gaecd7869174bb8c9606b1a3f7576bc6ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga82376da7adc974f7bd75a7fdd5a3d8cb"><td class="memItemLeft" align="right" valign="top"><a id="ga82376da7adc974f7bd75a7fdd5a3d8cb"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga82376da7adc974f7bd75a7fdd5a3d8cb">VAEncMiscParameterFEIFrameControlHEVC::mv_predictor_input</a>: 3</td></tr>
<tr class="memdesc:ga82376da7adc974f7bd75a7fdd5a3d8cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">mv_predictor_input 000: MV predictor disabled 001: MV predictor enabled per 16x16 block 010: MV predictor enabled per 32x32 block 011: MV predictor enabled per 64x64 block 111: MV predictor enabled, block size can vary and is determined by BlockSize in motion vector predictor buffer 100/101/110: Reserved <br /></td></tr>
<tr class="separator:ga82376da7adc974f7bd75a7fdd5a3d8cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b34dde262f619b50dc9a258814d3dae"><td class="memItemLeft" align="right" valign="top"><a id="ga6b34dde262f619b50dc9a258814d3dae"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga6b34dde262f619b50dc9a258814d3dae">VAEncMiscParameterFEIFrameControlHEVC::per_block_qp</a>: 1</td></tr>
<tr class="memdesc:ga6b34dde262f619b50dc9a258814d3dae"><td class="mdescLeft">&#160;</td><td class="mdescRight">enables per CTB or CU qp <br /></td></tr>
<tr class="separator:ga6b34dde262f619b50dc9a258814d3dae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2d1cfa80aff1c1702c41666a211fe959"><td class="memItemLeft" align="right" valign="top"><a id="ga2d1cfa80aff1c1702c41666a211fe959"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga2d1cfa80aff1c1702c41666a211fe959">VAEncMiscParameterFEIFrameControlHEVC::per_ctb_input</a>: 1</td></tr>
<tr class="memdesc:ga2d1cfa80aff1c1702c41666a211fe959"><td class="mdescLeft">&#160;</td><td class="mdescRight">enables the per CTB input , if 1, need ctb_ctrl to be a real surface ID <br /></td></tr>
<tr class="separator:ga2d1cfa80aff1c1702c41666a211fe959"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9c5083e6c5fedf5781ea20e8863862ed"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga9c5083e6c5fedf5781ea20e8863862ed">VAEncMiscParameterFEIFrameControlHEVC::colocated_ctb_distortion</a>: 1</td></tr>
<tr class="separator:ga9c5083e6c5fedf5781ea20e8863862ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga069f582c490c0dae253c4439b8658fa7"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga069f582c490c0dae253c4439b8658fa7">VAEncMiscParameterFEIFrameControlHEVC::force_lcu_split</a>: 1</td></tr>
<tr class="separator:ga069f582c490c0dae253c4439b8658fa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b3a917952f2bee4cc426857e7153bf6"><td class="memItemLeft" align="right" valign="top"><a id="ga5b3a917952f2bee4cc426857e7153bf6"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga5b3a917952f2bee4cc426857e7153bf6">VAEncMiscParameterFEIFrameControlHEVC::enable_cu64_check</a>: 1</td></tr>
<tr class="memdesc:ga5b3a917952f2bee4cc426857e7153bf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">enables CU64x64 check <br /></td></tr>
<tr class="separator:ga5b3a917952f2bee4cc426857e7153bf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1314c265350b82931eed4928a4ba9b48"><td class="memItemLeft" align="right" valign="top"><a id="ga1314c265350b82931eed4928a4ba9b48"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga1314c265350b82931eed4928a4ba9b48">VAEncMiscParameterFEIFrameControlHEVC::enable_cu64_amp_check</a>: 1</td></tr>
<tr class="memdesc:ga1314c265350b82931eed4928a4ba9b48"><td class="mdescLeft">&#160;</td><td class="mdescRight">enables CU64x64 asymmetric motion partition check <br /></td></tr>
<tr class="separator:ga1314c265350b82931eed4928a4ba9b48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa048e36f3d8ca16cf5b08c7d0a340036"><td class="memItemLeft" align="right" valign="top"><a id="gaa048e36f3d8ca16cf5b08c7d0a340036"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#gaa048e36f3d8ca16cf5b08c7d0a340036">VAEncMiscParameterFEIFrameControlHEVC::cu64_skip_check_only</a>: 1</td></tr>
<tr class="memdesc:gaa048e36f3d8ca16cf5b08c7d0a340036"><td class="mdescLeft">&#160;</td><td class="mdescRight">specifies if check the 64x64 merge candidate 0: after skip check, 1: only skip check for 64x64 Default: 0. This field is used by LCU64 bi-directional. <br /></td></tr>
<tr class="separator:gaa048e36f3d8ca16cf5b08c7d0a340036"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0a4b44706c7130f1ff70b7d022959046"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga0a4b44706c7130f1ff70b7d022959046">VAEncMiscParameterFEIFrameControlHEVC::ref_width</a>: 8</td></tr>
<tr class="separator:ga0a4b44706c7130f1ff70b7d022959046"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4ea42d40b0ae37f47c684b3e6eb75cfa"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga4ea42d40b0ae37f47c684b3e6eb75cfa">VAEncMiscParameterFEIFrameControlHEVC::ref_height</a>: 8</td></tr>
<tr class="separator:ga4ea42d40b0ae37f47c684b3e6eb75cfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b7da214a22cbf4f6898231c5355f8f5"><td class="memItemLeft" align="right" valign="top"><a id="ga2b7da214a22cbf4f6898231c5355f8f5"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga2b7da214a22cbf4f6898231c5355f8f5">VAEncMiscParameterFEIFrameControlHEVC::search_window</a>: 8</td></tr>
<tr class="memdesc:ga2b7da214a22cbf4f6898231c5355f8f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">search window similar for AVC defines predefined search windows. If it is selected, RefWidth, RefHeight, LenSP and SearchPath are ignored. 0 : not use predefined search window 1 : Tiny – (4 SUs) 24x24 window diamond search 2 : Small – (9 SUs) 28x28 window diamond search 3 : Diamond – (16 SUs) 48x40 window diamond search 4 : Large Diamond – (32 SUs) 48x40 window diamond search 5 : Exhaustive – 48x40 window full search 6 : (64 SUs) 64x64 window full search Note: option 1, 2, 3 and 4 are valid only when CAP parameter SearchWindow64Support is 0. And option 6 is valid only when SearchWindow64Support is 1. <br /></td></tr>
<tr class="separator:ga2b7da214a22cbf4f6898231c5355f8f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4df08bfa89e7caf198d8eceacb01b9b6"><td class="memItemLeft" align="right" valign="top"><a id="ga4df08bfa89e7caf198d8eceacb01b9b6"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga4df08bfa89e7caf198d8eceacb01b9b6">VAEncMiscParameterFEIFrameControlHEVC::max_num_ime_search_center</a>: 3</td></tr>
<tr class="memdesc:ga4df08bfa89e7caf198d8eceacb01b9b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of internal MV predictors for IME searches <br /></td></tr>
<tr class="separator:ga4df08bfa89e7caf198d8eceacb01b9b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f8df71fb7e07b56105215897ddfdb08"><td class="memItemLeft" align="right" valign="top"><a id="ga5f8df71fb7e07b56105215897ddfdb08"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga5f8df71fb7e07b56105215897ddfdb08">VAEncMiscParameterFEIFrameControlHEVC::fast_intra_mode</a>: 1</td></tr>
<tr class="memdesc:ga5f8df71fb7e07b56105215897ddfdb08"><td class="mdescLeft">&#160;</td><td class="mdescRight">fast intra prediction enabling bit. It is used as a trade-off between speed and quality. The flag will be ignored if it's unsupported in the driver <br /></td></tr>
<tr class="separator:ga5f8df71fb7e07b56105215897ddfdb08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga039395d7dee2d05b175203438b3a367b"><td class="memItemLeft" align="right" valign="top"><a id="ga039395d7dee2d05b175203438b3a367b"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga039395d7dee2d05b175203438b3a367b">VAEncMiscParameterFEIFrameControlHEVC::num_concurrent_enc_frame_partition</a>: 8</td></tr>
<tr class="memdesc:ga039395d7dee2d05b175203438b3a367b"><td class="mdescLeft">&#160;</td><td class="mdescRight">specifies number of splits that encoder could be run concurrently 1: level 1, default value 2: level 2 4: level 3 <br /></td></tr>
<tr class="separator:ga039395d7dee2d05b175203438b3a367b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0eaf3a7308c957d8478edf150b42b284"><td class="memItemLeft" align="right" valign="top"><a id="ga0eaf3a7308c957d8478edf150b42b284"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga0eaf3a7308c957d8478edf150b42b284">VAEncMiscParameterFEIFrameControlHEVC::max_frame_size</a></td></tr>
<tr class="memdesc:ga0eaf3a7308c957d8478edf150b42b284"><td class="mdescLeft">&#160;</td><td class="mdescRight">max frame size control with multi passes QP setting <br /></td></tr>
<tr class="separator:ga0eaf3a7308c957d8478edf150b42b284"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7808b20bc41af4264c88d93b3a9e4de5"><td class="memItemLeft" align="right" valign="top"><a id="ga7808b20bc41af4264c88d93b3a9e4de5"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga7808b20bc41af4264c88d93b3a9e4de5">VAEncMiscParameterFEIFrameControlHEVC::num_passes</a></td></tr>
<tr class="memdesc:ga7808b20bc41af4264c88d93b3a9e4de5"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of passes, every pass has different QP <br /></td></tr>
<tr class="separator:ga7808b20bc41af4264c88d93b3a9e4de5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga019cedba2d4f25939801ef211af86657"><td class="memItemLeft" align="right" valign="top"><a id="ga019cedba2d4f25939801ef211af86657"></a>
uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga019cedba2d4f25939801ef211af86657">VAEncMiscParameterFEIFrameControlHEVC::delta_qp</a></td></tr>
<tr class="memdesc:ga019cedba2d4f25939801ef211af86657"><td class="mdescLeft">&#160;</td><td class="mdescRight">delta QP list for every pass <br /></td></tr>
<tr class="separator:ga019cedba2d4f25939801ef211af86657"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa636ac3ba975691ffdb501d8d7e790d0"><td class="memItemLeft" ><a id="gaa636ac3ba975691ffdb501d8d7e790d0"></a>
struct {</td></tr>
<tr class="memitem:gaa636ac3ba975691ffdb501d8d7e790d0"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#gaa636ac3ba975691ffdb501d8d7e790d0">VAEncFEIMVPredictorHEVC::ref_idx</a> [4]</td></tr>
<tr class="memdesc:gaa636ac3ba975691ffdb501d8d7e790d0"><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:gaa636ac3ba975691ffdb501d8d7e790d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5cb4c16a0c4817913d495e0f004884c8"><td class="memItemLeft" align="right" valign="top"><a id="ga5cb4c16a0c4817913d495e0f004884c8"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga5cb4c16a0c4817913d495e0f004884c8">VAEncFEIMVPredictorHEVC::block_size</a>: 2</td></tr>
<tr class="memdesc:ga5cb4c16a0c4817913d495e0f004884c8"><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:ga5cb4c16a0c4817913d495e0f004884c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e1d740ebf4925e53a3c2fe189bae2f8"><td class="memItemLeft" align="right" valign="top"><a id="ga7e1d740ebf4925e53a3c2fe189bae2f8"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga7e1d740ebf4925e53a3c2fe189bae2f8">VAEncFEICTBControlHEVC::force_to_zero_coeff</a>: 1</td></tr>
<tr class="memdesc:ga7e1d740ebf4925e53a3c2fe189bae2f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">force all coeff to zero <br /></td></tr>
<tr class="separator:ga7e1d740ebf4925e53a3c2fe189bae2f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9d70b02e75d05f00b0732a4514276ee5"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga9d70b02e75d05f00b0732a4514276ee5">VAEncFEIDistortionHevc::best_distortion</a></td></tr>
<tr class="separator:ga9d70b02e75d05f00b0732a4514276ee5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8ca5468b8121c5bf5da327283949aabd"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei__hevc.html#ga8ca5468b8121c5bf5da327283949aabd">VAEncFEIDistortionHevc::colocated_ctb_distortion</a></td></tr>
<tr class="separator:ga8ca5468b8121c5bf5da327283949aabd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Variable Documentation</h2>
<a id="ga9d70b02e75d05f00b0732a4514276ee5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9d70b02e75d05f00b0732a4514276ee5">&#9670;&nbsp;</a></span>best_distortion</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncFEIDistortionHevc::best_distortion</td>
</tr>
</table>
</div><div class="memdoc">
<p>best CTB distortion </p>
</div>
</div>
<a id="ga9c5083e6c5fedf5781ea20e8863862ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9c5083e6c5fedf5781ea20e8863862ed">&#9670;&nbsp;</a></span>colocated_ctb_distortion <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncMiscParameterFEIFrameControlHEVC::colocated_ctb_distortion</td>
</tr>
</table>
</div><div class="memdoc">
<p>when this flag is set, extra distortion between current CTB and co-located CTB is provided. Extra distortion output has performance impact, set it only when it is needed </p>
</div>
</div>
<a id="ga8ca5468b8121c5bf5da327283949aabd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8ca5468b8121c5bf5da327283949aabd">&#9670;&nbsp;</a></span>colocated_ctb_distortion <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncFEIDistortionHevc::colocated_ctb_distortion</td>
</tr>
</table>
</div><div class="memdoc">
<p>only when colocated_ctb_distortion in <a class="el" href="structVAEncMiscParameterFEIFrameControlHEVC.html" title="FEI frame level control buffer for HEVC. ">VAEncMiscParameterFEIFrameControlHEVC</a> is set </p>
</div>
</div>
<a id="ga069f582c490c0dae253c4439b8658fa7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga069f582c490c0dae253c4439b8658fa7">&#9670;&nbsp;</a></span>force_lcu_split</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncMiscParameterFEIFrameControlHEVC::force_lcu_split</td>
</tr>
</table>
</div><div class="memdoc">
<p>brief specifies whether this CTB should be forced to split to remove Inter big LCU: do not check Inter 32x32 PUs. Every 32x32 LCU is split at least once. It can be used to improved performance. 0: ENC determined block type 1: Force to split </p>
</div>
</div>
<a id="ga4ea42d40b0ae37f47c684b3e6eb75cfa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4ea42d40b0ae37f47c684b3e6eb75cfa">&#9670;&nbsp;</a></span>ref_height</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncMiscParameterFEIFrameControlHEVC::ref_height</td>
</tr>
</table>
</div><div class="memdoc">
<p>specifies the reference region height in pixels. When bidirectional search is enabled, this applies to both search regions. </p>
</div>
</div>
<a id="ga0a4b44706c7130f1ff70b7d022959046"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0a4b44706c7130f1ff70b7d022959046">&#9670;&nbsp;</a></span>ref_width</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncMiscParameterFEIFrameControlHEVC::ref_width</td>
</tr>
</table>
</div><div class="memdoc">
<p>specifies the search region width in pixels. When bidirectional search is enabled, this applies to both search regions </p>
</div>
</div>
</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>