blob: 22dca19207d53aa4f0cdeabf3dbe3f9b4c4a9bbe [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: VADecPictureParameterBufferVP9 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="structVADecPictureParameterBufferVP9-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">VADecPictureParameterBufferVP9 Struct Reference<div class="ingroups"><a class="el" href="group__api__dec__vp9.html">VP9 decoding API</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>VP9 Decoding Picture Parameter Buffer Structure.
<a href="structVADecPictureParameterBufferVP9.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="va__dec__vp9_8h_source.html">va_dec_vp9.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:abf8402be78e00e9a5d108bb28a477a6a"><td class="memItemLeft" align="right" valign="top"><a id="abf8402be78e00e9a5d108bb28a477a6a"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#abf8402be78e00e9a5d108bb28a477a6a">frame_width</a></td></tr>
<tr class="memdesc:abf8402be78e00e9a5d108bb28a477a6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">picture width Picture original resolution. The value may not be multiple of 8. <br /></td></tr>
<tr class="separator:abf8402be78e00e9a5d108bb28a477a6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3de4c9c112355012948406a70caa4514"><td class="memItemLeft" align="right" valign="top"><a id="a3de4c9c112355012948406a70caa4514"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#a3de4c9c112355012948406a70caa4514">frame_height</a></td></tr>
<tr class="memdesc:a3de4c9c112355012948406a70caa4514"><td class="mdescLeft">&#160;</td><td class="mdescRight">picture height Picture original resolution. The value may not be multiple of 8. <br /></td></tr>
<tr class="separator:a3de4c9c112355012948406a70caa4514"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a192e9cb4f3cc7411c2259ecc5a8ad91e"><td class="memItemLeft" align="right" valign="top">VASurfaceID&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#a192e9cb4f3cc7411c2259ecc5a8ad91e">reference_frames</a> [8]</td></tr>
<tr class="memdesc:a192e9cb4f3cc7411c2259ecc5a8ad91e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Surface indices of reference frames in DPB. <a href="#a192e9cb4f3cc7411c2259ecc5a8ad91e">More...</a><br /></td></tr>
<tr class="separator:a192e9cb4f3cc7411c2259ecc5a8ad91e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aace98271394d05e7f9b056c4ac22aff1"><td class="memItemLeft" align="right" valign="top"><a id="aace98271394d05e7f9b056c4ac22aff1"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#aace98271394d05e7f9b056c4ac22aff1">log2_tile_rows</a></td></tr>
<tr class="memdesc:aace98271394d05e7f9b056c4ac22aff1"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of tile rows specified by (1 &lt;&lt; log2_tile_rows). It corresponds the variable with same name in VP9 code. <br /></td></tr>
<tr class="separator:aace98271394d05e7f9b056c4ac22aff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83b8e0671f0b94a344dbcfa9cee8a6cd"><td class="memItemLeft" align="right" valign="top"><a id="a83b8e0671f0b94a344dbcfa9cee8a6cd"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#a83b8e0671f0b94a344dbcfa9cee8a6cd">log2_tile_columns</a></td></tr>
<tr class="memdesc:a83b8e0671f0b94a344dbcfa9cee8a6cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of tile columns specified by (1 &lt;&lt; log2_tile_columns). It corresponds the variable with same name in VP9 code. <br /></td></tr>
<tr class="separator:a83b8e0671f0b94a344dbcfa9cee8a6cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad14e30082fadb4b4f2f50009d05a8456"><td class="memItemLeft" align="right" valign="top"><a id="ad14e30082fadb4b4f2f50009d05a8456"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#ad14e30082fadb4b4f2f50009d05a8456">frame_header_length_in_bytes</a></td></tr>
<tr class="memdesc:ad14e30082fadb4b4f2f50009d05a8456"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of bytes taken up by the uncompressed frame header, which corresponds to byte length of function read_uncompressed_header() in VP9 code. Specifically, it is the byte count from bit stream buffer start to the last byte of uncompressed frame header. If there are other meta data in the buffer before uncompressed header, its size should be also included here. <br /></td></tr>
<tr class="separator:ad14e30082fadb4b4f2f50009d05a8456"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1572b9a14b2965e0db74514ef188059a"><td class="memItemLeft" align="right" valign="top"><a id="a1572b9a14b2965e0db74514ef188059a"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#a1572b9a14b2965e0db74514ef188059a">first_partition_size</a></td></tr>
<tr class="memdesc:a1572b9a14b2965e0db74514ef188059a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The byte count of compressed header the bitstream buffer, which corresponds to syntax first_partition_size in code. <br /></td></tr>
<tr class="separator:a1572b9a14b2965e0db74514ef188059a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc0baf582619a5cd31862338fd1a7dee"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#abc0baf582619a5cd31862338fd1a7dee">mb_segment_tree_probs</a> [7]</td></tr>
<tr class="separator:abc0baf582619a5cd31862338fd1a7dee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7518ba6f2797064a35c989e08eb8654"><td class="memItemLeft" align="right" valign="top"><a id="ae7518ba6f2797064a35c989e08eb8654"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#ae7518ba6f2797064a35c989e08eb8654">profile</a></td></tr>
<tr class="memdesc:ae7518ba6f2797064a35c989e08eb8654"><td class="mdescLeft">&#160;</td><td class="mdescRight">VP9 Profile definition value range [0..3]. <br /></td></tr>
<tr class="separator:ae7518ba6f2797064a35c989e08eb8654"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a607ffbd792096c061e2cff1bb33d33d0"><td class="memItemLeft" align="right" valign="top"><a id="a607ffbd792096c061e2cff1bb33d33d0"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#a607ffbd792096c061e2cff1bb33d33d0">bit_depth</a></td></tr>
<tr class="memdesc:a607ffbd792096c061e2cff1bb33d33d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">VP9 bit depth per sample same for both luma and chroma samples. <br /></td></tr>
<tr class="separator:a607ffbd792096c061e2cff1bb33d33d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67a91beffc214221075d44ab54c32b18"><td class="memItemLeft" align="right" valign="top"><a id="a67a91beffc214221075d44ab54c32b18"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#a67a91beffc214221075d44ab54c32b18">va_reserved</a> [VA_PADDING_MEDIUM]</td></tr>
<tr class="memdesc:a67a91beffc214221075d44ab54c32b18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserved bytes for future use, must be zero. <br /></td></tr>
<tr class="separator:a67a91beffc214221075d44ab54c32b18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8c2e6476996302a3622b39b5c5a5241"><td class="memItemLeft" align="right" valign="top"><a id="af8c2e6476996302a3622b39b5c5a5241"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#af8c2e6476996302a3622b39b5c5a5241">subsampling_x</a>: 1</td></tr>
<tr class="memdesc:af8c2e6476996302a3622b39b5c5a5241"><td class="mdescLeft">&#160;</td><td class="mdescRight">flags for current picture same syntax and semantic as those in VP9 code <br /></td></tr>
<tr class="separator:af8c2e6476996302a3622b39b5c5a5241"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d9a0225993deb8c0b0718e990302dd4"><td class="memItemLeft" align="right" valign="top"><a id="a7d9a0225993deb8c0b0718e990302dd4"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#a7d9a0225993deb8c0b0718e990302dd4">segmentation_temporal_update</a>: 1</td></tr>
<tr class="memdesc:a7d9a0225993deb8c0b0718e990302dd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">corresponds to variable temporal_update in VP9 code. <br /></td></tr>
<tr class="separator:a7d9a0225993deb8c0b0718e990302dd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42c99eceb503c0c22e86e87fe7592b61"><td class="memItemLeft" align="right" valign="top"><a id="a42c99eceb503c0c22e86e87fe7592b61"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#a42c99eceb503c0c22e86e87fe7592b61">segmentation_update_map</a>: 1</td></tr>
<tr class="memdesc:a42c99eceb503c0c22e86e87fe7592b61"><td class="mdescLeft">&#160;</td><td class="mdescRight">corresponds to variable update_mb_segmentation_map in VP9 code. <br /></td></tr>
<tr class="separator:a42c99eceb503c0c22e86e87fe7592b61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f35f32dd4fbf5975e4c02751d44ac85"><td class="memItemLeft" align="right" valign="top"><a id="a1f35f32dd4fbf5975e4c02751d44ac85"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#a1f35f32dd4fbf5975e4c02751d44ac85">last_ref_frame</a>: 3</td></tr>
<tr class="memdesc:a1f35f32dd4fbf5975e4c02751d44ac85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index of reference_frames[] and points to the LAST reference frame. It corresponds to active_ref_idx[0] in VP9 code. <br /></td></tr>
<tr class="separator:a1f35f32dd4fbf5975e4c02751d44ac85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4f44adc9483264ea87fa6194617e367"><td class="memItemLeft" align="right" valign="top"><a id="ae4f44adc9483264ea87fa6194617e367"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#ae4f44adc9483264ea87fa6194617e367">last_ref_frame_sign_bias</a>: 1</td></tr>
<tr class="memdesc:ae4f44adc9483264ea87fa6194617e367"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sign Bias of the LAST reference frame. It corresponds to ref_frame_sign_bias[LAST_FRAME] in VP9 code. <br /></td></tr>
<tr class="separator:ae4f44adc9483264ea87fa6194617e367"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a360ee9da61cedab645d8145853cecbb1"><td class="memItemLeft" align="right" valign="top"><a id="a360ee9da61cedab645d8145853cecbb1"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#a360ee9da61cedab645d8145853cecbb1">golden_ref_frame</a>: 3</td></tr>
<tr class="memdesc:a360ee9da61cedab645d8145853cecbb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index of reference_frames[] and points to the GOLDERN reference frame. It corresponds to active_ref_idx[1] in VP9 code. <br /></td></tr>
<tr class="separator:a360ee9da61cedab645d8145853cecbb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12d241315f5070c6454778a117172154"><td class="memItemLeft" align="right" valign="top"><a id="a12d241315f5070c6454778a117172154"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#a12d241315f5070c6454778a117172154">golden_ref_frame_sign_bias</a>: 1</td></tr>
<tr class="memdesc:a12d241315f5070c6454778a117172154"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sign Bias of the GOLDERN reference frame. Corresponds to ref_frame_sign_bias[GOLDERN_FRAME] in VP9 code. <br /></td></tr>
<tr class="separator:a12d241315f5070c6454778a117172154"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2684abd3fa5c52b792024119c19002df"><td class="memItemLeft" align="right" valign="top"><a id="a2684abd3fa5c52b792024119c19002df"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#a2684abd3fa5c52b792024119c19002df">alt_ref_frame</a>: 3</td></tr>
<tr class="memdesc:a2684abd3fa5c52b792024119c19002df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index of reference_frames[] and points to the ALTERNATE reference frame. Corresponds to active_ref_idx[2] in VP9 code. <br /></td></tr>
<tr class="separator:a2684abd3fa5c52b792024119c19002df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8dd6db6b084339c85a169583793da06"><td class="memItemLeft" align="right" valign="top"><a id="ab8dd6db6b084339c85a169583793da06"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#ab8dd6db6b084339c85a169583793da06">alt_ref_frame_sign_bias</a>: 1</td></tr>
<tr class="memdesc:ab8dd6db6b084339c85a169583793da06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sign Bias of the ALTERNATE reference frame. Corresponds to ref_frame_sign_bias[ALTREF_FRAME] in VP9 code. <br /></td></tr>
<tr class="separator:ab8dd6db6b084339c85a169583793da06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52bcb25f2f52f9c8068f4a614f9aff56"><td class="memItemLeft" align="right" valign="top"><a id="a52bcb25f2f52f9c8068f4a614f9aff56"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVADecPictureParameterBufferVP9.html#a52bcb25f2f52f9c8068f4a614f9aff56">lossless_flag</a>: 1</td></tr>
<tr class="memdesc:a52bcb25f2f52f9c8068f4a614f9aff56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lossless Mode LosslessFlag = base_qindex == 0 &amp;&amp; y_dc_delta_q == 0 &amp;&amp; uv_dc_delta_q == 0 &amp;&amp; uv_ac_delta_q == 0; Where base_qindex, y_dc_delta_q, uv_dc_delta_q and uv_ac_delta_q are all variables in VP9 code. <br /></td></tr>
<tr class="separator:a52bcb25f2f52f9c8068f4a614f9aff56"><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>VP9 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. </p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="abc0baf582619a5cd31862338fd1a7dee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc0baf582619a5cd31862338fd1a7dee">&#9670;&nbsp;</a></span>mb_segment_tree_probs</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t VADecPictureParameterBufferVP9::mb_segment_tree_probs[7]</td>
</tr>
</table>
</div><div class="memdoc">
<p>These values are segment probabilities with same names in VP9 function setup_segmentation(). They should be parsed directly from bitstream by application. </p>
</div>
</div>
<a id="a192e9cb4f3cc7411c2259ecc5a8ad91e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a192e9cb4f3cc7411c2259ecc5a8ad91e">&#9670;&nbsp;</a></span>reference_frames</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">VASurfaceID VADecPictureParameterBufferVP9::reference_frames[8]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Surface indices of reference frames in DPB. </p>
<p>Each entry of the list specifies the surface index of the picture that is referred by current picture or will be referred by any future picture. Application who calls this API should update this list based on the refreshing information from VP9 bitstream. </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="va__dec__vp9_8h_source.html">va_dec_vp9.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>