New APIs - 2024.1 English - PG252

H.264/H.265 Video Codec Unit v1.2 Solutions LogiCORE IP Product Guide (PG252)

Document ID
PG252
Release Date
2024-05-30
Version
2024.1 English

The following table contain list of newly added encoder and decoder control software APIs in 2020.1 release.

Table 1. New APIs
2020.1 Release API Description
AL_TBuffer* AL_Buffer_CreateEmpty(AL_TAllocator* pAllocator, PFN_RefCount_CallBack pCallBack) Creates a buffer structure without bind memory
int AL_Buffer_AllocateChunk(AL_TBuffer* pBuf, size_t zSize) Allocate and bind a new memory chunk to the buffer
int AL_Buffer_AddChunk(AL_TBuffer* pBuf,AL_HANDLEhChunk, size_t zSize) Add an already allocated chunk to a buffer
static AL_INLINEint8_t AL_Buffer_GetChunkCount(const AL_TBuffer* pBuf) Get the number of chunks belonging to the buffer
static AL_INLINEbool AL_Buffer_HasChunk(const AL_TBuffer* pBuf, int8_t iChunkIdx) Check if a buffer has a chunk with specific index
uint8_t* AL_Buffer_GetDataChunk Gets a pointer to a chunk data
size_t AL_Buffer_GetSize(const AL_TBuffer* pBuf) Gets the buffer size. If the buffer contains multiple chunks, return the size of the first chunk
size_t AL_Buffer_GetSizeChunk(const AL_TBuffer* pBuf, int iChunkIdx) Gets the size of a chunk
AL_META_TYPE_RATECTRL Rate control statistics meta
uint32_t AL_GetAllocSizeSrc_Y(AL_ESrcMode eSrcFmt, int iPitch, int iStrideHeight); Retrieves the size of the luma component of a YUV frame buffer
uint32_t AL_GetAllocSizeSrc_UV(AL_ESrcMode eSrcFmt,int iPitch, int iStrideHeight, AL_EChromaModeeChromaMode) Retrieves the size of the choma component of a YUV frame buffer
AL_CB_EndParsing It is called every time an input buffer is parsed by the hardware. If bSplitInput is disable, pParsedFrame should not have AL_THandleMetaData
bool AL_Encoder_SetFreqIDR(AL_HEncoderhEnc, int iFreqIDR) Changes the IDR frequency. If the new frequency is shorter than the number of frames already encoded since the last IDR, insert and IDR as soon as possible. Otherwise, the next IDR is inserted when the new IDR frequency is reached.
bool AL_Encoder_SetQPBounds(AL_HEncoderhEnc, int16_t iMinQP, int16_t iMaxQP) Changes the bounds of the QP set by the rate control
bool AL_Encoder_SetQPIPDelta(AL_HEncoderhEnc, int16_t uIPDelta); Changes the QP delta between I frames and P frames
bool AL_Encoder_SetQPPBDelta(AL_HEncoder hEnc, int16_t uPBDelta) Changes the QP delta between P frames and B frames