VA-API
2.22.0
|
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. | |
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
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.
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.
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.
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.