Hi there,
We are using the i.MX 8X (On a Digi ConnectCore 8X Pro) to encode video at a constant bitrate with gstreamer. After updating our BSP, we have found that the encoder is not reaching the requested bitrate.
This is reproducible with the 'ball' test source in gstreamer (with 300 frames and 30fps we would expect a filesize of around 5MB at 4000Kbps)
gst-launch-1.0 -e videotestsrc pattern=ball num-buffers=300 ! video/x-raw,format=NV12,width=640,height=512,framerate=30/1 ! v4l2h264enc extra-controls="controls,video_bitrate_mode=1,video_bitrate=4000000,video_b_frames=0" ! "video/x-h264,profile=baseline,level=(string)4" ! h264parse ! filesink location=out.h264
On encoder firmware version 1.3.0, this results in a file size of 4980939 bytes (~5MB), vs on 1.4.5 the result is only 102994 bytes (~0.1MB).
Could you confirm that this is a known regression in the firmware and whether there is a workaround to use constant bitrate?
Tested platform details:
- kernel 6.6.52 (digi embedded yocto)
- gstreamer 1.24.7