Full HD H.264 Transcoding on i.MX6

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

Full HD H.264 Transcoding on i.MX6

跳至解决方案
1,160 次查看
erlend_eriksen
Contributor III

Is the i.MX6Q able to do 1920x1080 30fps transcoding in real time?

I seem to get a delay of around 3 seconds after 10 seconds of transcoding.

I have overclocked my vpu to 352 MHz.

My gstreamer pipeline is as following:

gst-launch-1.0 -v v4l2src device=/dev/video2 ! "video/x-h264, width=1920,height=1080, framerate=30/1" ! queue max-size-bytes=0 max-size-time=0 max-size-buffers=0 ! imxvpudec ! imxvpuenc_h264 bitrate=14000 ! h264parse  ! mp4mux ! filesink location=out.mp4 -e
Is this transcoding scenario supported?
I have seen the figure of 72,576,000 pixels/s maximum throughput, which my scenario would exceed, but isn't this figure larger with an overclocked vpu?
标签 (3)
1 解答
980 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Erlend

in theory this is possible as described on p.19 presentation

FTF-INS-F1191.pdf 

However on real board it depends on use case (processor and internal buses loading,

how many other applications are running).

Gstreamer-imx plugins seems are used in the case, also one can try with nxp

imx-gst1.0-plugins, usage is described in Linux Guide included in linux documentation on

i.MX Software | NXP and linux from nxp source.codeaurora.org/external/imx/linux-imx repository

linux-imx - i.MX Linux kernel 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

在原帖中查看解决方案

3 回复数
979 次查看
erlend_eriksen
Contributor III

Thank you for your answer Igor.

It would be great to hear from someone who has gotten the Full HD H.264 transcoding to work on their i.MX6.

Two questions:

1. With regards to what other processes are running, it was my understanding that this would not affect the transcoding since that's done entirely on the separate VPU processor. However, from slide 21 in http://cache.freescale.com/files/training/doc/ftf/2014/FTF-CON-F0165.pdf , it looks like the VPU shares SDRAM with the host application running on the ARM processor. Is this why the number of applications running on the ARM processor affects the transcoding performance?

2. I have also noticed that some specs refer to what I guess is DDR bus frequency, for instance at slide 7 in the same document (DDR=532MHz). Does this mean I should modify my i.MX6 firmware or use a DDR3 initialization script as described in MX6DQP DDR3 Script Aid  in order to get the specified DDR frequency and achieve better transcoding performance?

0 项奖励
979 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Erlend

yes vpu also uses ddr, in general there is tool for measuring ddr utilization

README\mmdc\test - imx-test - i.MX Driver Test Application Software 

Regarding DDR bus frequency, it is set to max. automatically by linux and

with settings provided by i.MX6/7 DDR Stress Test Tool V3.00 

Best regards
igor

0 项奖励
981 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Erlend

in theory this is possible as described on p.19 presentation

FTF-INS-F1191.pdf 

However on real board it depends on use case (processor and internal buses loading,

how many other applications are running).

Gstreamer-imx plugins seems are used in the case, also one can try with nxp

imx-gst1.0-plugins, usage is described in Linux Guide included in linux documentation on

i.MX Software | NXP and linux from nxp source.codeaurora.org/external/imx/linux-imx repository

linux-imx - i.MX Linux kernel 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------