The encoder input and output requirements are shown in the following table.
Requirement | Description |
---|---|
Input Buffer | |
No of Buffers |
For AVC: 2 + no. of B Frames(num-B). For HEVC: 1 + no. of B Frames(num-B). Note: In look-ahead mode, add this value by number of look-ahead frames.
|
Contiguous | Yes |
Alignment | 32 |
Size |
stride * slice-height * chroma-mode. stride should be 32-aligned. slice-height should be 16-aligned for AVC and 32-aligned for HEVC. Note: It
works with a slice-height 8-aligned, however hardware's harmless
requests might be outside of the buffer.
|
Output Buffer | |
No of Buffers |
For AVC: 2 + no. of B-Frames(num-B). For HEVC: 1 + no. of B-Frames (num-B). Note: In the subframe mode, multiply this value by num-slices.
|
Contiguous | Yes |
Alignment | 32 |
Size |
Use below API to get size. AL_GetMitigatedMaxNalSize (AL_TDimension tDim, AL_EChromaMode eMode, int iBitDepth) |
Note: Because the VCU uses multiple internal encoder engines, it is not possible to reduce the output buffer requirements.