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

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

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

Jump to solution
1,391 Views
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

Tags (1)
0 Kudos
1 Solution
1,295 Views
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,

View solution in original post

0 Kudos
5 Replies
1,356 Views
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 Kudos
1,364 Views
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 Kudos
1,342 Views
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 Kudos
1,296 Views
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 Kudos
1,328 Views
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

Tags (1)
0 Kudos