Hi everyone,
I try to config the vpu to get constant bitrate with high vedio quality.
my vpuenc lib version as follow:
====== VPUENC: 4.4.5 build on Oct 30 2019 12:04:50. ======
wrapper: 3.0.0 (VPUWRAPPER_ARM64_LINUX Build on Oct 30 2019 11:31:36)
vpulib: 1.1.1
firmware: 1.1.1.65535
According to the follow ticket prompt, I need to set nUserQpMinEnable and userQpMaxEnable
I have queried the code of GStreamer vpuenc, which uses a structure vpuencopenparamsimp, the structure has no members of nUserQpMinEnable or userQpMaxEnable. GStreamer vpuenc plugins use api VPU_EncOpenSimp instead of VPU_EncOpen.
As the document 《i.MX VPU Application Programming Interface
Linux® Reference Manual》 says, VPU_EncOpen Function to open new VPU handle, called by function VPU_EncOpenSimp.
My question:
1)VPU_ Encopen and Vpu_ Encopensimp, what is the other area of these two APIs? why use Vpu_ Encopensimp ,but not VPU_ Encopen?
2)in gstvpuenc.h, can I use VpuEncOpenParam instead of VpuEncOpenParamSimp? By doing so, I can modify the members nUserQpMinEnable and userQpMaxEnable in the structure.
gstreamer vpuenc plugins allows me to do so? Will this approach cause other problems?
for 5.4.70 bsp, you can find the vpu_wrapper.h define this, the path is:
"<build path>/tmp/work/aarch64-mx8m-poky-linux/imx-vpuwrap/4.5.7-r0/git/vpu_wrapper.h"