Why Gstreamer encoding takes more cpu load while encoding .yuv than .mp4

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

Why Gstreamer encoding takes more cpu load while encoding .yuv than .mp4

ソリューションへジャンプ
421件の閲覧回数
Hariharan1
Contributor III

In the case of the i.MX VPU Hantro, while encoding a 1080p video, I considered two different approaches:

  1. MP4 → YUV → H.264

  2. MP4 → H.264

I noticed that the first approach consumes significantly more CPU load compared to the second approach. Is that intermediate conversion required?

 

1) Approach 1

>decode mp4 to yuv

gst-launch-1.0 filesrc location=5MB_1080p.mp4 !     qtdemux !     h264parse !     imxvpudec_h264 !     filesink location=1080p.yuv

CPU load: 90 %

>encode yuv to h264

gst-launch-1.0 filesrc location=1080p.yuv !  videoparse width=1920 height=1080 format=nv12 framerate=30/1 !  imxvpuenc_h264 ! h264parse ! filesink location=1080p.h264

CPU load: 35.9%

2) Approach 2

> Decode and Encode in a Single Pipeline

gst-launch-1.0 filesrc location=5MB_1080p.mp4 !  qtdemux name=demux demux.video_0 ! h264parse ! imxvpudec_h264 ! imxvpuenc_h264 ! h264parse ! filesink location=enc.h264

CPU load: 6.6%

 

 

0 件の賞賛
返信
1 解決策
386件の閲覧回数
pengyong_zhang
NXP Employee
NXP Employee

Hi @Hariharan1 

yes, you are right, At approach 1, The primary causes of high CPU load are: extensive data writes to disk and data shuffling during the decoding process. But approach 2, There are no intermediate disk write and read operations; data is directly transferred in memory. So, in your current scenario, approach 2 is the best choice.

B.R

元の投稿で解決策を見る

0 件の賞賛
返信
1 返信
387件の閲覧回数
pengyong_zhang
NXP Employee
NXP Employee

Hi @Hariharan1 

yes, you are right, At approach 1, The primary causes of high CPU load are: extensive data writes to disk and data shuffling during the decoding process. But approach 2, There are no intermediate disk write and read operations; data is directly transferred in memory. So, in your current scenario, approach 2 is the best choice.

B.R

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2193990%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EGstreamer%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89%E3%81%8C.yuv%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89%E6%99%82%E3%81%ABCPU%E8%B2%A0%E8%8D%B7%E3%82%92%E9%AB%98%E3%82%81%E3%82%8B%E7%90%86%E7%94%B1.mp4%E3%82%88%E3%82%8A%E3%82%82%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2193990%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSTRONG%3Ei.MX%20VPU%20Hantro%3C%2FSTRONG%3E%E3%81%AECASE%E3%80%81%20%3CSTRONG%3E1080p%20%E3%83%93%E3%83%87%E3%82%AA%3C%2FSTRONG%3E%E3%82%92%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%E9%9A%9B%E3%81%AB%E3%80%812%20%E3%81%A4%E3%81%AE%E7%95%B0%E3%81%AA%E3%82%8B%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%81%E3%82%92%E6%A4%9C%E8%A8%8E%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3COL%3E%3CLI%3E%3CP%3E%3CSTRONG%3EMP4%20%E2%86%92%20YUV%20%E2%86%92%20H.264%3C%2FSTRONG%3E%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%3E%3CSTRONG%3EMP4%20%E2%86%92%20H.264%3C%2FSTRONG%3E%3C%2FP%3E%3C%2FLI%3E%3C%2FOL%3E%3CP%3E%E6%9C%80%E5%88%9D%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%81%E3%81%A7%E3%81%AF%E3%80%812%20%E7%95%AA%E7%9B%AE%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%81%E3%81%AB%E6%AF%94%E3%81%B9%E3%81%A6%20CPU%20%E8%B2%A0%E8%8D%B7%E3%81%8C%E5%A4%A7%E5%B9%85%E3%81%AB%E5%A2%97%E5%8A%A0%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AB%E6%B0%97%E4%BB%98%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E4%B8%AD%E9%96%93%E5%A4%89%E6%8F%9B%E3%81%AF%E5%BF%85%E8%A6%81%E3%81%A7%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSTRONG%3E1)%20%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%811%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%26gt%3Bmp4%E3%82%92yuv%E3%81%AB%E3%83%87%E3%82%B3%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%3C%2FP%3E%3CP%3E%3CSPAN%3Egst-launch-1.0filesrc%20%E3%81%AE%E5%A0%B4%E6%89%80%3D5MB_1080p.mp4%20!%20qtdemux%20!%20h264parse%20!%20imxvpudec_h264%20!%20filesink%20%E3%81%AE%E5%A0%B4%E6%89%80%3D1080p.yuv%3C%2FSPAN%3E%3C%2FP%3E%3CP%3ECPU%E8%B2%A0%E8%8D%B7%3A%2090%25%3C%2FP%3E%3CP%3E%26gt%3Byuv%E3%82%92h264%E3%81%AB%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%3C%2FP%3E%3CP%3E%3CSPAN%3Egst-launch-1.0filesrc%20%E3%81%AE%E5%A0%B4%E6%89%80%3D1080p.yuv%20!%20videoparse%20%E5%B9%85%3D1920%20%E9%AB%98%E3%81%95%3D1080%20%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88%3Dnv12%20%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AC%E3%83%BC%E3%83%88%3D30%2F1%20!%20imxvpuenc_h264%20!h264parse%20!%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%B7%E3%83%B3%E3%82%AF%E3%81%AE%E5%A0%B4%E6%89%80%3D1080p.h264%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ECPU%E8%B2%A0%E8%8D%B7%3A%2035.9%25%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E2)%20%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%812%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%26gt%3B%20%E5%8D%98%E4%B8%80%E3%81%AE%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3%E3%81%A7%E3%83%87%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A8%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Egst-launch-1.0filesrc%20%E5%A0%B4%E6%89%80%3D5MB_1080p.mp4%20!%20qtdemux%20%E5%90%8D%3Ddemux%20demux.video_0!h264parse%20!imxvpudec_h264%20!imxvpuenc_h264%20!h264parse%20!%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%B7%E3%83%B3%E3%82%AF%E3%81%AE%E5%A0%B4%E6%89%80%3Denc.h264%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ECPU%E8%B2%A0%E8%8D%B7%3A%206.6%25%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2194163%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Why%20Gstreamer%20encoding%20takes%20more%20cpu%20load%20while%20encoding%20.yuv%20than%20.mp4%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2194163%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%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F224949%22%20target%3D%22_blank%22%3E%40Hariharan1%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E3%81%AF%E3%81%84%E3%80%81%E3%81%8A%E3%81%A3%E3%81%97%E3%82%83%E3%82%8B%E9%80%9A%E3%82%8A%E3%81%A7%E3%81%99%E3%80%82%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%81%201%20%E3%81%A7%E3%81%AF%E3%80%81CPU%20%E8%B2%A0%E8%8D%B7%E3%81%8C%E9%AB%98%E3%81%8F%E3%81%AA%E3%82%8B%E4%B8%BB%E3%81%AA%E5%8E%9F%E5%9B%A0%E3%81%AF%E3%80%81%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%81%B8%E3%81%AE%E5%A4%A7%E9%87%8F%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%81%A8%E3%80%81%E3%83%87%E3%82%B3%E3%83%BC%E3%83%89%20%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E4%B8%AD%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%20%E3%82%B7%E3%83%A3%E3%83%83%E3%83%95%E3%83%AB%E3%81%A7%E3%81%99%E3%80%82%E3%81%97%E3%81%8B%E3%81%97%E3%80%81%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%81%202%20%E3%81%A7%E3%81%AF%E3%80%81%E4%B8%AD%E9%96%93%E3%81%AE%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%81%8A%E3%82%88%E3%81%B3%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A%E6%93%8D%E4%BD%9C%E3%81%AF%E3%81%AA%E3%81%8F%E3%80%81%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AF%E3%83%A1%E3%83%A2%E3%83%AA%E5%86%85%E3%81%A7%E7%9B%B4%E6%8E%A5%E8%BB%A2%E9%80%81%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82SO%E3%80%81%E7%8F%BE%E5%9C%A8%E3%81%AE%E3%82%B7%E3%83%8A%E3%83%AA%E3%82%AA%E3%81%A7%E3%81%AF%E3%80%81%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%81%202%20%E3%81%8C%E6%9C%80%E9%81%A9%E3%81%AA%E9%81%B8%E6%8A%9E%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3EBR%3C%2FP%3E%3C%2FLINGO-BODY%3E