The following table contain list of newly added encoder and decoder control software APIs in 2020.1 release.
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 |