VA-API  2.22.0
Public Attributes | List of all members
VASegmentationStructAV1 Struct Reference

AV1 Decoding Picture Parameter Buffer Structure. More...

#include <va_dec_av1.h>

Public Attributes

int16_t feature_data [8][8]
 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 < x)? x : ((z > 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 }.
 
uint8_t feature_mask [8]
 indicates if a feature is enabled or not. Each bit field itself is the feature_id. Index is segment_id. feature_mask[segment_id] & (1 << feature_id) equal to 1 specify that the feature of feature_id for segment of segment_id is enabled, otherwise disabled.
 
uint32_t va_reserved [VA_PADDING_LOW]
 Reserved bytes for future use, must be zero.
 
uint32_t enabled: 1
 
uint32_t update_map: 1
 
uint32_t temporal_update: 1
 
uint32_t update_data: 1
 
uint32_t reserved: 28
 Reserved bytes for future use, must be zero.
 

Detailed Description

AV1 Decoding Picture Parameter Buffer Structure.

This structure conveys picture level parameters. App should send a surface with this data structure down to VAAPI once per frame.

Segmentation Information

Member Data Documentation

◆ enabled

uint32_t VASegmentationStructAV1::enabled

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.

◆ temporal_update

uint32_t VASegmentationStructAV1::temporal_update

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.

◆ update_data

uint32_t VASegmentationStructAV1::update_data

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.

◆ update_map

uint32_t VASegmentationStructAV1::update_map

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.


The documentation for this struct was generated from the following file: