<!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: VAEncMiscParameterBufferMaxFrameSize 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="structVAEncMiscParameterBufferMaxFrameSize-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">VAEncMiscParameterBufferMaxFrameSize 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>Defines a maximum frame size (in bits).  
 <a href="structVAEncMiscParameterBufferMaxFrameSize.html#details">More...</a></p>

<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:a4f856c13d5a959673213f6c875c5e6e5"><td class="memItemLeft" align="right" valign="top">va_deprecated <a class="el" href="group__api__core.html#ga07644ee718d2c12c44f7ad7d440533f5">VAEncMiscParameterType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterBufferMaxFrameSize.html#a4f856c13d5a959673213f6c875c5e6e5">type</a></td></tr>
<tr class="memdesc:a4f856c13d5a959673213f6c875c5e6e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type. Shall be set to <a class="el" href="group__api__core.html#gga07644ee718d2c12c44f7ad7d440533f5a87b8908521d461bd16a4c068702bae9d" title="Buffer type used to express a maximum frame size (in bits). ">VAEncMiscParameterTypeMaxFrameSize</a>.  <a href="#a4f856c13d5a959673213f6c875c5e6e5">More...</a><br /></td></tr>
<tr class="separator:a4f856c13d5a959673213f6c875c5e6e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89a522376d4250a690b0b85c4bd44970"><td class="memItemLeft" align="right" valign="top"><a id="a89a522376d4250a690b0b85c4bd44970"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterBufferMaxFrameSize.html#a89a522376d4250a690b0b85c4bd44970">max_frame_size</a></td></tr>
<tr class="memdesc:a89a522376d4250a690b0b85c4bd44970"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum size of a frame (in bits). <br /></td></tr>
<tr class="separator:a89a522376d4250a690b0b85c4bd44970"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc44ba3e5a6120b32b425b65941918ed"><td class="memItemLeft" align="right" valign="top"><a id="acc44ba3e5a6120b32b425b65941918ed"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVAEncMiscParameterBufferMaxFrameSize.html#acc44ba3e5a6120b32b425b65941918ed">va_reserved</a> [<a class="el" href="group__api__core.html#gaaa4fb20d1c2606379cccfa562c2ebb3b">VA_PADDING_LOW</a>]</td></tr>
<tr class="memdesc:acc44ba3e5a6120b32b425b65941918ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserved bytes for future use, must be zero. <br /></td></tr>
<tr class="separator:acc44ba3e5a6120b32b425b65941918ed"><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>Defines a maximum frame size (in bits). </p>
<p>This misc parameter buffer defines the maximum size of a frame (in bits). The encoder will try to make sure that each frame does not exceed this size. Otherwise, if the frame size exceeds this size, the <code>status</code> flag of <a class="el" href="structVACodedBufferSegment.html" title="Coded buffer segment. ">VACodedBufferSegment</a> will contain <a class="el" href="group__api__core.html#gae10f59ca74aee7a081a25c01f8366717" title="The frame has exceeded the maximum requested size. ">VA_CODED_BUF_STATUS_FRAME_SIZE_OVERFLOW</a>. </p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="a4f856c13d5a959673213f6c875c5e6e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f856c13d5a959673213f6c875c5e6e5">&#9670;&nbsp;</a></span>type</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">va_deprecated <a class="el" href="group__api__core.html#ga07644ee718d2c12c44f7ad7d440533f5">VAEncMiscParameterType</a> VAEncMiscParameterBufferMaxFrameSize::type</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Type. Shall be set to <a class="el" href="group__api__core.html#gga07644ee718d2c12c44f7ad7d440533f5a87b8908521d461bd16a4c068702bae9d" title="Buffer type used to express a maximum frame size (in bits). ">VAEncMiscParameterTypeMaxFrameSize</a>. </p>
<p>duplicated with <a class="el" href="structVAEncMiscParameterBuffer.html">VAEncMiscParameterBuffer</a>, should be deprecated </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>
