VA-API  2.22.0
List of all members
VAEncFEIMBCodeH264 Struct Reference

FEI output. More...

#include <va_fei_h264.h>

Detailed Description

FEI output.

Motion vector output is per 4x4 block. For each 4x4 block there is a pair of MVs for RefPicList0 and RefPicList1 and each MV is 4 bytes including horizontal and vertical directions. Depending on Subblock partition, for the shape that is not 4x4, the MV is replicated so each 4x4 block has a pair of MVs. The 16x16 block has 32 MVs (128 bytes). 0x8000 is used for correspondent intra block. The 16x16 block is in raster scan order, within the 16x16 block, each 4x4 block MV is ordered as below in memory. The buffer size shall be greater than or equal to the number of 16x16 blocks multiplied by 128 bytes. Note that, when separate ENC and PAK is enabled, the exact layout of this buffer is needed for PAK input. App can reuse this buffer, or copy to a different buffer as PAK input. Layout is defined as Generic motion vector data structure VAMotionVector

16x16 Block

| 1 | 2 | 5 | 6 |

| 3 | 4 | 7 | 8 |

| 9 | 10 | 13 | 14 |

| 11 | 12 | 15 | 16 |

VAEncFEIMBCodeH264 defines the data structure for VAEncFEIMBCodeBufferType per 16x16 MB block. it is output buffer of ENC and ENC_PAK modes, it's also input buffer of PAK mode. The 16x16 block is in raster scan order. Buffer size shall not be less than the number of 16x16 blocks multiplied by sizeof(VAEncFEIMBCodeH264). Note that, when separate ENC and PAK is enabled, the exact layout of this buffer is needed for PAK input. App can reuse this buffer, or copy to a different buffer as PAK input, reserved elements must not be modified when used as PAK input.


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