After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 727124 - ssim: port to 1.0 on top of video aggregator base class
ssim: port to 1.0 on top of video aggregator base class
Status: RESOLVED DUPLICATE of bug 751324
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-03-27 00:08 UTC by Mathieu Duponchelle
Modified: 2017-10-12 18:49 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Implement a basemixer class (150.35 KB, patch)
2014-03-27 00:09 UTC, Mathieu Duponchelle
none Details | Review
Port videomeasure_ssim to the basemixer class (41.67 KB, patch)
2014-03-27 00:09 UTC, Mathieu Duponchelle
needs-work Details | Review

Description Mathieu Duponchelle 2014-03-27 00:08:19 UTC
For our purposes of quality assurance in GES, we want to have a working video stream comparator, in order to spot regressions and to ensure frame-accurate editing.

SSIM fits the bill, but it is very difficult to port in a standard way.

My approach for fixing it has thus been to extract a base class from videomixer, and only keep the relevant video measuring code in videomeasure_ssim.c itself. 

It works well, and thanks to the colorspace conversions capabilities in basemixer its usage is now much more straightforward. Additionnally, it will be relatively easy to make ssim compare n-streams in one pass instead of just two for now, and that will also be very useful performance-wise for us.

Example usage is :

gst-launch-1.0 -m videotestsrc num-buffers=30 ! ssim name=m ! videoconvert ! xvimagesink sync=false videotestsrc num-buffers=30 ! m.

As a bonus it shows that usage of the smpte pattern in videotestsrc is not deterministic (Might not be very relevant though :)

I have also ported videomixer to that base class and have been using it since multiple days, with no behaviour difference.

In the future, I think having that base class would be useful, for example when comes the time of implementing a glmixer, but that's not critical.

Patches follow.
Comment 1 Mathieu Duponchelle 2014-03-27 00:09:00 UTC
Created attachment 273038 [details] [review]
Implement a basemixer class
Comment 2 Mathieu Duponchelle 2014-03-27 00:09:28 UTC
Created attachment 273039 [details] [review]
Port videomeasure_ssim to the basemixer class
Comment 3 Olivier Crête 2014-06-05 21:22:55 UTC
Looks like a BaseVideoMixer, not a BaseMixer.
Comment 4 Nicolas Dufresne (ndufresne) 2014-07-03 21:01:00 UTC
I suppose this need to be ported to the aggregator now ?
Comment 5 Tim-Philipp Müller 2015-05-18 11:32:12 UTC
Comment on attachment 273038 [details] [review]
Implement a basemixer class

Marking as obsolete, replaced by videoaggregator.
Comment 6 Tim-Philipp Müller 2015-05-18 11:32:29 UTC
Comment on attachment 273039 [details] [review]
Port videomeasure_ssim to the basemixer class

Should be re-implemented on top of videoaggregator.
Comment 7 Sebastian Dröge (slomo) 2015-11-26 03:20:58 UTC
Should bug #703093 be marked as a duplicate of this one?
Comment 8 Mathieu Duponchelle 2017-10-12 18:49:17 UTC
(In reply to Sebastian Dröge (slomo) from comment #7)
> Should bug #703093 be marked as a duplicate of this one?

Nope, there's some valid discussion over there, this one should be closed in favor of https://bugzilla.gnome.org/show_bug.cgi?id=751324

*** This bug has been marked as a duplicate of bug 751324 ***