H265 Decoding consumed more cpu load on iMX8M Plus

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

H265 Decoding consumed more cpu load on iMX8M Plus

跳至解决方案
244 次查看
Hariharan1
Contributor III

Hi all,

I was trying to get clk_summary of vpu. i was getting  vpu_g1 set has Y but vpu_g2 set has N. What could be the reason. Is that the reason i am getting more cpu load like 85% when i was decoding H265 whereas H264 decoding was taking just 7% CPU Load. 

H265 decoding command:  ./g2dec -tbs encoded.hevc -Oout.yuv 

H264 decoding command: ./hx170dec-arm -Otest_hxdec.yuv DOP_Animation_W_.H264

cat /sys/kernel/debug/clk/clk_summary | grep vpu

vpu_g1 0 0 0 800000000 0 0 50000 Y deviceless no_connection_id
vpu_g1_root_clk 0 0 0 800000000 0 0 50000 N 38300000.vpu_g1 clk_hantro
vpu_pll_ref_sel 0 0 0 24000000 0 0 50000 Y deviceless no_connection_id
vpu_pll 0 0 0 700000000 0 0 50000 Y deviceless no_connection_id
vpu_pll_bypass 0 0 0 700000000 0 0 50000 Y deviceless no_connection_id
vpu_pll_out 0 0 0 700000000 0 0 50000 N deviceless no_connection_id
vpu_g2 0 0 0 700000000 0 0 50000 N deviceless no_connection_id
vpu_g2_root_clk 0 0 0 700000000 0 0 50000 N 38310000.vpu_g2 clk_hantro


Thanks,

标签 (1)
0 项奖励
回复
1 解答
223 次查看
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi,

There is no cpu load issue on i.MX8MP EVK using gstreamer.

root@imx8mpevk:~# gst-launch-1.0 filesrc location=test_MediaCoder_HEVC_demo_video.mp4 typefind=true ! video/quicktime ! aiurdemux ! h265parse ! queue max-size-time=0 ! v4l2h265dec ! autovideosink
Setting pipeline to PAUSED ...

====== V4L2DEC: 1.26.0 build on May  7 2025 08:46:20. ======
Pipeline is PREROLLING ...

====== AIUR: 4.10.0 build on May 10 2025 01:33:22. ======
        Core: MPEG4PARSER_06.22.14  build on Apr 28 2025 08:50:53
 file: /usr/lib/imx-mm/parser/lib_mp4_parser_arm_elinux.so.3.2
------------------------
    Track 00 [video_0] Enabled
        Duration: 0:00:59.958333000
        Language: und
    Mime:
        video/x-h265, parsed=(boolean)true, alignment=(string)au, stream-format=(string)hev1, width=(int)1920, height=(int)800, framerate=(fraction)24/1, codec_data=(buffer)01016000000080000000000078f000fcfdf8f800000f03a00001001840010c01ffff0160000003008000000300000300789dc090a100010021420101016000000300800000030000030078a003c080321659de491b6bc0400800a2000100064401c173d189
------------------------
------------------------
    Track 01 [audio_0] Enabled
        Duration: 0:01:01.347120000
        Language: und
    Mime:
        audio/mpeg, mpegversion=(int)4, channels=(int)1, rate=(int)22050, bitrate=(int)28992, stream-format=(string)raw, codec_data=(buffer)138856e5a54880
------------------------
Redistribute latency...
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
Redistribute latency...
New clock: GstSystemClock
^Chandling interrupt. (37.5 %)
Interrupt: Stopping pipeline ...
Execution ended after 0:00:23.068026502
Setting pipeline to NULL ...
Total showed frames (556), playing for (0:00:23.067971879), fps (24.103).
Freeing pipeline ...
root@imx8mpevk:~# cat /sys/kernel/debug/clk/clk_summary | grep vpu
                   vpu_vc8000e       0       0        0        500000000   0          0     50000      Y                     deviceless                      no_connection_id
                      vpu_vc8ke_root_clk 0       0        0        500000000   0          0     50000      N                        38320000.vpu_vc8000e            clk_hantro_vc8000e
                   vpu_bus           0       0        0        800000000   0          0     50000      Y                     deviceless                      no_connection_id
                      vpu_root_clk   0       0        0        800000000   0          0     50000      N                        38320000.vpu_vc8000e            clk_hantro_vc8000e_bus
                                                                                                                                38310000.vpu_g2                 clk_hantro_bus
                                                                                                                                38300000.vpu_g1                 clk_hantro_bus
                   vpu_g1            0       0        0        800000000   0          0     50000      Y                     deviceless                      no_connection_id
                      vpu_g1_root_clk 0       0        0        800000000   0          0     50000      N                        38300000.vpu_g1                 clk_hantro
    vpu_pll_ref_sel                  0       0        0        24000000    0          0     50000      Y      deviceless                      no_connection_id
       vpu_pll                       0       0        0        700000000   0          0     50000      Y         deviceless                      no_connection_id
          vpu_pll_bypass             0       0        0        700000000   0          0     50000      Y            deviceless                      no_connection_id
             vpu_pll_out             0       0        0        700000000   0          0     50000      N               deviceless                      no_connection_id
                vpu_g2               0       0        0        700000000   0          0     50000      N                  deviceless                      no_connection_id
                   vpu_g2_root_clk   0       0        0        700000000   0          0     50000      N                     38310000.vpu_g2                 clk_hantro

Zhiming_Liu_0-1759987816186.png

The issue should from your g2dec application.


Best Regards,
Zhiming

在原帖中查看解决方案

0 项奖励
回复
3 回复数
224 次查看
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi,

There is no cpu load issue on i.MX8MP EVK using gstreamer.

root@imx8mpevk:~# gst-launch-1.0 filesrc location=test_MediaCoder_HEVC_demo_video.mp4 typefind=true ! video/quicktime ! aiurdemux ! h265parse ! queue max-size-time=0 ! v4l2h265dec ! autovideosink
Setting pipeline to PAUSED ...

====== V4L2DEC: 1.26.0 build on May  7 2025 08:46:20. ======
Pipeline is PREROLLING ...

====== AIUR: 4.10.0 build on May 10 2025 01:33:22. ======
        Core: MPEG4PARSER_06.22.14  build on Apr 28 2025 08:50:53
 file: /usr/lib/imx-mm/parser/lib_mp4_parser_arm_elinux.so.3.2
------------------------
    Track 00 [video_0] Enabled
        Duration: 0:00:59.958333000
        Language: und
    Mime:
        video/x-h265, parsed=(boolean)true, alignment=(string)au, stream-format=(string)hev1, width=(int)1920, height=(int)800, framerate=(fraction)24/1, codec_data=(buffer)01016000000080000000000078f000fcfdf8f800000f03a00001001840010c01ffff0160000003008000000300000300789dc090a100010021420101016000000300800000030000030078a003c080321659de491b6bc0400800a2000100064401c173d189
------------------------
------------------------
    Track 01 [audio_0] Enabled
        Duration: 0:01:01.347120000
        Language: und
    Mime:
        audio/mpeg, mpegversion=(int)4, channels=(int)1, rate=(int)22050, bitrate=(int)28992, stream-format=(string)raw, codec_data=(buffer)138856e5a54880
------------------------
Redistribute latency...
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
Redistribute latency...
New clock: GstSystemClock
^Chandling interrupt. (37.5 %)
Interrupt: Stopping pipeline ...
Execution ended after 0:00:23.068026502
Setting pipeline to NULL ...
Total showed frames (556), playing for (0:00:23.067971879), fps (24.103).
Freeing pipeline ...
root@imx8mpevk:~# cat /sys/kernel/debug/clk/clk_summary | grep vpu
                   vpu_vc8000e       0       0        0        500000000   0          0     50000      Y                     deviceless                      no_connection_id
                      vpu_vc8ke_root_clk 0       0        0        500000000   0          0     50000      N                        38320000.vpu_vc8000e            clk_hantro_vc8000e
                   vpu_bus           0       0        0        800000000   0          0     50000      Y                     deviceless                      no_connection_id
                      vpu_root_clk   0       0        0        800000000   0          0     50000      N                        38320000.vpu_vc8000e            clk_hantro_vc8000e_bus
                                                                                                                                38310000.vpu_g2                 clk_hantro_bus
                                                                                                                                38300000.vpu_g1                 clk_hantro_bus
                   vpu_g1            0       0        0        800000000   0          0     50000      Y                     deviceless                      no_connection_id
                      vpu_g1_root_clk 0       0        0        800000000   0          0     50000      N                        38300000.vpu_g1                 clk_hantro
    vpu_pll_ref_sel                  0       0        0        24000000    0          0     50000      Y      deviceless                      no_connection_id
       vpu_pll                       0       0        0        700000000   0          0     50000      Y         deviceless                      no_connection_id
          vpu_pll_bypass             0       0        0        700000000   0          0     50000      Y            deviceless                      no_connection_id
             vpu_pll_out             0       0        0        700000000   0          0     50000      N               deviceless                      no_connection_id
                vpu_g2               0       0        0        700000000   0          0     50000      N                  deviceless                      no_connection_id
                   vpu_g2_root_clk   0       0        0        700000000   0          0     50000      N                     38310000.vpu_g2                 clk_hantro

Zhiming_Liu_0-1759987816186.png

The issue should from your g2dec application.


Best Regards,
Zhiming

0 项奖励
回复
151 次查看
Hariharan1
Contributor III

Hi,

How did you run top command while executing gst-launch command. 

Thanks,
Hariharan

0 项奖励
回复
129 次查看
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi,

I didn't use any other command before using gst-launch.

Best Regards,
Zhiming

0 项奖励
回复