blob: 49d5c5a283c7d5a1e3184339574a27b8ede63f89 [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: VASegmentationStructAV1 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="structVASegmentationStructAV1-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">VASegmentationStructAV1 Struct Reference<div class="ingroups"><a class="el" href="group__api__dec__av1.html">AV1 decoding API</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>AV1 Decoding Picture Parameter Buffer Structure.
<a href="structVASegmentationStructAV1.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="va__dec__av1_8h_source.html">va_dec_av1.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:a611fdd65a36b775c339ed7f9f646e079"><td class="memItemLeft" align="right" valign="top"><a id="a611fdd65a36b775c339ed7f9f646e079"></a>
int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVASegmentationStructAV1.html#a611fdd65a36b775c339ed7f9f646e079">feature_data</a> [8][8]</td></tr>
<tr class="memdesc:a611fdd65a36b775c339ed7f9f646e079"><td class="mdescLeft">&#160;</td><td class="mdescRight">Segmentation parameters for current frame. feature_data[segment_id][feature_id] where segment_id has value range [0..7] indicating the segment id. and feature_id is defined as typedef enum { SEG_LVL_ALT_Q, // Use alternate Quantizer .... SEG_LVL_ALT_LF_Y_V, // Use alternate loop filter value on y plane vertical SEG_LVL_ALT_LF_Y_H, // Use alternate loop filter value on y plane horizontal SEG_LVL_ALT_LF_U, // Use alternate loop filter value on u plane SEG_LVL_ALT_LF_V, // Use alternate loop filter value on v plane SEG_LVL_REF_FRAME, // Optional Segment reference frame SEG_LVL_SKIP, // Optional Segment (0,0) + skip mode SEG_LVL_GLOBALMV, SEG_LVL_MAX } SEG_LVL_FEATURES; feature_data[][] is equivalent to variable FeatureData[][] in spec, which is after clip3() operation. Clip3(x, y, z) = (z &lt; x)? x : ((z &gt; y)? y : z); The limit is defined in Segmentation_Feature_Max[ SEG_LVL_MAX ] = { 255, MAX_LOOP_FILTER, MAX_LOOP_FILTER, MAX_LOOP_FILTER, MAX_LOOP_FILTER, 7, 0, 0 }. <br /></td></tr>
<tr class="separator:a611fdd65a36b775c339ed7f9f646e079"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07b94ea59be71b59e7f2b54d57182c57"><td class="memItemLeft" align="right" valign="top"><a id="a07b94ea59be71b59e7f2b54d57182c57"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVASegmentationStructAV1.html#a07b94ea59be71b59e7f2b54d57182c57">feature_mask</a> [8]</td></tr>
<tr class="memdesc:a07b94ea59be71b59e7f2b54d57182c57"><td class="mdescLeft">&#160;</td><td class="mdescRight">indicates if a feature is enabled or not. Each bit field itself is the feature_id. Index is segment_id. feature_mask[segment_id] &amp; (1 &lt;&lt; feature_id) equal to 1 specify that the feature of feature_id for segment of segment_id is enabled, otherwise disabled. <br /></td></tr>
<tr class="separator:a07b94ea59be71b59e7f2b54d57182c57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bc2d255c8f21b385b9c23609bc7c6b0"><td class="memItemLeft" align="right" valign="top"><a id="a5bc2d255c8f21b385b9c23609bc7c6b0"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVASegmentationStructAV1.html#a5bc2d255c8f21b385b9c23609bc7c6b0">va_reserved</a> [<a class="el" href="group__api__core.html#gaaa4fb20d1c2606379cccfa562c2ebb3b">VA_PADDING_LOW</a>]</td></tr>
<tr class="memdesc:a5bc2d255c8f21b385b9c23609bc7c6b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserved bytes for future use, must be zero. <br /></td></tr>
<tr class="separator:a5bc2d255c8f21b385b9c23609bc7c6b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0690c46b484b5dd9c41c4ab925e80528"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVASegmentationStructAV1.html#a0690c46b484b5dd9c41c4ab925e80528">enabled</a>: 1</td></tr>
<tr class="separator:a0690c46b484b5dd9c41c4ab925e80528"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0669bea7500477c19ea05115856ef99d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVASegmentationStructAV1.html#a0669bea7500477c19ea05115856ef99d">update_map</a>: 1</td></tr>
<tr class="separator:a0669bea7500477c19ea05115856ef99d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c52428bd714222f79d78c7fb10f5c63"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVASegmentationStructAV1.html#a7c52428bd714222f79d78c7fb10f5c63">temporal_update</a>: 1</td></tr>
<tr class="separator:a7c52428bd714222f79d78c7fb10f5c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afeb2d1d625737f844a133bb5d39b4847"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVASegmentationStructAV1.html#afeb2d1d625737f844a133bb5d39b4847">update_data</a>: 1</td></tr>
<tr class="separator:afeb2d1d625737f844a133bb5d39b4847"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59421ace92b4e4b6d8818c9a1e66dbbc"><td class="memItemLeft" align="right" valign="top"><a id="a59421ace92b4e4b6d8818c9a1e66dbbc"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVASegmentationStructAV1.html#a59421ace92b4e4b6d8818c9a1e66dbbc">reserved</a>: 28</td></tr>
<tr class="memdesc:a59421ace92b4e4b6d8818c9a1e66dbbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserved bytes for future use, must be zero. <br /></td></tr>
<tr class="separator:a59421ace92b4e4b6d8818c9a1e66dbbc"><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>AV1 Decoding Picture Parameter Buffer Structure. </p>
<p>This structure conveys picture level parameters. App should send a surface with this data structure down to VAAPI once per frame.Segmentation Information </p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="a0690c46b484b5dd9c41c4ab925e80528"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0690c46b484b5dd9c41c4ab925e80528">&#9670;&nbsp;</a></span>enabled</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VASegmentationStructAV1::enabled</td>
</tr>
</table>
</div><div class="memdoc">
<p>Indicates whether segmentation map related syntax elements are present or not for current frame. If equal to 0, the segmentation map related syntax elements are not present for the current frame and the control flags of segmentation map related tables feature_data[][], and feature_mask[] are not valid and shall be ignored by accelerator. </p>
</div>
</div>
<a id="a7c52428bd714222f79d78c7fb10f5c63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c52428bd714222f79d78c7fb10f5c63">&#9670;&nbsp;</a></span>temporal_update</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VASegmentationStructAV1::temporal_update</td>
</tr>
</table>
</div><div class="memdoc">
<p>Value 1 indicates that the updates to the segmentation map are coded relative to the existing segmentation map. Value 0 indicates that the new segmentation map is coded without reference to the existing segmentation map. </p>
</div>
</div>
<a id="afeb2d1d625737f844a133bb5d39b4847"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afeb2d1d625737f844a133bb5d39b4847">&#9670;&nbsp;</a></span>update_data</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VASegmentationStructAV1::update_data</td>
</tr>
</table>
</div><div class="memdoc">
<p>Value 1 indicates that new parameters are about to be specified for each segment. Value 0 indicates that the segmentation parameters should keep their existing values. </p>
</div>
</div>
<a id="a0669bea7500477c19ea05115856ef99d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0669bea7500477c19ea05115856ef99d">&#9670;&nbsp;</a></span>update_map</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VASegmentationStructAV1::update_map</td>
</tr>
</table>
</div><div class="memdoc">
<p>Value 1 indicates that the segmentation map are updated during the decoding of this frame. Value 0 means that the segmentation map from the previous frame is used. </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="va__dec__av1_8h_source.html">va_dec_av1.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>