AnsweredAssumed Answered

[i.MX6] VPU capability v.s. GOP size ?

Question asked by Kang Wen Chen on May 28, 2013
Latest reply on Jul 23, 2014 by Eagle Zhou
Branched to a new discussion

Hi all,


     I'm working to decode our samples, 4 x 720 25p H.264 ts (I-frame only,raw H.264 Annex-B byte-stream, like the "vpuenc code=6" produced), I first try the Gstreamer to drive VPU.

     But I meet 2 problems when the 2nd to be played:

             a. "Physical memory allocation error!"

                    This seems to be solved through we set "frame-plus=1" from the thread [ Memory Reserved on i.MX6 for VPU

                    but decoding fail is remained by the following 'b'.

             b. "[WARN] ....VPU lock timeout" and a exception causes from gstreamer

                    Because the multi-streams decoding is OK when we change to use other 720 samples(H.264/MP4 720 30p x 3), we guess the error may be related to the GPO size of 1 in our TS,  we try to prove our guess, and it seems to be proved:

                            to produce a H.264 stream by VPU as sample of GOP=15 :

                                   gst-launch videotestsrc ! "video/x-raw-yuv,width=1280,height=720,framerate=25/1" ! vpuenc code=6 gopsize=15 ! filesink....

                            the 2nd decoding of the sample is OK:

                                   gst-launch filesrc.... ! typefind ! vpudec ! fakesink sync=1.

                            as to another sample encoded in GOP=1,

                                   gst-launch videotestsrc ! "video/x-raw-yuv,width=1280,height=720,framerate=25/1" ! vpuenc code=6 gopsize=1 ! filesink....

                             the 2nd decoding is fail, the error is the same as one from decoding our target sample.                       


     I only try the SOLO now, but all S/DL/Q are on my hand, we'll get good news if trying the higher-end one? (so far as we know, the S/DL/D/Q's VPU have the same skill, the only difference is DL/D/Q could decode dual 1080 30p in dual screens because of bandwidth of DDR3 64bits)


     If the foregoing is solved to be able to decode 4 x 720 25p in background, the performance needs to be considered? (though the VPU skill of multi-streams listed in Freescale slice is 3 x 720 30p, we think it's OK to decode the 4th one according to calculating(1280x720x25x4=92M pixels) refers to the thread [ Memory Reserved on i.MX6 for VPU ]