blob: 7ceef749b0e3c71c64633e474cf0b2abd1062ed5 [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: AV1 decoding 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="#enum-members">Enumerations</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">AV1 decoding 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="unionVAConfigAttribValDecAV1Features.html">VAConfigAttribValDecAV1Features</a></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="structVASegmentationStructAV1.html">VASegmentationStructAV1</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">AV1 Decoding Picture Parameter Buffer Structure. <a href="structVASegmentationStructAV1.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="structVAFilmGrainStructAV1.html">VAFilmGrainStructAV1</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Film Grain Information. <a href="structVAFilmGrainStructAV1.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="structVADecPictureParameterBufferAV1.html">VADecPictureParameterBufferAV1</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">AV1 Decoding Picture Parameter Buffer Structure. <a href="structVADecPictureParameterBufferAV1.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="structVASliceParameterBufferAV1.html">VASliceParameterBufferAV1</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">AV1 Slice Parameter Buffer Structure. <a href="structVASliceParameterBufferAV1.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="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga0241c07299a9a0a691c9633e394b71d0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga0241c07299a9a0a691c9633e394b71d0">VAAV1TransformationType</a> { <br />
&#160;&#160;<a class="el" href="group__api__dec__av1.html#gga0241c07299a9a0a691c9633e394b71d0a1b9715daea4a54335391d2b6b6233750">VAAV1TransformationIdentity</a> = 0,
<a class="el" href="group__api__dec__av1.html#gga0241c07299a9a0a691c9633e394b71d0a36567b6f127d914eafe681fa9b334208">VAAV1TransformationTranslation</a> = 1,
<a class="el" href="group__api__dec__av1.html#gga0241c07299a9a0a691c9633e394b71d0abef31d50651cdacc653419b3ae201902">VAAV1TransformationRotzoom</a> = 2,
<a class="el" href="group__api__dec__av1.html#gga0241c07299a9a0a691c9633e394b71d0a4b66d282272741154399ef696ad45497">VAAV1TransformationAffine</a> = 3,
<br />
&#160;&#160;<a class="el" href="group__api__dec__av1.html#gga0241c07299a9a0a691c9633e394b71d0a7e8c948c7abeb50a702b0737a768ed87">VAAV1TransformationCount</a>
<br />
}</td></tr>
<tr class="separator:ga0241c07299a9a0a691c9633e394b71d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:gade6b6810588a701d1ca86defe06ae461"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#gade6b6810588a701d1ca86defe06ae461">VADecPictureParameterBufferAV1::profile</a></td></tr>
<tr class="memdesc:gade6b6810588a701d1ca86defe06ae461"><td class="mdescLeft">&#160;</td><td class="mdescRight">sequence level information <a href="#gade6b6810588a701d1ca86defe06ae461">More...</a><br /></td></tr>
<tr class="separator:gade6b6810588a701d1ca86defe06ae461"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae93dbb143c324408c0ab062fe8672408"><td class="memItemLeft" align="right" valign="top"><a id="gae93dbb143c324408c0ab062fe8672408"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#gae93dbb143c324408c0ab062fe8672408">VADecPictureParameterBufferAV1::bit_depth_idx</a></td></tr>
<tr class="memdesc:gae93dbb143c324408c0ab062fe8672408"><td class="mdescLeft">&#160;</td><td class="mdescRight">bit depth index value range [0..2] 0 - bit depth 8; 1 - bit depth 10; 2 - bit depth 12; <br /></td></tr>
<tr class="separator:gae93dbb143c324408c0ab062fe8672408"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4696b2034b7132c00b9de575b88bec29"><td class="memItemLeft" align="right" valign="top"><a id="ga4696b2034b7132c00b9de575b88bec29"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga4696b2034b7132c00b9de575b88bec29">VADecPictureParameterBufferAV1::matrix_coefficients</a></td></tr>
<tr class="memdesc:ga4696b2034b7132c00b9de575b88bec29"><td class="mdescLeft">&#160;</td><td class="mdescRight">corresponds to AV1 spec variable of the same name. <br /></td></tr>
<tr class="separator:ga4696b2034b7132c00b9de575b88bec29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga18a122fb87a96420506449194fac85c7"><td class="memItemLeft" align="right" valign="top">VASurfaceID&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga18a122fb87a96420506449194fac85c7">VADecPictureParameterBufferAV1::current_frame</a></td></tr>
<tr class="memdesc:ga18a122fb87a96420506449194fac85c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Picture level information. <a href="#ga18a122fb87a96420506449194fac85c7">More...</a><br /></td></tr>
<tr class="separator:ga18a122fb87a96420506449194fac85c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad305c4af7b453b669e024e8d6b05fd0c"><td class="memItemLeft" align="right" valign="top"><a id="gad305c4af7b453b669e024e8d6b05fd0c"></a>
VASurfaceID&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#gad305c4af7b453b669e024e8d6b05fd0c">VADecPictureParameterBufferAV1::current_display_picture</a></td></tr>
<tr class="memdesc:gad305c4af7b453b669e024e8d6b05fd0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">display buffer of current picture Used for film grain applied decoded picture. Valid only when apply_grain equals 1. <br /></td></tr>
<tr class="separator:gad305c4af7b453b669e024e8d6b05fd0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1520a65ecdc558c22e43a5844179059c"><td class="memItemLeft" align="right" valign="top"><a id="ga1520a65ecdc558c22e43a5844179059c"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga1520a65ecdc558c22e43a5844179059c">VADecPictureParameterBufferAV1::anchor_frames_num</a></td></tr>
<tr class="memdesc:ga1520a65ecdc558c22e43a5844179059c"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of anchor frames for large scale tile This parameter gives the number of entries of anchor_frames_list[]. Value range [0..128]. <br /></td></tr>
<tr class="separator:ga1520a65ecdc558c22e43a5844179059c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb8c1a0a4b9d1fbacb894f4ea16c6bda"><td class="memItemLeft" align="right" valign="top"><a id="gafb8c1a0a4b9d1fbacb894f4ea16c6bda"></a>
VASurfaceID *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#gafb8c1a0a4b9d1fbacb894f4ea16c6bda">VADecPictureParameterBufferAV1::anchor_frames_list</a></td></tr>
<tr class="memdesc:gafb8c1a0a4b9d1fbacb894f4ea16c6bda"><td class="mdescLeft">&#160;</td><td class="mdescRight">anchor frame list for large scale tile For large scale tile applications, the anchor frames could come from previously decoded frames in current sequence (aka. internal), or from external sources. For external anchor frames, application should call API <a class="el" href="group__api__core.html#gaba254978bf0d32781f4a9e67f1fa7a78">vaCreateBuffer()</a> to generate frame buffers and populate them with pixel frames. And this process may happen multiple times. The array anchor_frames_list[] is used to register all the available anchor frames from both external and internal, up to the current frame instance. If a previously registerred anchor frame is no longer needed, it should be removed from the list. But it does not prevent applications from relacing the frame buffer with new anchor frames. Please note that the internal anchor frames may not still be present in the current DPB buffer. But if it is in the anchor_frames_list[], it should not be replaced with other frames or removed from memory until it is not shown in the list. This number of entries of the list is given by parameter anchor_frames_num. <br /></td></tr>
<tr class="separator:gafb8c1a0a4b9d1fbacb894f4ea16c6bda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57d47000495395a1fb7a183e650eaca3"><td class="memItemLeft" align="right" valign="top"><a id="ga57d47000495395a1fb7a183e650eaca3"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga57d47000495395a1fb7a183e650eaca3">VADecPictureParameterBufferAV1::frame_width_minus1</a></td></tr>
<tr class="memdesc:ga57d47000495395a1fb7a183e650eaca3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Picture resolution minus 1 Picture original resolution. If SuperRes is enabled, this is the upscaled resolution. value range [0..65535]. <br /></td></tr>
<tr class="separator:ga57d47000495395a1fb7a183e650eaca3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga45a97e4eb015c16f71cf319abb0e1629"><td class="memItemLeft" align="right" valign="top"><a id="ga45a97e4eb015c16f71cf319abb0e1629"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga45a97e4eb015c16f71cf319abb0e1629">VADecPictureParameterBufferAV1::output_frame_width_in_tiles_minus_1</a></td></tr>
<tr class="memdesc:ga45a97e4eb015c16f71cf319abb0e1629"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output frame buffer size in unit of tiles Valid only when large_scale_tile equals 1. value range [0..65535]. <br /></td></tr>
<tr class="separator:ga45a97e4eb015c16f71cf319abb0e1629"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32fd81c82965ccf7e704d85ddf312178"><td class="memItemLeft" align="right" valign="top">VASurfaceID&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga32fd81c82965ccf7e704d85ddf312178">VADecPictureParameterBufferAV1::ref_frame_map</a> [8]</td></tr>
<tr class="memdesc:ga32fd81c82965ccf7e704d85ddf312178"><td class="mdescLeft">&#160;</td><td class="mdescRight">Surface indices of reference frames in DPB. <a href="#ga32fd81c82965ccf7e704d85ddf312178">More...</a><br /></td></tr>
<tr class="separator:ga32fd81c82965ccf7e704d85ddf312178"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7da66acfa828f2401415d09e544b0ae8"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga7da66acfa828f2401415d09e544b0ae8">VADecPictureParameterBufferAV1::ref_frame_idx</a> [7]</td></tr>
<tr class="memdesc:ga7da66acfa828f2401415d09e544b0ae8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference frame indices. <a href="#ga7da66acfa828f2401415d09e544b0ae8">More...</a><br /></td></tr>
<tr class="separator:ga7da66acfa828f2401415d09e544b0ae8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacfd450a5c8400c580981669948269cd9"><td class="memItemLeft" align="right" valign="top"><a id="gacfd450a5c8400c580981669948269cd9"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#gacfd450a5c8400c580981669948269cd9">VADecPictureParameterBufferAV1::primary_ref_frame</a></td></tr>
<tr class="memdesc:gacfd450a5c8400c580981669948269cd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">primary reference frame index Index into ref_frame_idx[], specifying which reference frame contains propagated info that should be loaded at the start of the frame. When value equals PRIMARY_REF_NONE (7), it indicates there is no primary reference frame. value range [0..7] <br /></td></tr>
<tr class="separator:gacfd450a5c8400c580981669948269cd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab09f2d1c0a100897abe1d914dcc512bb"><td class="memItemLeft" align="right" valign="top"><a id="gab09f2d1c0a100897abe1d914dcc512bb"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#gab09f2d1c0a100897abe1d914dcc512bb">VADecPictureParameterBufferAV1::tile_cols</a></td></tr>
<tr class="memdesc:gab09f2d1c0a100897abe1d914dcc512bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">tile structure When uniform_tile_spacing_flag == 1, width_in_sbs_minus_1[] and height_in_sbs_minus_1[] should be ignored, which will be generated by driver based on tile_cols and tile_rows. <br /></td></tr>
<tr class="separator:gab09f2d1c0a100897abe1d914dcc512bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8eb4a342cab8f5026a5dc6a03822384c"><td class="memItemLeft" align="right" valign="top"><a id="ga8eb4a342cab8f5026a5dc6a03822384c"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga8eb4a342cab8f5026a5dc6a03822384c">VADecPictureParameterBufferAV1::tile_count_minus_1</a></td></tr>
<tr class="memdesc:ga8eb4a342cab8f5026a5dc6a03822384c"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of tiles minus 1 in large scale tile list Same as AV1 semantic element. Valid only when large_scale_tiles == 1. <br /></td></tr>
<tr class="separator:ga8eb4a342cab8f5026a5dc6a03822384c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2dc9de561195d4941545cc2101359a04"><td class="memItemLeft" align="right" valign="top"><a id="ga2dc9de561195d4941545cc2101359a04"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga2dc9de561195d4941545cc2101359a04">VADecPictureParameterBufferAV1::superres_scale_denominator</a></td></tr>
<tr class="memdesc:ga2dc9de561195d4941545cc2101359a04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Supper resolution scale denominator. When use_superres=1, superres_scale_denominator must be in the range [9..16]. When use_superres=0, superres_scale_denominator must be 8. <br /></td></tr>
<tr class="separator:ga2dc9de561195d4941545cc2101359a04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga70402b3ab85f782d1014e36e018ec849"><td class="memItemLeft" align="right" valign="top"><a id="ga70402b3ab85f782d1014e36e018ec849"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga70402b3ab85f782d1014e36e018ec849">VADecPictureParameterBufferAV1::interp_filter</a></td></tr>
<tr class="memdesc:ga70402b3ab85f782d1014e36e018ec849"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolation filter. value range [0..4]. <br /></td></tr>
<tr class="separator:ga70402b3ab85f782d1014e36e018ec849"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac656c884deede5bebe8c9905e0bb7422"><td class="memItemLeft" align="right" valign="top"><a id="gac656c884deede5bebe8c9905e0bb7422"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#gac656c884deede5bebe8c9905e0bb7422">VADecPictureParameterBufferAV1::filter_level</a> [2]</td></tr>
<tr class="memdesc:gac656c884deede5bebe8c9905e0bb7422"><td class="mdescLeft">&#160;</td><td class="mdescRight">luma loop filter levels. value range [0..63]. <br /></td></tr>
<tr class="separator:gac656c884deede5bebe8c9905e0bb7422"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa79011199ad75ec92ab390d58b30226c"><td class="memItemLeft" align="right" valign="top"><a id="gaa79011199ad75ec92ab390d58b30226c"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#gaa79011199ad75ec92ab390d58b30226c">VADecPictureParameterBufferAV1::filter_level_u</a></td></tr>
<tr class="memdesc:gaa79011199ad75ec92ab390d58b30226c"><td class="mdescLeft">&#160;</td><td class="mdescRight">chroma loop filter levels. value range [0..63]. <br /></td></tr>
<tr class="separator:gaa79011199ad75ec92ab390d58b30226c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3dca77196cf286740d0e8de57a4a6378"><td class="memItemLeft" align="right" valign="top"><a id="ga3dca77196cf286740d0e8de57a4a6378"></a>
int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga3dca77196cf286740d0e8de57a4a6378">VADecPictureParameterBufferAV1::ref_deltas</a> [8]</td></tr>
<tr class="memdesc:ga3dca77196cf286740d0e8de57a4a6378"><td class="mdescLeft">&#160;</td><td class="mdescRight">The adjustment needed for the filter level based on the chosen reference frame. value range [-64..63]. <br /></td></tr>
<tr class="separator:ga3dca77196cf286740d0e8de57a4a6378"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e3e3c6adc0fc4d4fcc7df082ac90df0"><td class="memItemLeft" align="right" valign="top"><a id="ga9e3e3c6adc0fc4d4fcc7df082ac90df0"></a>
int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga9e3e3c6adc0fc4d4fcc7df082ac90df0">VADecPictureParameterBufferAV1::mode_deltas</a> [2]</td></tr>
<tr class="memdesc:ga9e3e3c6adc0fc4d4fcc7df082ac90df0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The adjustment needed for the filter level based on the chosen mode. value range [-64..63]. <br /></td></tr>
<tr class="separator:ga9e3e3c6adc0fc4d4fcc7df082ac90df0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2bc798bccf2dcefa55177ea419590ba9"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga2bc798bccf2dcefa55177ea419590ba9">VADecPictureParameterBufferAV1::base_qindex</a></td></tr>
<tr class="memdesc:ga2bc798bccf2dcefa55177ea419590ba9"><td class="mdescLeft">&#160;</td><td class="mdescRight">quantization <a href="#ga2bc798bccf2dcefa55177ea419590ba9">More...</a><br /></td></tr>
<tr class="separator:ga2bc798bccf2dcefa55177ea419590ba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3a59b00088f9da87cc45833c41cff1b5"><td class="memItemLeft" align="right" valign="top"><a id="ga3a59b00088f9da87cc45833c41cff1b5"></a>
int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga3a59b00088f9da87cc45833c41cff1b5">VADecPictureParameterBufferAV1::y_dc_delta_q</a></td></tr>
<tr class="memdesc:ga3a59b00088f9da87cc45833c41cff1b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Y DC delta from Y AC value range [-64..63]. <br /></td></tr>
<tr class="separator:ga3a59b00088f9da87cc45833c41cff1b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c77c93afdd752bb67864bfaecbf0aac"><td class="memItemLeft" align="right" valign="top"><a id="ga7c77c93afdd752bb67864bfaecbf0aac"></a>
int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga7c77c93afdd752bb67864bfaecbf0aac">VADecPictureParameterBufferAV1::u_dc_delta_q</a></td></tr>
<tr class="memdesc:ga7c77c93afdd752bb67864bfaecbf0aac"><td class="mdescLeft">&#160;</td><td class="mdescRight">U DC delta from Y AC value range [-64..63]. <br /></td></tr>
<tr class="separator:ga7c77c93afdd752bb67864bfaecbf0aac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3ccfe2bc25e3d6ef42f89deebcf5031c"><td class="memItemLeft" align="right" valign="top"><a id="ga3ccfe2bc25e3d6ef42f89deebcf5031c"></a>
int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga3ccfe2bc25e3d6ef42f89deebcf5031c">VADecPictureParameterBufferAV1::u_ac_delta_q</a></td></tr>
<tr class="memdesc:ga3ccfe2bc25e3d6ef42f89deebcf5031c"><td class="mdescLeft">&#160;</td><td class="mdescRight">U AC delta from Y AC value range [-64..63]. <br /></td></tr>
<tr class="separator:ga3ccfe2bc25e3d6ef42f89deebcf5031c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae373f892fc4b31832b6259c99264d3f6"><td class="memItemLeft" align="right" valign="top"><a id="gae373f892fc4b31832b6259c99264d3f6"></a>
int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#gae373f892fc4b31832b6259c99264d3f6">VADecPictureParameterBufferAV1::v_dc_delta_q</a></td></tr>
<tr class="memdesc:gae373f892fc4b31832b6259c99264d3f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">V DC delta from Y AC value range [-64..63]. <br /></td></tr>
<tr class="separator:gae373f892fc4b31832b6259c99264d3f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga93351152795879f7bcef625878dea950"><td class="memItemLeft" align="right" valign="top"><a id="ga93351152795879f7bcef625878dea950"></a>
int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga93351152795879f7bcef625878dea950">VADecPictureParameterBufferAV1::v_ac_delta_q</a></td></tr>
<tr class="memdesc:ga93351152795879f7bcef625878dea950"><td class="mdescLeft">&#160;</td><td class="mdescRight">V AC delta from Y AC value range [-64..63]. <br /></td></tr>
<tr class="separator:ga93351152795879f7bcef625878dea950"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa18c55eea75444706ca9108e54961498"><td class="memItemLeft" ><a id="gaa18c55eea75444706ca9108e54961498"></a>
union {</td></tr>
<tr class="memitem:gaa18c55eea75444706ca9108e54961498"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#gaa18c55eea75444706ca9108e54961498">VADecPictureParameterBufferAV1::qmatrix_fields</a></td></tr>
<tr class="memdesc:gaa18c55eea75444706ca9108e54961498"><td class="mdescLeft">&#160;</td><td class="mdescRight">quantization_matrix <br /></td></tr>
<tr class="separator:gaa18c55eea75444706ca9108e54961498"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd2850a234683025f5cf6dac4f36b861"><td class="memItemLeft" align="right" valign="top"><a id="gafd2850a234683025f5cf6dac4f36b861"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#gafd2850a234683025f5cf6dac4f36b861">VADecPictureParameterBufferAV1::cdef_damping_minus_3</a></td></tr>
<tr class="memdesc:gafd2850a234683025f5cf6dac4f36b861"><td class="mdescLeft">&#160;</td><td class="mdescRight">CDEF parameters. <br /></td></tr>
<tr class="separator:gafd2850a234683025f5cf6dac4f36b861"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5500d95e3391107523555657fa873b9f"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga5500d95e3391107523555657fa873b9f">VADecPictureParameterBufferAV1::cdef_y_strengths</a> [8]</td></tr>
<tr class="separator:ga5500d95e3391107523555657fa873b9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gada3073a54032398958065d63765e0b61"><td class="memItemLeft" ><a id="gada3073a54032398958065d63765e0b61"></a>
union {</td></tr>
<tr class="memitem:gada3073a54032398958065d63765e0b61"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#gada3073a54032398958065d63765e0b61">VADecPictureParameterBufferAV1::loop_restoration_fields</a></td></tr>
<tr class="memdesc:gada3073a54032398958065d63765e0b61"><td class="mdescLeft">&#160;</td><td class="mdescRight">loop restoration parameters <br /></td></tr>
<tr class="separator:gada3073a54032398958065d63765e0b61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4ed3e2d4d4703eaf53d2e2a1b9ad32cb"><td class="memItemLeft" align="right" valign="top"><a id="ga4ed3e2d4d4703eaf53d2e2a1b9ad32cb"></a>
VAWarpedMotionParamsAV1&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga4ed3e2d4d4703eaf53d2e2a1b9ad32cb">VADecPictureParameterBufferAV1::wm</a> [7]</td></tr>
<tr class="memdesc:ga4ed3e2d4d4703eaf53d2e2a1b9ad32cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">global motion <br /></td></tr>
<tr class="separator:ga4ed3e2d4d4703eaf53d2e2a1b9ad32cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga92301dfcfd4dce1740ef553a192b6d3a"><td class="memItemLeft" align="right" valign="top"><a id="ga92301dfcfd4dce1740ef553a192b6d3a"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga92301dfcfd4dce1740ef553a192b6d3a">VASliceParameterBufferAV1::slice_data_size</a></td></tr>
<tr class="memdesc:ga92301dfcfd4dce1740ef553a192b6d3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The byte count of current tile in the bitstream buffer, starting from first byte of the buffer. It uses the name slice_data_size to be consistent with other codec, but actually means tile_data_size. <br /></td></tr>
<tr class="separator:ga92301dfcfd4dce1740ef553a192b6d3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga265d21ffe5729c23ade5a24a3855593a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga265d21ffe5729c23ade5a24a3855593a">VASliceParameterBufferAV1::slice_data_offset</a></td></tr>
<tr class="separator:ga265d21ffe5729c23ade5a24a3855593a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac53db5d37e4f9c2d0807b0769f0266e3"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#gac53db5d37e4f9c2d0807b0769f0266e3">VASliceParameterBufferAV1::slice_data_flag</a></td></tr>
<tr class="separator:gac53db5d37e4f9c2d0807b0769f0266e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3a8bb58303882ab1aa895ee991a9833b"><td class="memItemLeft" align="right" valign="top"><a id="ga3a8bb58303882ab1aa895ee991a9833b"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#ga3a8bb58303882ab1aa895ee991a9833b">VASliceParameterBufferAV1::anchor_frame_idx</a></td></tr>
<tr class="memdesc:ga3a8bb58303882ab1aa895ee991a9833b"><td class="mdescLeft">&#160;</td><td class="mdescRight">anchor frame index for large scale tile. index into an array AnchorFrames of the frames that the tile uses for prediction. valid only when large_scale_tile equals 1. <br /></td></tr>
<tr class="separator:ga3a8bb58303882ab1aa895ee991a9833b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac179f878eea8c5fa8ab364062dc7ce19"><td class="memItemLeft" align="right" valign="top"><a id="gac179f878eea8c5fa8ab364062dc7ce19"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__dec__av1.html#gac179f878eea8c5fa8ab364062dc7ce19">VASliceParameterBufferAV1::tile_idx_in_tile_list</a></td></tr>
<tr class="memdesc:gac179f878eea8c5fa8ab364062dc7ce19"><td class="mdescLeft">&#160;</td><td class="mdescRight">tile index in the tile list. Valid only when large_scale_tile is enabled. Driver uses this field to decide the tile output location. <br /></td></tr>
<tr class="separator:gac179f878eea8c5fa8ab364062dc7ce19"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>This AV1 decoding API supports 8-bit/10bit 420 format only. </p>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga0241c07299a9a0a691c9633e394b71d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0241c07299a9a0a691c9633e394b71d0">&#9670;&nbsp;</a></span>VAAV1TransformationType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__api__dec__av1.html#ga0241c07299a9a0a691c9633e394b71d0">VAAV1TransformationType</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga0241c07299a9a0a691c9633e394b71d0a1b9715daea4a54335391d2b6b6233750"></a>VAAV1TransformationIdentity&#160;</td><td class="fielddoc"><p>identity transformation, 0-parameter </p>
</td></tr>
<tr><td class="fieldname"><a id="gga0241c07299a9a0a691c9633e394b71d0a36567b6f127d914eafe681fa9b334208"></a>VAAV1TransformationTranslation&#160;</td><td class="fielddoc"><p>translational motion, 2-parameter </p>
</td></tr>
<tr><td class="fieldname"><a id="gga0241c07299a9a0a691c9633e394b71d0abef31d50651cdacc653419b3ae201902"></a>VAAV1TransformationRotzoom&#160;</td><td class="fielddoc"><p>simplified affine with rotation + zoom only, 4-parameter </p>
</td></tr>
<tr><td class="fieldname"><a id="gga0241c07299a9a0a691c9633e394b71d0a4b66d282272741154399ef696ad45497"></a>VAAV1TransformationAffine&#160;</td><td class="fielddoc"><p>affine, 6-parameter </p>
</td></tr>
<tr><td class="fieldname"><a id="gga0241c07299a9a0a691c9633e394b71d0a7e8c948c7abeb50a702b0737a768ed87"></a>VAAV1TransformationCount&#160;</td><td class="fielddoc"><p>transformation count </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="ga2bc798bccf2dcefa55177ea419590ba9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2bc798bccf2dcefa55177ea419590ba9">&#9670;&nbsp;</a></span>base_qindex</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t VADecPictureParameterBufferAV1::base_qindex</td>
</tr>
</table>
</div><div class="memdoc">
<p>quantization </p>
<p>Y AC index value range [0..255] </p>
</div>
</div>
<a id="ga5500d95e3391107523555657fa873b9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5500d95e3391107523555657fa873b9f">&#9670;&nbsp;</a></span>cdef_y_strengths</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t VADecPictureParameterBufferAV1::cdef_y_strengths[8]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Encode cdef strength:</p>
<p>The cdef_y_strengths[] and cdef_uv_strengths[] are expected to be packed with both primary and secondary strength. The secondary strength is given in the lower two bits and the primary strength is given in the next four bits.</p>
<p>cdef_y_strengths[] &amp; cdef_uv_strengths[] should be derived as: (cdef_y_strengths[]) = (cdef_y_pri_strength[] &lt;&lt; 2) | (cdef_y_sec_strength[] &amp; 0x03) (cdef_uv_strengths[]) = (cdef_uv_pri_strength[] &lt;&lt; 2) | (cdef_uv_sec_strength[] &amp; 0x03) In which, cdef_y_pri_strength[]/cdef_y_sec_strength[]/cdef_uv_pri_strength[]/cdef_uv_sec_strength[] are variables defined in AV1 Spec 5.9.19. The cdef_y_strengths[] &amp; cdef_uv_strengths[] are corresponding to LIBAOM variables cm-&gt;cdef_strengths[] &amp; cm-&gt;cdef_uv_strengths[] respectively. </p>
</div>
</div>
<a id="ga18a122fb87a96420506449194fac85c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga18a122fb87a96420506449194fac85c7">&#9670;&nbsp;</a></span>current_frame</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">VASurfaceID VADecPictureParameterBufferAV1::current_frame</td>
</tr>
</table>
</div><div class="memdoc">
<p>Picture level information. </p>
<p>buffer description of decoded current picture </p>
</div>
</div>
<a id="ga1866b0695f2ced3006c0dcdf34be74bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1866b0695f2ced3006c0dcdf34be74bc">&#9670;&nbsp;</a></span>enable_interintra_compound</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t { ... } ::enable_interintra_compound</td>
</tr>
</table>
</div><div class="memdoc">
<p>read_compound_tools </p>
</div>
</div>
<a id="ga9bb4dffe35a98a660c600b9e6e5cc53a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9bb4dffe35a98a660c600b9e6e5cc53a">&#9670;&nbsp;</a></span>frame_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t { ... } ::frame_type</td>
</tr>
</table>
</div><div class="memdoc">
<p>flags for current picture same syntax and semantic as those in AV1 code </p>
<p>Frame Type 0: KEY_FRAME; 1: INTER_FRAME; 2: INTRA_ONLY_FRAME; 3: SWITCH_FRAME For SWITCH_FRAME, application shall set error_resilient_mode = 1, refresh_frame_flags, etc. appropriately. And driver will convert it to INTER_FRAME. </p>
</div>
</div>
<a id="gade6b6810588a701d1ca86defe06ae461"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gade6b6810588a701d1ca86defe06ae461">&#9670;&nbsp;</a></span>profile</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t VADecPictureParameterBufferAV1::profile</td>
</tr>
</table>
</div><div class="memdoc">
<p>sequence level information </p>
<p>AV1 bit stream profile </p>
</div>
</div>
<a id="ga7da66acfa828f2401415d09e544b0ae8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7da66acfa828f2401415d09e544b0ae8">&#9670;&nbsp;</a></span>ref_frame_idx</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t VADecPictureParameterBufferAV1::ref_frame_idx[7]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Reference frame indices. </p>
<p>Contains a list of indices into ref_frame_map[8]. It specifies the reference frame correspondence. The indices of the array are defined as [LAST_FRAME – LAST_FRAME, LAST2_FRAME – LAST_FRAME, …, ALTREF_FRAME – LAST_FRAME], where each symbol is defined as: enum{INTRA_FRAME = 0, LAST_FRAME, LAST2_FRAME, LAST3_FRAME, GOLDEN_FRAME, BWDREF_FRAME, ALTREF2_FRAME, ALTREF_FRAME}; </p>
</div>
</div>
<a id="ga32fd81c82965ccf7e704d85ddf312178"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga32fd81c82965ccf7e704d85ddf312178">&#9670;&nbsp;</a></span>ref_frame_map</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">VASurfaceID VADecPictureParameterBufferAV1::ref_frame_map[8]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Surface indices of reference frames in DPB. </p>
<p>Contains a list of uncompressed frame buffer surface indices as references. Application needs to make sure all the entries point to valid frames except for intra frames by checking ref_frame_id[]. If missing frame is identified, application may choose to perform error recovery by pointing problematic index to an alternative frame buffer. Driver is not responsible to validate reference frames' id. </p>
</div>
</div>
<a id="gac53db5d37e4f9c2d0807b0769f0266e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac53db5d37e4f9c2d0807b0769f0266e3">&#9670;&nbsp;</a></span>slice_data_flag</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VASliceParameterBufferAV1::slice_data_flag</td>
</tr>
</table>
</div><div class="memdoc">
<p>see VA_SLICE_DATA_FLAG_XXX definitions </p>
</div>
</div>
<a id="ga265d21ffe5729c23ade5a24a3855593a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga265d21ffe5729c23ade5a24a3855593a">&#9670;&nbsp;</a></span>slice_data_offset</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VASliceParameterBufferAV1::slice_data_offset</td>
</tr>
</table>
</div><div class="memdoc">
<p>offset to the first byte of the data buffer. </p>
</div>
</div>
</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>