blob: cbc6f92da768ebe5a6e57e23fbde9790083336f3 [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: VAEncMiscParameterEncQuality 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="structVAEncMiscParameterEncQuality-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">VAEncMiscParameterEncQuality Struct Reference<div class="ingroups"><a class="el" href="group__api__core.html">Core API</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="va_8h_source.html">va.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:abb1a2abccb482cbd98bcd77a93963cbc"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterEncQuality.html#abb1a2abccb482cbd98bcd77a93963cbc">FTQSkipThresholdLUT</a> [52]</td></tr>
<tr class="separator:abb1a2abccb482cbd98bcd77a93963cbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e7f76f71712fe3a94d17b7aa821eb51"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterEncQuality.html#a6e7f76f71712fe3a94d17b7aa821eb51">NonFTQSkipThresholdLUT</a> [52]</td></tr>
<tr class="separator:a6e7f76f71712fe3a94d17b7aa821eb51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdd6b6cbad3747580946aab88e820d29"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterEncQuality.html#abdd6b6cbad3747580946aab88e820d29">useRawPicForRef</a>: 1</td></tr>
<tr class="separator:abdd6b6cbad3747580946aab88e820d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae172fafb096eb5b4259cf4fc5056a7e7"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterEncQuality.html#ae172fafb096eb5b4259cf4fc5056a7e7">skipCheckDisable</a>: 1</td></tr>
<tr class="separator:ae172fafb096eb5b4259cf4fc5056a7e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e8451549d5d70a005ee5b1c84336920"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterEncQuality.html#a7e8451549d5d70a005ee5b1c84336920">FTQOverride</a>: 1</td></tr>
<tr class="separator:a7e8451549d5d70a005ee5b1c84336920"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac75e07fb347689eaf2b4139e92d6e44b"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterEncQuality.html#ac75e07fb347689eaf2b4139e92d6e44b">FTQEnable</a>: 1</td></tr>
<tr class="separator:ac75e07fb347689eaf2b4139e92d6e44b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a34585ef95019f49059e86cdd5ffef3"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterEncQuality.html#a6a34585ef95019f49059e86cdd5ffef3">FTQSkipThresholdLUTInput</a>: 1</td></tr>
<tr class="separator:a6a34585ef95019f49059e86cdd5ffef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2d48840f87e7aba79feb0d06a724495"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterEncQuality.html#ab2d48840f87e7aba79feb0d06a724495">NonFTQSkipThresholdLUTInput</a>: 1</td></tr>
<tr class="separator:ab2d48840f87e7aba79feb0d06a724495"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9c52e9a562fd471ba4d3c2ee58bd531"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterEncQuality.html#aa9c52e9a562fd471ba4d3c2ee58bd531">directBiasAdjustmentEnable</a>: 1</td></tr>
<tr class="separator:aa9c52e9a562fd471ba4d3c2ee58bd531"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa0e987f5c0ae1bb9837d6cbce9424f0"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterEncQuality.html#afa0e987f5c0ae1bb9837d6cbce9424f0">globalMotionBiasAdjustmentEnable</a>: 1</td></tr>
<tr class="separator:afa0e987f5c0ae1bb9837d6cbce9424f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f286bf2f535b730b20230fb8e9a24d3"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterEncQuality.html#a6f286bf2f535b730b20230fb8e9a24d3">HMEMVCostScalingFactor</a>: 2</td></tr>
<tr class="separator:a6f286bf2f535b730b20230fb8e9a24d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a589437585d2d9de89a04a3914782a468"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterEncQuality.html#a589437585d2d9de89a04a3914782a468">HMEDisable</a>: 1</td></tr>
<tr class="separator:a589437585d2d9de89a04a3914782a468"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fd5ab69836f02a58f5b192e9ecc75d5"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterEncQuality.html#a6fd5ab69836f02a58f5b192e9ecc75d5">SuperHMEDisable</a>: 1</td></tr>
<tr class="separator:a6fd5ab69836f02a58f5b192e9ecc75d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ca4580689fb283e9f1192741e79d5de"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterEncQuality.html#a2ca4580689fb283e9f1192741e79d5de">UltraHMEDisable</a>: 1</td></tr>
<tr class="separator:a2ca4580689fb283e9f1192741e79d5de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b3b73b2fafa84ec89793016a13e5457"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterEncQuality.html#a0b3b73b2fafa84ec89793016a13e5457">PanicModeDisable</a>: 1</td></tr>
<tr class="separator:a0b3b73b2fafa84ec89793016a13e5457"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a822c2cadbe66a92709e624081b3bab5a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterEncQuality.html#a822c2cadbe66a92709e624081b3bab5a">ForceRepartitionCheck</a>: 2</td></tr>
<tr class="separator:a822c2cadbe66a92709e624081b3bab5a"><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>per frame encoder quality controls, once set they will persist for all future frames till it is updated again. </p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="aa9c52e9a562fd471ba4d3c2ee58bd531"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9c52e9a562fd471ba4d3c2ee58bd531">&#9670;&nbsp;</a></span>directBiasAdjustmentEnable</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncMiscParameterEncQuality::directBiasAdjustmentEnable</td>
</tr>
</table>
</div><div class="memdoc">
<p>Control to enable the ME mode decision algorithm to bias to fewer B Direct/Skip types. Applies only to B frames, all other frames will ignore this setting. </p>
</div>
</div>
<a id="a822c2cadbe66a92709e624081b3bab5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a822c2cadbe66a92709e624081b3bab5a">&#9670;&nbsp;</a></span>ForceRepartitionCheck</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncMiscParameterEncQuality::ForceRepartitionCheck</td>
</tr>
</table>
</div><div class="memdoc">
<p>Force RepartitionCheck 0: DEFAULT - follow driver default settings. 1: FORCE_ENABLE - enable this feature totally for all cases. 2: FORCE_DISABLE - disable this feature totally for all cases. </p>
</div>
</div>
<a id="ac75e07fb347689eaf2b4139e92d6e44b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac75e07fb347689eaf2b4139e92d6e44b">&#9670;&nbsp;</a></span>FTQEnable</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncMiscParameterEncQuality::FTQEnable</td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables/disables FTQ. </p>
</div>
</div>
<a id="a7e8451549d5d70a005ee5b1c84336920"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e8451549d5d70a005ee5b1c84336920">&#9670;&nbsp;</a></span>FTQOverride</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncMiscParameterEncQuality::FTQOverride</td>
</tr>
</table>
</div><div class="memdoc">
<p>Indicates app will override default driver FTQ settings using FTQEnable. FTQ is forward transform quantization </p>
</div>
</div>
<a id="abb1a2abccb482cbd98bcd77a93963cbc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb1a2abccb482cbd98bcd77a93963cbc">&#9670;&nbsp;</a></span>FTQSkipThresholdLUT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t VAEncMiscParameterEncQuality::FTQSkipThresholdLUT[52]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Maps QP to skip thresholds when FTQ is enabled. Valid range is 0-255. </p>
</div>
</div>
<a id="a6a34585ef95019f49059e86cdd5ffef3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a34585ef95019f49059e86cdd5ffef3">&#9670;&nbsp;</a></span>FTQSkipThresholdLUTInput</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncMiscParameterEncQuality::FTQSkipThresholdLUTInput</td>
</tr>
</table>
</div><div class="memdoc">
<p>Indicates the app will provide the Skip Threshold LUT to use when FTQ is enabled (FTQSkipThresholdLUT), else default driver thresholds will be used. </p>
</div>
</div>
<a id="afa0e987f5c0ae1bb9837d6cbce9424f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa0e987f5c0ae1bb9837d6cbce9424f0">&#9670;&nbsp;</a></span>globalMotionBiasAdjustmentEnable</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncMiscParameterEncQuality::globalMotionBiasAdjustmentEnable</td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables global motion bias. global motion also is called HME (Heirarchical Motion Estimation ) HME is used to handle large motions and avoiding local minima in the video encoding process down scaled the input and reference picture, then do ME. the result will be a predictor to next level HME or ME current interface divide the HME to 3 level. UltraHME , SuperHME, and HME, result of UltraHME will be input of SurperHME, result of superHME will be a input for HME. HME result will be input of ME. it is a switch for HMEMVCostScalingFactor can change the HME bias inside RDO stage </p>
</div>
</div>
<a id="a589437585d2d9de89a04a3914782a468"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a589437585d2d9de89a04a3914782a468">&#9670;&nbsp;</a></span>HMEDisable</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncMiscParameterEncQuality::HMEDisable</td>
</tr>
</table>
</div><div class="memdoc">
<p>disable HME, if it is disabled. Super*ultraHME should also be disabled </p>
</div>
</div>
<a id="a6f286bf2f535b730b20230fb8e9a24d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f286bf2f535b730b20230fb8e9a24d3">&#9670;&nbsp;</a></span>HMEMVCostScalingFactor</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncMiscParameterEncQuality::HMEMVCostScalingFactor</td>
</tr>
</table>
</div><div class="memdoc">
<p>MV cost scaling ratio for HME ( predictors. It is used when globalMotionBiasAdjustmentEnable == 1, else it is ignored. Values are: 0: set MV cost to be 0 for HME predictor. 1: scale MV cost to be 1/2 of the default value for HME predictor. 2: scale MV cost to be 1/4 of the default value for HME predictor. 3: scale MV cost to be 1/8 of the default value for HME predictor. </p>
</div>
</div>
<a id="a6e7f76f71712fe3a94d17b7aa821eb51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e7f76f71712fe3a94d17b7aa821eb51">&#9670;&nbsp;</a></span>NonFTQSkipThresholdLUT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t VAEncMiscParameterEncQuality::NonFTQSkipThresholdLUT[52]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Maps QP to skip thresholds when FTQ is disabled. Valid range is 0-65535. </p>
</div>
</div>
<a id="ab2d48840f87e7aba79feb0d06a724495"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2d48840f87e7aba79feb0d06a724495">&#9670;&nbsp;</a></span>NonFTQSkipThresholdLUTInput</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncMiscParameterEncQuality::NonFTQSkipThresholdLUTInput</td>
</tr>
</table>
</div><div class="memdoc">
<p>Indicates the app will provide the Skip Threshold LUT to use when FTQ is disabled (NonFTQSkipThresholdLUT), else default driver thresholds will be used. </p>
</div>
</div>
<a id="a0b3b73b2fafa84ec89793016a13e5457"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b3b73b2fafa84ec89793016a13e5457">&#9670;&nbsp;</a></span>PanicModeDisable</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncMiscParameterEncQuality::PanicModeDisable</td>
</tr>
</table>
</div><div class="memdoc">
<p>disable panic mode. Panic mode happened when there are extreme BRC (bit rate control) requirement frame size cant achieve the target of BRC. when Panic mode is triggered, Coefficients will be set to zero. disable panic mode will improve quality but will impact BRC </p>
</div>
</div>
<a id="ae172fafb096eb5b4259cf4fc5056a7e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae172fafb096eb5b4259cf4fc5056a7e7">&#9670;&nbsp;</a></span>skipCheckDisable</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncMiscParameterEncQuality::skipCheckDisable</td>
</tr>
</table>
</div><div class="memdoc">
<p>Disables skip check for ME stage, it will increase the bistream size but will improve the qulity </p>
</div>
</div>
<a id="a6fd5ab69836f02a58f5b192e9ecc75d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fd5ab69836f02a58f5b192e9ecc75d5">&#9670;&nbsp;</a></span>SuperHMEDisable</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncMiscParameterEncQuality::SuperHMEDisable</td>
</tr>
</table>
</div><div class="memdoc">
<p>disable Super HME, if it is disabled, ultraHME should be disabled </p>
</div>
</div>
<a id="a2ca4580689fb283e9f1192741e79d5de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ca4580689fb283e9f1192741e79d5de">&#9670;&nbsp;</a></span>UltraHMEDisable</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncMiscParameterEncQuality::UltraHMEDisable</td>
</tr>
</table>
</div><div class="memdoc">
<p>disable Ultra HME </p>
</div>
</div>
<a id="abdd6b6cbad3747580946aab88e820d29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abdd6b6cbad3747580946aab88e820d29">&#9670;&nbsp;</a></span>useRawPicForRef</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VAEncMiscParameterEncQuality::useRawPicForRef</td>
</tr>
</table>
</div><div class="memdoc">
<p>Use raw frames for reference instead of reconstructed frames. it only impact motion estimation (ME) stage, and will not impact MC stage so the reconstruct picture will can match with decode side </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="va_8h_source.html">va.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>