USB camera and VPU on iMX6

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

USB camera and VPU on iMX6

Jump to solution
1,363 Views
benhenricksen
Contributor III

Can the VPU be employed to encode the YUV or RGB data (to H264) from a USB camera? Is there a path for it?

Or would it be a case of receiving the data over USB, putting it into system memory and then running the VPU on it?

Or would software encoding be the only way? If so, what sort of performance could you get from a Quad iMX6?

Any info gratefully received.

eConSystems Ankaa board with Quad iMX6

Linux 3.10.17 (Yocto)

Labels (3)
Tags (5)
0 Kudos
1 Solution
583 Views
Yuri
NXP Employee
NXP Employee

Only (system) memory is VPU source and destination. So, You need to read USB data

to memory first.

As for performance :

  The VPU of the i.MX6 can decode two streams of 1080p@30 for MPEG4 / H.264.

  The VPU of the i.MX6 can encode single stream of 1080p@30 for MPEG4 / H.264.

 

  The VPU of the i.MX6 can decode four streams of 720p@30 for MPEG4 / H.264.

  The VPU of the i.MX6 can encode three streams of 720p@30 for MPEG4 / H.264.

  Also, strictly speaking, it is needed to take into considerations additional system load because

of memory read / write operations for each frame buffer and real data throughput of USB or SDIO.

USB performance is considered in the next Community thread :

"USB Host Performance on i.MX6"

https://community.freescale.com/message/453990#453990

I measured ~17 Mbytes/sec on i.MX6 SDP under Freescale Linux L3.0.35_4.1.0.


Have a great day,
Yuri

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

View solution in original post

2 Replies
584 Views
Yuri
NXP Employee
NXP Employee

Only (system) memory is VPU source and destination. So, You need to read USB data

to memory first.

As for performance :

  The VPU of the i.MX6 can decode two streams of 1080p@30 for MPEG4 / H.264.

  The VPU of the i.MX6 can encode single stream of 1080p@30 for MPEG4 / H.264.

 

  The VPU of the i.MX6 can decode four streams of 720p@30 for MPEG4 / H.264.

  The VPU of the i.MX6 can encode three streams of 720p@30 for MPEG4 / H.264.

  Also, strictly speaking, it is needed to take into considerations additional system load because

of memory read / write operations for each frame buffer and real data throughput of USB or SDIO.

USB performance is considered in the next Community thread :

"USB Host Performance on i.MX6"

https://community.freescale.com/message/453990#453990

I measured ~17 Mbytes/sec on i.MX6 SDP under Freescale Linux L3.0.35_4.1.0.


Have a great day,
Yuri

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

583 Views
benhenricksen
Contributor III

Thanks for your helpful reply. This will be too slow for our current application - I'll continue looking at the parallel port.

0 Kudos