Questions about encoder floor and max rates

We were having encoder performance issues when a vendor told us we should do:

sudo sh -c “cat /sys/kernel/debug/bpmp/debug/clk/nafll_nvenc/max_rate > /sys/kernel/debug/bpmp/debug/clk/nafll_nvenc/floor_rate”

Which did indeed fix our issue. However, strange thing we noticed:

We have two TX2 devboards, same exact kernel, but the max_rates are different between them:

Newer TX2 devboard:

$ sudo cat /sys/kernel/debug/bpmp/debug/clk/nafll_nvenc/max_rate

Older TX2 devboard:

$ sudo cat /sys/kernel/debug/bpmp/debug/clk/nafll_nvenc/max_rate

Two questions:

  1. What do these values really govern? I don’t see them documented but they have a profound effect on encoder performance.

  2. Why are they different across two TX2 deboards with identical kernels and JP releases (R32.3.1)?


The boards we have are with 1113.6MHz:

root@nvidia-desktop:/home/nvidia# sudo cat /sys/kernel/debug/bpmp/debug/clk/nafll_nvenc/max_rate

Certain newer TX2 SKUs can run up to 1164.8MHz. What is the usecase you run? 4Kp30 is the capability listed in developer guide.
It should work in 1113.6MHz.

It does provided we set the floor rate to the max rate (otherwise it doesn’t). We just wanted to confirm the discrepancy.

Our use case is two streams ~4k@30fps (I sat ~ because we are recording at the camera’s full resolution and then cropping in hardware using nvvidconv for speed).

What are these parameters and what do they govern exactly? (also why aren’t they documented since again, they seem to have a profound effect on recording performance)

So on the TX2 with max encoding clock 1113.6MHz, you cannot achieve two 4Kp30 encoding? Do you use v4l2 plugins such as nvv4l2h264enc? We are deprecating omx plugins.

Sorry, I missed this. We can achieve 30fps on both - I just want to know what these numbers are. Also, if you are deprecating the OMX plugins (sounds good since H.265 has bugs) I assume the nvv4l2XXX are their replacements?


Yes, please use gst-v4l2 plugins.