VA-API  2.19.0
Public Attributes | List of all members
VAEncFEIMVPredictorHEVC Struct Reference

Application can use this definition as reference to allocate the buffer based on MaxNumPredictor returned from attribute VAConfigAttribFEIMVPredictors query. this buffer allocation is always based on 16x16 block even block size is indicated as 32x32 or 64x64, and buffer layout is always in 32x32 block raster scan order even block size is 16x16 or 64x64. If 32x32 block size is set, only the data in the first 16x16 block (block 0) is used for 32x32 block. If 64x64 block size is set MV layout is still in 32x32 raster scan order, the same as 32x32 and the first 16x16 block within each 32x32 block needs to have intended MV data (four 32x32 blocks will have the same MV data in the correspondent first 16x16 block). Data structure for each 16x16 block is defined as below (same as AVC except BlockSize/Reserved bits). More...

#include <va_fei_hevc.h>

Public Attributes

struct {
ref_idx [4]
 Feference index corresponding to the entry of RefPicList0 & RefPicList1 in slice header (final reference list). Note that RefPicList0 & RefPicList1 needs to be the same for all slices. Ref0xIndex – RefPicList0; Ref1xIndex – RefPicList1; x – 0 ~ MaxNumPredictor.
 
uint32_t block_size: 2
 Valid only when MVPredictor is set to 011 for HEVC. Only valid in the first 16x16 block. 00: MV predictor disabled for this 32x32 block 01: MV predictor enabled per 16x16 block for this 32x32 block 10: MV predictor enabled per 32x32 block, the rest of 16x16 block data within this 32x32 block are ignored 11: Reserved.
 

Detailed Description

Application can use this definition as reference to allocate the buffer based on MaxNumPredictor returned from attribute VAConfigAttribFEIMVPredictors query. this buffer allocation is always based on 16x16 block even block size is indicated as 32x32 or 64x64, and buffer layout is always in 32x32 block raster scan order even block size is 16x16 or 64x64. If 32x32 block size is set, only the data in the first 16x16 block (block 0) is used for 32x32 block. If 64x64 block size is set MV layout is still in 32x32 raster scan order, the same as 32x32 and the first 16x16 block within each 32x32 block needs to have intended MV data (four 32x32 blocks will have the same MV data in the correspondent first 16x16 block). Data structure for each 16x16 block is defined as below (same as AVC except BlockSize/Reserved bits).


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