[Bug 741987] videoscale performance regression

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Jan 28 08:42:22 PST 2015


https://bugzilla.gnome.org/show_bug.cgi?id=741987
  GStreamer | gst-plugins-base | git master

--- Comment #12 from Wim Taymans <wim.taymans at gmail.com> 2015-01-28 16:42:19 UTC ---
git before patches:

[gst-head][wim at wtay ~/gst/head/gstreamer]$ gst-launch-1.0 videotestsrc
num-buffers=2000 ! video/x-raw,width=1920,height=1080,format=YUY2 ! videoscale
! video/x-raw,width=320,height=240 ! fakesink silent=1
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:09.151741005
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

git after patches:

[gst-head][wim at wtay ~/gst/head/gstreamer]$ gst-launch-1.0 videotestsrc
num-buffers=2000 ! video/x-raw,width=1920,height=1080,format=YUY2 ! videoscale
! video/x-raw,width=320,height=240 ! fakesink silent=1
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:08.187308623
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

1.4:

[gst-1.4][wim at wtay ~/gst/1.4]$ gst-launch-1.0 videotestsrc num-buffers=2000 !
video/x-raw,width=1920,height=1080,format=YUY2 ! videoscale !
video/x-raw,width=320,height=240 ! fakesink silent=1
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:06.979913540
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...


It seems the orc optimizations can't make up for the reshuffling of the bytes
we need to do first. Maybe we just need to put the C version that was in 1.4
(but that's not so nice).

commit f29b966c792811009b6e3613a59f6d7a58818020
Author: Wim Taymans <wtaymans at redhat.com>
Date:   Wed Jan 28 17:32:12 2015 +0100

    video-converter: add fast-path scaler for some packed YUV formats

    Add fast path scaling for YUY2 and other packed YUV formats. Add a new
    method to merge the scalers of the Y and UV components into one scaler.
    Add faster horizontal 2tap scaler.

    See https://bugzilla.gnome.org/show_bug.cgi?id=741987

commit 47bd6a138c04f66573754f66dcbaeb8d2aace17a
Author: Wim Taymans <wtaymans at redhat.com>
Date:   Wed Jan 28 17:30:53 2015 +0100

    videoscale: don't do dithering

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list