GNOME Bugzilla – Bug 722742
video-chroma: implement upsampling methods for vertical cosited chroma
Last modified: 2018-11-03 11:28:06 UTC
gst-launch-1.0 uridecodebin uri=file:///home/meh/Videos/prise031.avi ! videoconvert ! video/x-raw, chroma-site=jpeg ! autovideosink highlights the problem. It so happens that upsample->v_resample is NULL, which leads to the SIGSEGV. My instinct would be to add a check there for upsample->v_resample, as I suppose if it is NULL nothing should be done anyway. Worthy of note is that with gstreamer 1.2 as shipped in fedora, the SIGSEGV is triggered by chroma-site=dv and jpeg is fine whereas with master dv is fine and jpeg SIGSEGVs. Have a nice day !
Ah damn patch attachment failed, hosted here : http://antopics.fr/prise031.avi
Backtrace:
+ Trace 233071
This crashes with a SIGFPE instead: > gst-launch-1.0 videotestsrc ! "video/x-raw,format=I420,chroma-site=dv" ! videoconvert ! "video/x-raw,chroma-site=jpeg" ! fakesink Wasn't able to reproduce the segfault without decodebin.
Ah, the SIGFPE is in videotestsrc :) Program received signal SIGFPE, Arithmetic exception.
+ Trace 233072
Thread 140737308931840 (LWP 1693)
Problem for videoconvert is that none of the vertical upsamples with cositing is implemented. And also some others not. See all the NULLs in video-chroma.c in that table. I guess that should be fixed ;) For the videoconvert problem I did not look further.
Well I think the first obvious fix is to simply do nothing in case the vertical upsample is NULL right ?
No, there should be an implementation for that, that does the upsampling. Should be almost the same as the existing functions for the same upsampling with non-cosite chroma... just that the chroma is now moved a bit relative to the luma.
For now, this will do. Someone needs to implement the resamplers.. commit 8ac3dbc4f312daefbac48373c964c2cb6e99ff6e Author: Wim Taymans <wtaymans@redhat.com> Date: Thu Jan 23 10:45:00 2014 +0100 video-chroma: don't crash on NULL resamplers Make dummy resamplers for all cases and only execute the horizontal resampler instead of crashing. See https://bugzilla.gnome.org/show_bug.cgi?id=722742
Yep, crashing should not be an option IMO, thanks guys :)
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/104.