i.mx6 : Encode/Decode simultaneously 1440x1440 resolution video @30fps.

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

i.mx6 : Encode/Decode simultaneously 1440x1440 resolution video @30fps.

3,004 Views
VinodChaudhary
Contributor I

Hi,

We want to choose the i.mx6 processor for video trans coding application and we have requirement for to perform video encode/Decode operation simultaneously with 1440x1440 resolution video @30fps. Is it possible with i,mx6 processor ? What is maximum resolution and FPS supported for simultaneous Encode/decode operation under i,mx6 processor ? Also can i know core wise information for this performance number for dual vs quad core solution ?

Thank you in advance for your answer.

Regards,

Vinod

Labels (5)
0 Kudos
Reply
5 Replies

1,727 Views
igorpadykov
NXP Employee
NXP Employee

Hi vinod

this is possible on i.MX6DQ with VPU =350MHz, as

described on presentation, also these figures are for OS less

(bare metal) environment.

Best regards

igor

1,727 Views
vidhyagovindan
Contributor I

Hi,

We were also trying to experiment the same resolution 1440x1440 with H.264 streaming using IMX6 Hardware decoder and encoder. However, on the decoder side, there was no issues, and the hardware encoder threw below error when trying to encode 1440x1440

Command Used:

gst-launch-1.0 -v v4l2src ! video/x-h264,width=1440,height=1440,framerate=30/1 ! imxvpudec ! videoconvert !  imxvpuenc_h264 bitrate=3000 ! rtph264pay ! udpsink host=192.168.101.186 port=5000

Error Seen:

Setting pipeline to PAUSED ...

[INFO]  Product Info: i.MX6Q/D/S

[INFO]  Product Info: i.MX6Q/D/S

Pipeline is live and does not need PREROLL ...

Setting pipeline to PLAYING ...

New clock: GstSystemClock

ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error.

Additional debug info:

gstbasesrc.c(2943): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:

streaming task paused, reason not-negotiated (-4)

Execution ended after 0:00:00.001137000

Setting pipeline to PAUSED ...

Setting pipeline to READY ...

Setting pipeline to NULL ...

Freeing pipeline ...

However if we video scale it to 1024x1024 on the Hardware encoder side, we are able to get the video. But the quality is poor and pixelated.

Command Used:

gst-launch-1.0 -v v4l2src ! video/x-h264,width=1440,height=1440,framerate=30/1 ! imxvpudec ! videoconvert !  videoscale ! video/x-raw,width=1024,height=1024 ! imxvpuenc_h264 bitrate=1024 ! rtph264pay ! udpsink host=192.168.101.186 port=5000

Could you please let us know,

1. Why Hardware encoder is not able to work with 1440x1440? What changes we need to configure to make it work.

2. Why is the video quality getting pixelated in the video scaled option 2. (1024x1024)

Please provide your valuable inputs.

Thanks,

Vidhya

0 Kudos
Reply

1,727 Views
DipenPatel1z
Contributor III

Thanks Sinan & Igor. This is helpful.

0 Kudos
Reply

1,727 Views
DipenPatel1z
Contributor III

Hi Vinod,

Since 1920x1080 == 1440x1440, it should be possible.

Refer to below links for more information.

i.MX6 encoding + decoding performance limit.

Q&A: MX6 VPU H.264 Dual Stream Encode Limits

The PPT in above link has plenty of information. Refer to slide#7 and #12. Slide#54 has an example gstreamer pipeline for transcoding 1080P stream.

Regards,

Dipen Patel

0 Kudos
Reply

1,727 Views
sinanakman
Senior Contributor III

Hi Vinod & Dipen

I have customer who had tried this. Even though

Dipen correctly points out that 920x1080 == 1440x1440

and it should be possible our customer reported that

it didn't work.

It would be good to hear from someone who can

confirm that 1440x1440 @30fps was achieved.

Regards

Sinan Akman