<!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: VAConfigAttribValEncROI Union 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="unionVAConfigAttribValEncROI-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">VAConfigAttribValEncROI Union Reference<div class="ingroups"><a class="el" href="group__api__core.html">Core API</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Attribute value for VAConfigAttribEncROI.  
 <a href="unionVAConfigAttribValEncROI.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="va_8h_source.html">va.h</a>&gt;</code></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Attribute value for VAConfigAttribEncROI. </p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="a1d356481335a11e2abe508dd40242853"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d356481335a11e2abe508dd40242853">&#9670;&nbsp;</a></span>roi_rc_priority_support</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t VAConfigAttribValEncROI::roi_rc_priority_support</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A flag indicates whether ROI priority is supported. </p>
<p><a class="el" href="unionVAConfigAttribValEncROI.html#a1d356481335a11e2abe508dd40242853">roi_rc_priority_support</a> equal to 1 specifies the underlying driver supports ROI priority when VAConfigAttribRateControl != VA_RC_CQP, user can use <code>roi_value</code> in <a class="el" href="structVAEncROI.html" title="Encoding region-of-interest (ROI). ">VAEncROI</a> to set ROI priority. <a class="el" href="unionVAConfigAttribValEncROI.html#a1d356481335a11e2abe508dd40242853">roi_rc_priority_support</a> equal to 0 specifies the underlying driver doesn't support ROI priority.</p>
<p>User should ignore <a class="el" href="unionVAConfigAttribValEncROI.html#a1d356481335a11e2abe508dd40242853">roi_rc_priority_support</a> when VAConfigAttribRateControl == VA_RC_CQP because ROI delta QP is always required when VAConfigAttribRateControl == VA_RC_CQP. </p>

</div>
</div>
<a id="a39c29d6d63efdbc11644f13676cff7e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39c29d6d63efdbc11644f13676cff7e5">&#9670;&nbsp;</a></span>roi_rc_qp_delta_support</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t VAConfigAttribValEncROI::roi_rc_qp_delta_support</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A flag indicates whether ROI delta QP is supported. </p>
<p><a class="el" href="unionVAConfigAttribValEncROI.html#a39c29d6d63efdbc11644f13676cff7e5">roi_rc_qp_delta_support</a> equal to 1 specifies the underlying driver supports ROI delta QP when VAConfigAttribRateControl != VA_RC_CQP, user can use <code>roi_value</code> in <a class="el" href="structVAEncROI.html" title="Encoding region-of-interest (ROI). ">VAEncROI</a> to set ROI delta QP. <a class="el" href="unionVAConfigAttribValEncROI.html#a39c29d6d63efdbc11644f13676cff7e5">roi_rc_qp_delta_support</a> equal to 0 specifies the underlying driver doesn't support ROI delta QP.</p>
<p>User should ignore <a class="el" href="unionVAConfigAttribValEncROI.html#a39c29d6d63efdbc11644f13676cff7e5">roi_rc_qp_delta_support</a> when VAConfigAttribRateControl == VA_RC_CQP because ROI delta QP is always required when VAConfigAttribRateControl == VA_RC_CQP. </p>

</div>
</div>
<hr/>The documentation for this union 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>
