The VCU encoder supports the following features.
Both the VCU Control Software application and the GStreamer support scheduled bitrate changes at given frame numbers. The pre-built PetaLinux image includes the zynqmp_vcu_encode application in /usr/bin/. Source code of the GStreamer application is part of the gst-omx repository (https://github.com/Xilinx/gstreamer/tree/xlnx-rebase-v1.20.5/subprojects/gst-omx/examples/zynqultrascaleplus).
See the usage message for options:
zynqmp_vcu_encode --help
Constraints
The initial encoding session should start with the worst case maximum value for dynamic bitrate and dynamic B-frames parameters, for example, encoding session should start with num-bframes = 4 if you are planning to modify B-frames dynamically during the encode session. Similarly, for target-bitrate the encoding session should start with max-bitrate planned. You can alter the bitrate later, during encode.