Hi @KrishnaraoP
I wanted to share please if you can use gstreamer pipeline in order to run the encoder on i.MX8MPlus. There is no issue in the VPU firmware and we can control QP for the I and P frames.
Few things to consider: talking about QP for I frame, that if frame_level_rate_control is 1, hevc_minimum_qp_value and hevc_maximum_qp_value are used in the pipeline. If frame_level_rate_control is 0 then only hevc_i_frame_qp_value take into effect (or try modifying all the controls).
for example: frame_level_rate_control is 0 : v4l2h265enc extra-controls="controls,hevc_profile=1,hevc_level=15,hevc_i_frame_qp_value =20")and check if it works as expected, or modify all the controls to get it working. (qpMin/qpMax and qp in this case - for example: v4l2h265enc extra-controls="controls,hevc_profile=1,hevc_level=15,hevc_maximum_qp_value=20, hevc_i_frame_qp_value=19")
For V4L2 codec observations:

you can list the V4L2 control supported by the device.
root@imx8mpevk:~# v4l2-ctl -d /dev/video0 -l

i.MX Linux User guide has numerous gstreamer pipeline to get an idea about usage of different plugins. Topic especially related to encoding section 7.3.3 Video encoding page 63.
For h265 as an example a gstreamer pipeline, as follows:
gst-launch-1.0 filesrc location=out.nv12 ! rawvideoparse width=3840 height=2160 format=nv12 framerate=30/1 colorimetry=bt709 ! v4l2h264enc extra-controls="controls,h264_profile=1,h264_level=15,h264_minimum_qp_value=20, h264_i_frame_qp_value=22" ! filesink location=qp22_test.h264
Moreover, https://community.nxp.com/t5/i-MX-Processors/8M-Plus-H264-Encoding-issues-unreliable-firmware/m-p/21...seems to be the same issue kindly let me know if further information is required.
Kind Regards,
Tashia