IMX8M plus: Does VPU H264 encoder support profile and level configuration?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

IMX8M plus: Does VPU H264 encoder support profile and level configuration?

跳至解决方案
1,769 次查看
MadhuG
Contributor II

We are using VPU h264 encoder(GStreamer element) for h264 encoding in our application. The platform is IMX 8M plus.

I could not find options/element properties to change profile/level for the encoder. Does the encoder support profile and level configuration?

Thanks,

MadhuG

标记 (1)
0 项奖励
回复
1 解答
1,673 次查看
MadhuG
Contributor II
I have updated the VPU wrapper function to version MM_04.07.00_2205_L5.15.y in my yocto layer to fix this issue.The latest version of IMX VPU wrapper has got the fix for calculating the correct H264 level.

Thanks,

在原帖中查看解决方案

0 项奖励
回复
5 回复数
1,734 次查看
MadhuG
Contributor II

Hi Joanxie,

Thank you. I am able to find the executable in unit test. We are using GStreamer element vpuenc_h264.

When I do 

gst-inspect vpuenc_h264

There is no option available for the levels config. Is there any way to select the levels in GStreamer element?

To give you more information on the encoder, I have run the below pipeline with VPU h264 encoder

gst-launch-1.0 videotestsrc ! vpuenc_h264 ! fakesink
====== VPUENC: 4.6.4 build on Jan 18 2022 09:10:37. ======
wrapper: 3.0.0 (VPUWRAPPER_ARM64_LINUX Build on Jul 16 2021 02:05:07)
vpulib: 1.1.1
firmware: 1.1.1.43690

Thanks,

0 项奖励
回复
1,742 次查看
joanxie
NXP TechSupport
NXP TechSupport

you can find ./vc8000e_hevcenc and ./vc8000e_h264enc under /unit_tests/VPU/hantro/, You can see all available options trying to run the unit test. Customer can set the level with unit test.

0 项奖励
回复
1,720 次查看
MadhuG
Contributor II
I would like to add that VPU wrapper function doesn't seem to calculate the H264 level according to the resolution. For all the resolutions, it selects Profile:baseline&Level:1. I have tried with 720p30 & 1080p30, all the h264 encoded streams from VPU has got the same profile & level.

Thanks,
0 项奖励
回复
1,674 次查看
MadhuG
Contributor II
I have updated the VPU wrapper function to version MM_04.07.00_2205_L5.15.y in my yocto layer to fix this issue.The latest version of IMX VPU wrapper has got the fix for calculating the correct H264 level.

Thanks,
0 项奖励
回复
1,706 次查看
joanxie
NXP TechSupport
NXP TechSupport

maybe you can check VPU_EncInitConfigParams from /build-wayland-imx8mp/tmp/work/armv8a-mx8mp-poky-linux/imx-vpuwrap/git-r0/git/vpu_wrapper_hantro_VCencoder.c, which is called by VPU_EncOpen

标记 (1)
0 项奖励
回复