Updating or loading QPs using LoadQP option is not supported at Gstreamer, but it
is possible to use loadQP in livestreaming at Control software level. The QP table
is passed an input along with input frame buffer using AL_Encoder_Process
API. You must update pQPTable values for each frame
in live-streaming.
bool AL_Encoder_Process(AL_HEncoder hEnc, AL_TBuffer * pFrame, AL_TBuffer * pQpTable)
Pushes a frame buffer to the encoder. According to the GOP pattern, this frame buffer could or could not be encoded immediately.
Parameters
[in] | hEnc | Handle to an encoder object |
[in] | pFrame | Pointer to the frame buffer to encode The pFrame
buffer needs to have an associated AL_TSrcMetaData describing how
the yuv is stored in memory. The memory of the buffer should not be
altered while the encoder is using it. There are some restrictions
associated to the source metadata. The chroma pitch has to be equal
to the luma pitch and must be 32bits aligned and should be superior
to the minimum supported pitch for the resolution (See
AL_EncGetMinPitch() ). The chroma offset
shouldn't fall inside the luma block. The FourCC should be the same
as the one from the channel (See
AL_EncGetSrcFourCC() ). |
[in] | pQpTable | Pointer to an optional qp table used if the external qp table mode is enabled |
Returns
If the function succeeds the return value is nonzero (true) If the function fails the return value is zero (false).