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
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
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
Thanks Sinan & Igor. This is helpful.
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
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