Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.
6629 Discussions

Change H.264 encoder bitrate in the time of encoding

evgeny777
Beginner
180 Views
Hi, all!

I'm developing VoIP application using Intel IPP H.264 encoder/decoder. I want my application to adapt to
current network conditions, so it can dynamically change bitrate of encoded H.264 stream. For exampleapplication can
start with relatively low bitrate (100 Kbps) and if user have plenty of available bandwidth then I want to increase encoder
bitrate. Can I make SetParams() call while encoding? Or I should create another encoder instance to accomplish this task?
0 Kudos
1 Solution
Emmanuel_W_
New Contributor I
180 Views
Quoting - evgeny777
Hi, all!

I'm developing VoIP application using Intel IPP H.264 encoder/decoder. I want my application to adapt to
current network conditions, so it can dynamically change bitrate of encoded H.264 stream. For exampleapplication can
start with relatively low bitrate (100 Kbps) and if user have plenty of available bandwidth then I want to increase encoder
bitrate. Can I make SetParams() call while encoding? Or I should create another encoder instance to accomplish this task?

Calling SetParam is better than reinitializing the encoder (this avoid generating an IDR) but the current ofSetParam implementation is not great in my opinion. The rate controller is reinitialized altogether which can cause temporary overshoot/undershoot which is not ideal for a VoIP application.

Emmanuel

View solution in original post

1 Reply
Emmanuel_W_
New Contributor I
181 Views
Quoting - evgeny777
Hi, all!

I'm developing VoIP application using Intel IPP H.264 encoder/decoder. I want my application to adapt to
current network conditions, so it can dynamically change bitrate of encoded H.264 stream. For exampleapplication can
start with relatively low bitrate (100 Kbps) and if user have plenty of available bandwidth then I want to increase encoder
bitrate. Can I make SetParams() call while encoding? Or I should create another encoder instance to accomplish this task?

Calling SetParam is better than reinitializing the encoder (this avoid generating an IDR) but the current ofSetParam implementation is not great in my opinion. The rate controller is reinitialized altogether which can cause temporary overshoot/undershoot which is not ideal for a VoIP application.

Emmanuel
Reply