_RocdecAv1SegmentationStruct Struct Reference#
Segmentation Information for AV1. More...
#include <rocdecode.h>
Data Fields | |
union { | |
struct { | |
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. | |
} bits | |
uint32_t value | |
} | segment_info_fields |
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. | |
Detailed Description
Segmentation Information for AV1.
Field Documentation
◆ enabled
uint32_t _RocdecAv1SegmentationStruct::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 _RocdecAv1SegmentationStruct::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 _RocdecAv1SegmentationStruct::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 _RocdecAv1SegmentationStruct::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:
- /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-rocdecode/checkouts/latest/api/rocdecode.h