I.MX6 VPU Encoding Features

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

I.MX6 VPU Encoding Features

2,243 Views
guna007
Contributor III

We are evaluating i.mx6 VPU for encoding to H.264 from camera image stream.

As I am totally new to stream encoding in i.MX6, I am struck in choosing sensor. I am I have some doubts on that front.

1. What is the maximum resolution supported by VPU for H.264 encoding?

2. What is the maximum frame rate supported at maximum resolution for H.264 encoding?

3. What are input color space supported by VPU for H.264 encoding?

4. If you have less resolution say 640*480 pixels, can we get more frame rate compared to 1920*1080 pixels for H.264 encoding?

5. Is frame rate is limited by bit rate?

6. Is it possible to route stream from IPU to VPU for encoding?

Thanks,

Guna

10 Replies

1,466 Views
art
NXP Employee
NXP Employee

Q1. What is the maximum resolution supported by VPU for H.264 encoding?

Q2. What is the maximum frame rate supported at maximum resolution for H.264 encoding?

A1-2. The Video Processing Unit (VPU) of i.MX6 series processors can

encode/decode a video streams at up to 1920x1080@30fps resolution/frame rate.

Q3. What are input color space supported by VPU for H.264 encoding?

A3. Supported input color space is YUV4:2:0 except of the MJPEG codec that

supports 4:2:0, 4:2:2, 2:2:4, 4:4:4 and 4:0:0.

Q4. If you have less resolution say 640*480 pixels, can we get more frame rate compared to 1920*1080 pixels for H.264 encoding?

A4. Yes.

Q5. Is frame rate is limited by bit rate?

A5. Do you mean the bit rate of encoded video stream? If so, the answer is: there is no direct relation between frame rate and bit rate, the resulting bit rate mostly depends on the codec and encoding profile used.

Q6. Is it possible to route stream from IPU to VPU for encoding?

A6. Yes, it is possible using the frame buffer in system memory. For example, IPU stores the frames, captured by camera, to system memory using the double-buffer scheme, then VPU takes the frames to encode from there.


Have a great day,
Artur

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

0 Kudos

1,466 Views
guna007
Contributor III

Artur Petukhov,

Thank you for the response.

Just to clarify, Does it mean that I cannot do 1600 x 1200 (UXGA) h264 encoding with VPU even if it runs @ 352Mhz?

How to calculate the throughput for VPU operating frequency?. I read for 266Mhz operating the throughput is around 72,576,000 pixels/s. Can you help me on this?

0 Kudos

1,466 Views
art
NXP Employee
NXP Employee

1. The horisontal resolution is limited to 1080 pixels except of the MJPEG BP profile where the maximum picture size can be up to 8192x8192 pixels.

2. There is no direct pixels/s vs operating frequency specification. Moreover, the VPU throughput is different for encoding and decoding operations. It can encode one 1920x1080@30fps stream and decode one 1920x1080@30fps stream plus one D1@30fps stream.

Artur

1,466 Views
guna007
Contributor III

Thank you so much

0 Kudos

1,466 Views
duwu
Contributor II
0 Kudos

1,466 Views
guna007
Contributor III

Thank you. I am started playing with that.

0 Kudos

1,466 Views
guna007
Contributor III

Du wu,

If that's the case, then is it possible to do 640 x 480 @ 90 fps?

Thanks,

Guna

0 Kudos

1,466 Views
duwu
Contributor II

for short:

#1,2

1920x1080@30fps

#3

YUV422(NV12), YUV420

#4,5

i think the limit is "width*height*fps".

#6

i think you may need format convertion or memcpy.

for detail:

http://www.nxp.com/webapp/Download?colCode=L4.1.15_1.1.0_LINUX_DOCS&Parent_nodeId=133769948107170617...

1,466 Views
guna007
Contributor III

Du wu,

Thank you for the reply.

I have some doubts,

1. For 4 &5,

      If the limit is width * height * fps, then what is the maximum bit rate supported by VPU?.I cound not find that in their doc. As far as I know, the speed of operation of VPU can go up to 352Mhz.

2. For 6,

        Can SDMA be used for this? If Yes, Is there any limitation with that?

Thanks,

Guna

0 Kudos

1,466 Views
duwu
Contributor II

#1

I don't care the maximum bitrate or maximum clock freq,

I just think any regular "width*height*fps" under "1920*1080*30" will be ok for h264 encoding.

#2

The i.MX platform must have "physical memory allocator api" which handle DMA and cache coherent.

If "IPU output" and "VPU input" share the same memory and the same image format, no copy or convertion is required.

0 Kudos