Strange performance observeration of videoconvert on ARM
Jake Zhang
zjpseudo at gmail.com
Wed Aug 24 01:37:17 UTC 2016
I found the issue. The 'orc' library was missing on my ARM target so it was
using slow path for converting. Enabling orc for video converter bring my
pipeline back to real-time.
On Wed, Aug 10, 2016 at 8:29 AM, Jake Zhang <zjpseudo at gmail.com> wrote:
> My input to videoconvert is from a v4l2 camera which always output UYVY
> format and I want to convert it into I420 format. I found that the
> videoconvert takes up to 200ms to convert it on my Nvidia TK1 4 core ARM
> CPU.
>
> gst-launch-1.0 -v v4l2src num-buffers=1 ! 'video/x-raw,
> format=(string)UYVY, width=(int)1920, height=(int)1080,
> framerate=(fraction)30/1' ! videoparse format=uyvy width=1920 height=1080
> framerate=30/1 ! videoconvert ! video/x-raw,format=I420,width=
> 1920,height=1080,framerate=30/1 ! filesink location=test1.yuv
>
> However, if I write the UYVY into a file and then connect it to
> videoconvert, it only takes about 7ms to process one frame.
>
> gst-launch-1.0 -v filesrc location=test1_uyvy.yuv blocksize=4147200 !
> videoparse format=uyvy width=1920 height=1080 framerate=60/1 ! videoconvert
> ! video/x-raw,format=I420,width=1920,height=1080,framerate=60/1 !
> fakesink
>
>
> I have debugged it for two days, both pipeline are using the same function
> 'video_orc_convert_UYVY_I420()' (with 'DISABLE_ORC' on ARM) but why the
> performance could be so different?
>
>
> I did some optimization on this function and bring down the processing
> time for v4l2src uyvy format to 136ms but still 20x slower than filesrc
> with the same data.
>
> Any idea from gstreamer experts?
>
> Thanks in advance.
>
> Jake
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160823/4e564698/attachment-0001.html>
More information about the gstreamer-devel
mailing list