Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

Rate control method of H264 IPP

slayer583
Beginner
317 Views

Hello, experts.

I see H264 sample code of IPP and confused for rate control method of IPP.

CBR or VBR method is operated in PostFrame function.

In this function, some variable are there.

bEncoded, mBitsEncodedTotal and bpfEncoded.

At first time, I had understood that

bpfEncoded is encoded bit of current frame,

bEncoded and mBitsEncodedTotal are total bits of curr and prev frame.

However, I realize my misunderstand.

mBitsEncodedTotal is total generated bit until prev frame.
I think that is right.
But, the bEncoded makes me confused.
The bit is generated after quantization. However, in postFrame process, the quantization parameter is not determined.
What is bEncoded and bpfEncoded?

And, bEncoded is equal to m_total_bits_encoded in umc_h264_gen_enc.cpp.
This variable is calculated in front of Rate control process, PostFrame().

m_total_bits_encoded += m_pbitstreams[slice]->GetBsOffset();

But, I couldn't understand this equation's meaning and process.
If you inform these to me, I could see meaning of bEncoded.

Thank you for your help.

Regards,

TG

0 Kudos
1 Reply
Emmanuel_W_
New Contributor I
317 Views

Hello, experts.

I see H264 sample code of IPP and confused for rate control method of IPP.

CBR or VBR method is operated in PostFrame function.

In this function, some variable are there.

bEncoded, mBitsEncodedTotal and bpfEncoded.

At first time, I had understood that

bpfEncoded is encoded bit of current frame,

bEncoded and mBitsEncodedTotal are total bits of curr and prev frame.

However, I realize my misunderstand.

mBitsEncodedTotal is total generated bit until prev frame.
I think that is right.
But, the bEncoded makes me confused.
The bit is generated after quantization. However, in postFrame process, the quantization parameter is not determined.
What is bEncoded and bpfEncoded?

And, bEncoded is equal to m_total_bits_encoded in umc_h264_gen_enc.cpp.
This variable is calculated in front of Rate control process, PostFrame().

m_total_bits_encoded += m_pbitstreams[slice]->GetBsOffset();

But, I couldn't understand this equation's meaning and process.
If you inform these to me, I could see meaning of bEncoded.

Thank you for your help.

Regards,

TG

I thinkmBitsEncodedTotal is the total number of bits encoded so far not counting the last frame

bEncoded is the total number of bits counting the last frame

bpfEncoded is the number of bits in the last frame

The quantization is estimated for the next frame in PostFrame

0 Kudos
Reply