_RocdecAv1SegmentationStruct Struct Reference

_RocdecAv1SegmentationStruct Struct Reference#

rocDecode: _RocdecAv1SegmentationStruct Struct Reference
_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