Bitrate Dynamic changes with VP9 encoder on the Xavier board is not working


I’m evaluating the VP9 and H264 OMX encoders on the Xavier board. One of the tests I’m performing is to set the bitrate dinamically each ~20 secs. I’m using the OV5693 camera sensor with gstreamer 1.14 and the bitrate property is being set via RidgeRun’s GstD (Gstreamer Daemon).

The results with the H264 encoder are as expected, but with the VP9 encoder the bitrate is always equal than the first one assigned in the pipeline. Here is the main pipeline I’m using:

gst-launch-1.0 nvarguscamerasrc ! “video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1” ! nvvidconv ! “video/x-raw(memory:NVMM), format=(string)NV12” ! omxvp9enc name=encoder control-rate=2 bitrate=2000000 ! fakesink

As you can see I’m using CBR and the starting bitrate is 2Mbps.

I would appreciate any recommendation about this issue.

Thank you in advance.

Hi Juan,
We will try to reproduce the issue.

May we know your usecase of using vp9 encoder? The functionality should work fine in H264/H265. Please share why you don’t use H264/H265 but VP9 instead.

Hi DaneLLL

H264 and VP9 are the customer requirements. The dynamic bitrate change is one of the most important features to support on their Xavier product, that’s why we are profiling the capabilities of the encoders doing multiple tests.

Have you ever tested such behavior? Do you know if dynamic bitrate changes on VP9 are supported and working properly as H264 does?

Hi Juan,
We can observe the issue and do further check.

Hi DaneLLL.

That’s interesting. Thank you for checking it.
So are you planning to support dynamic bitrate on VP9 soon?
If so, how long might it take to be supported for the customer to start using it?

Hi juan,
We are evaluating this request.

Sorry for late reply. We have this supported from r32.1. Please give it a try.