<!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: FEI encoding common 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.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>
</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="#define-members">Macros</a>  </div>
  <div class="headertitle">
<div class="title">FEI encoding common 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">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionVAConfigAttribValStats.html">VAConfigAttribValStats</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attribute value for VAConfigAttribStats.  <a href="unionVAConfigAttribValStats.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="structVAStatsStatisticsParameter.html">VAStatsStatisticsParameter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Motion Vector and Statistics frame level controls. common part VAStatsStatisticsParameterBufferType for a MB or CTB.  <a href="structVAStatsStatisticsParameter.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="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga4d4d4c9dcccc756235b62cd1c350a779"><td class="memItemLeft" align="right" valign="top"><a id="ga4d4d4c9dcccc756235b62cd1c350a779"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei.html#ga4d4d4c9dcccc756235b62cd1c350a779">VA_PICTURE_STATS_CONTENT_UPDATED</a>&#160;&#160;&#160;0x00000010</td></tr>
<tr class="memdesc:ga4d4d4c9dcccc756235b62cd1c350a779"><td class="mdescLeft">&#160;</td><td class="mdescRight">picutre surface content updated indicator. The picture surface content is updated, it means temporary buffer like downscaled pixel data in driver internal needs be forced freshing <br /></td></tr>
<tr class="separator:ga4d4d4c9dcccc756235b62cd1c350a779"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Attribute values for VAConfigAttribFEIFunctionType</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp245fe4dbe4984b2001ba67d38a41fcbd"></a>FEI specific attribute definitions</p>
<p>This is only for VAEntrypointFEI The desired type should be passed to driver when creating the configuration. If VA_FEI_FUNCTION_ENC_PAK is set, VA_FEI_FUNCTION_ENC and VA_FEI_FUNCTION_PAK will be ignored if set also. Combination of VA_FEI_FUNCTION_ENC and VA_FEI_FUNCTION_PAK is not valid. If VA_FEI_FUNCTION_ENC is set, there will be no bitstream output. If VA_FEI_FUNCTION_PAK is set, two extra input buffers for PAK are needed: VAEncFEIMVBufferType and VAEncFEIMBCodeBufferType. VA_FEI_FUNCTION_ENC_PAK is recommended for best performance. </p>
</td></tr>
<tr class="memitem:ga77b92bb30be6834d1414ef53065d397d"><td class="memItemLeft" align="right" valign="top"><a id="ga77b92bb30be6834d1414ef53065d397d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei.html#ga77b92bb30be6834d1414ef53065d397d">VA_FEI_FUNCTION_ENC</a>&#160;&#160;&#160;0x00000001</td></tr>
<tr class="memdesc:ga77b92bb30be6834d1414ef53065d397d"><td class="mdescLeft">&#160;</td><td class="mdescRight">ENC only is supported. <br /></td></tr>
<tr class="separator:ga77b92bb30be6834d1414ef53065d397d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaea0f0c4f95a66145f74d8f4368993482"><td class="memItemLeft" align="right" valign="top"><a id="gaea0f0c4f95a66145f74d8f4368993482"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei.html#gaea0f0c4f95a66145f74d8f4368993482">VA_FEI_FUNCTION_PAK</a>&#160;&#160;&#160;0x00000002</td></tr>
<tr class="memdesc:gaea0f0c4f95a66145f74d8f4368993482"><td class="mdescLeft">&#160;</td><td class="mdescRight">PAK only is supported. <br /></td></tr>
<tr class="separator:gaea0f0c4f95a66145f74d8f4368993482"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8ad48f744f16f48f63adc59e45f05aff"><td class="memItemLeft" align="right" valign="top"><a id="ga8ad48f744f16f48f63adc59e45f05aff"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__fei.html#ga8ad48f744f16f48f63adc59e45f05aff">VA_FEI_FUNCTION_ENC_PAK</a>&#160;&#160;&#160;0x00000004</td></tr>
<tr class="memdesc:ga8ad48f744f16f48f63adc59e45f05aff"><td class="mdescLeft">&#160;</td><td class="mdescRight">ENC_PAK is supported. <br /></td></tr>
<tr class="separator:ga8ad48f744f16f48f63adc59e45f05aff"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
</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>
