Issue on using vpudec to decode video in h.264 format (i.MX8MP)

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Issue on using vpudec to decode video in h.264 format (i.MX8MP)

785件の閲覧回数
Cheok98
Contributor I

I have encountered issue of high latency and CPU usage when using vpudec (Gstreamer plugin) to decode h.264 video stream from an IP camera using i.MX8MP board.

the gstreamer script I used to run the application is as follows:

$ gst-launch-1.0 rtspsrc location=<rtsp_source> latency=0 ! rtph264depay ! h264parse ! vpudec ! fakesink

I have used the GST_DEBUG tool to print out the interlatency and cpuusage between each event and the figures below are the results I obtained.

When using vpudec:

vpudec debug log.png

 

When using v4l2h264dec:

v4l2h264dec debug log.png

 

When using avdec_h264:

avdec_h264 debug log.png

 

As you can see from the pictures, when using vpudec, the cpu usage is still very high (20 - 48%), and the latency is about 600ms. When using v4l2h264dec, the cpu usage is between (11 - 41%), the latency is about 500ms. While using avdec_h264, the cpu usage is between (14 - 32%), and the latency is about 80ms. 

Based on my testing, the avdec_h264 has the lowest latency to decode the video, while vpudec has the highest cpuusage and latency which is abnormal.

May I know, is there anything that I need to configure in the meta-layer before building the Yocto image for the vpu to work? For this application, I have built my own custom image using imx-image-core as the base. Thanks in advance!

0 件の賞賛
返信
3 返答(返信)

784件の閲覧回数
Cheok98
Contributor I

By the way, the Yocto version I used to build my image is kirkstone 5.15.71_2.2.0 release

0 件の賞賛
返信

765件の閲覧回数
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

You should try the latest BSP since there is a problem with gstreamer in version 5.xx

Regards

0 件の賞賛
返信

701件の閲覧回数
Cheok98
Contributor I

Hi,

I have tried running the same application with image built by Yocto scarthgap (kernel 5.0). But the vpudec still take very long time (600ms) to decode the h264 video.

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2184755%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Evpudec%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20h.264%20%E5%BD%A2%E5%BC%8F%20(i.MX8MP)%20%E3%81%AE%E3%83%93%E3%83%87%E3%82%AA%E3%82%92%E3%83%87%E3%82%B3%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%E9%9A%9B%E3%81%AE%E5%95%8F%E9%A1%8C%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2184755%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3Ei.MX8MP%20%E3%83%9C%E3%83%BC%E3%83%89%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20IP%20%E3%82%AB%E3%83%A1%E3%83%A9%E3%81%8B%E3%82%89%E3%81%AE%20h.264%20%E3%83%93%E3%83%87%E3%82%AA%20%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%A0%E3%82%92%E3%83%87%E3%82%B3%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%20vpudec%20(Gstreamer%20%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3)%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E3%83%AC%E3%82%A4%E3%83%86%E3%83%B3%E3%82%B7%E3%81%A8%20CPU%20%E4%BD%BF%E7%94%A8%E7%8E%87%E3%81%8C%E9%AB%98%E3%81%8F%E3%81%AA%E3%82%8B%E3%81%A8%E3%81%84%E3%81%86%E5%95%8F%E9%A1%8C%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%3E%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%20gstreamer%20%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%AF%E6%AC%A1%E3%81%AE%E3%81%A8%E3%81%8A%E3%82%8A%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%24%20gst-launch-1.0rtspsrc%20%E5%A0%B4%E6%89%80%20%3D%20%3CRTSP_SOURCE%3E%20%E3%83%AC%E3%82%A4%E3%83%86%E3%83%B3%E3%82%B7%20%3D%200%20!rtph264depay%20!h264parse%20!%E3%83%B4%E3%83%97%E3%83%87%E3%82%AF%EF%BC%81%E5%81%BD%E3%82%B7%E3%83%B3%E3%82%AF%3C%2FRTSP_SOURCE%3E%3C%2FP%3E%3CP%3EGST_DEBUG%20%E3%83%84%E3%83%BC%E3%83%AB%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%80%81%E5%90%84%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E6%83%85%E5%A0%B1%E9%96%93%E3%81%AE%E9%81%85%E5%BB%B6%E3%81%A8%20CPU%20%E4%BD%BF%E7%94%A8%E9%87%8F%E3%82%92%E5%87%BA%E5%8A%9B%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E4%BB%A5%E4%B8%8B%E3%81%AE%E5%9B%B3%E3%81%AF%E3%80%81%E5%8F%96%E5%BE%97%E3%81%97%E3%81%9F%E7%B5%90%E6%9E%9C%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3Evpudec%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88%3A%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22vpudec%20debug%20log.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22vpudec%20debug%20log.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F360452iE2948B088573B5D2%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22vpudec%20debug%20log.png%22%20alt%3D%22vpudec%20debug%20log.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3Ev4l2h264dec%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88%3A%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22v4l2h264dec%20debug%20log.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22v4l2h264dec%20debug%20log.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F360453iEE84D62C8CCF26D0%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22v4l2h264dec%20debug%20log.png%22%20alt%3D%22v4l2h264dec%20debug%20log.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3Eavdec_h264%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88%3A%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22avdec_h264%20debug%20log.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22avdec_h264%20debug%20log.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F360454i875780E351FF5398%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22avdec_h264%20debug%20log.png%22%20alt%3D%22avdec_h264%20debug%20log.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E5%86%99%E7%9C%9F%E3%81%8B%E3%82%89%E3%82%8F%E3%81%8B%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%80%81vpudec%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81CPU%20%E4%BD%BF%E7%94%A8%E7%8E%87%E3%81%AF%E4%BE%9D%E7%84%B6%E3%81%A8%E3%81%97%E3%81%A6%E9%9D%9E%E5%B8%B8%E3%81%AB%E9%AB%98%E3%81%8F%20(20%20-%2048%25)%E3%80%81%E3%83%AC%E3%82%A4%E3%83%86%E3%83%B3%E3%82%B7%E3%81%AF%E7%B4%84%20600%20%E3%83%9F%E3%83%AA%E7%A7%92%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82v4l2h264dec%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88%E3%80%81CPU%20%E4%BD%BF%E7%94%A8%E7%8E%87%E3%81%AF%20(11%20-%2041%25)%20%E3%81%AE%E9%96%93%E3%81%AB%E3%81%AA%E3%82%8A%E3%80%81%E3%83%AC%E3%82%A4%E3%83%86%E3%83%B3%E3%82%B7%E3%81%AF%E7%B4%84%20500%20%E3%83%9F%E3%83%AA%E7%A7%92%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82avdec_h264%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88%E3%80%81CPU%20%E4%BD%BF%E7%94%A8%E7%8E%87%E3%81%AF%20(14%20-%2032%25)%20%E3%81%AE%E9%96%93%E3%81%AB%E3%81%AA%E3%82%8A%E3%80%81%E3%83%AC%E3%82%A4%E3%83%86%E3%83%B3%E3%82%B7%E3%81%AF%E7%B4%84%2080%20%E3%83%9F%E3%83%AA%E7%A7%92%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E7%A7%81%E3%81%AE%E3%83%86%E3%82%B9%E3%83%88%E3%81%AB%E3%82%88%E3%82%8B%E3%81%A8%E3%80%81avdec_h264%20%E3%81%AF%E3%83%93%E3%83%87%E3%82%AA%E3%82%92%E3%83%87%E3%82%B3%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%83%AC%E3%82%A4%E3%83%86%E3%83%B3%E3%82%B7%E3%81%8C%E6%9C%80%E3%82%82%E4%BD%8E%E3%81%8F%E3%80%81vpudec%20%E3%81%AF%20CPU%20%E4%BD%BF%E7%94%A8%E9%87%8F%E3%81%A8%E3%83%AC%E3%82%A4%E3%83%86%E3%83%B3%E3%82%B7%E3%81%8C%E6%9C%80%E3%82%82%E9%AB%98%E3%81%8F%E3%80%81%E3%81%93%E3%82%8C%E3%81%AF%E7%95%B0%E5%B8%B8%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%94%E5%AD%98%E7%9F%A5%E3%81%8B%E3%82%82%E3%81%97%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8C%E3%80%81VPU%20%E3%81%8C%E6%A9%9F%E8%83%BD%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%20Yocto%20%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%82%92%E3%83%93%E3%83%AB%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%99%E3%82%8B%E5%89%8D%E3%81%AB%E3%80%81%E3%83%A1%E3%82%BF%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%E3%81%A7%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8B%E3%82%82%E3%81%AE%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%E3%81%93%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E3%81%AF%E3%80%81imx-image-core%20%E3%82%92%E3%83%99%E3%83%BC%E3%82%B9%E3%81%A8%E3%81%97%E3%81%A6%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E7%8B%AC%E8%87%AA%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%20%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E5%89%8D%E3%82%82%E3%81%A3%E3%81%A6%E6%84%9F%E8%AC%9D%E3%81%97%E3%81%BE%E3%81%99%EF%BC%81%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2186231%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Issue%20on%20using%20vpudec%20to%20decode%20video%20in%20h.264%20format%20(i.MX8MP)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2186231%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%3CP%3EYocto%20scarthgap%20(%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%205.0)%20%E3%81%A7%E3%83%93%E3%83%AB%E3%83%89%E3%81%95%E3%82%8C%E3%81%9F%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%81%A7%E5%90%8C%E3%81%98%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E3%81%97%E3%81%8B%E3%81%97%E3%80%81vpudec%20%E3%81%AF%20h264%20%E3%83%93%E3%83%87%E3%82%AA%E3%82%92%E3%83%87%E3%82%B3%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AB%E4%BE%9D%E7%84%B6%E3%81%A8%E3%81%97%E3%81%A6%E9%9D%9E%E5%B8%B8%E3%81%AB%E9%95%B7%E3%81%84%E6%99%82%E9%96%93%20(600%20%E3%83%9F%E3%83%AA%E7%A7%92)%20%E3%82%92%E8%A6%81%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2184943%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Issue%20on%20using%20vpudec%20to%20decode%20video%20in%20h.264%20format%20(i.MX8MP)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2184943%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%0A%3CP%3Egstreamer%20%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%205.xx%20%E3%81%AB%E5%95%8F%E9%A1%8C%E3%81%8C%E3%81%82%E3%82%8B%E3%81%9F%E3%82%81%E3%80%81%E6%9C%80%E6%96%B0%E3%81%AE%20BSP%20%E3%82%92%E8%A9%A6%E3%81%99%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2184758%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Issue%20on%20using%20vpudec%20to%20decode%20video%20in%20h.264%20format%20(i.MX8MP)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2184758%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%A1%E3%81%AA%E3%81%BF%E3%81%AB%E3%80%81%E7%A7%81%E3%81%8C%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9FYocto%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AF%E3%80%81kirkstone%205.15.71_2.2.0%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E