[Bug 742878] decklink: Add initial support for 10bit YUV modes
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Tue May 3 12:36:34 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=742878
Sebastian Dröge (slomo) <slomo at coaxion.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #326954|none |needs-work
status| |
--- Comment #25 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
Review of attachment 326954:
--> (https://bugzilla.gnome.org/review?bug=742878&attachment=326954)
::: sys/decklink/gstdecklink.cpp
@@ +223,3 @@
+ {bmdFormat10BitYUV, 10, GST_VIDEO_FORMAT_v210},
+ {bmdFormat8BitARGB, 8, GST_VIDEO_FORMAT_ARGB},
+ {bmdFormat8BitBGRA, 8, GST_VIDEO_FORMAT_BGRA},
I think these values are wrong for bpp? UYVY should be 2 bytes for example,
ARGB 4, v210 should also be 4. See usage in decklinkvideosink.
You might also be able to use the pixel stride of the first component (Y / R)
here, that should be the same value
@@ +359,3 @@
+ guint i;
+
+ for (i = 0; i < G_N_ELEMENTS (formats); i++) {
You can start counting from 1
@@ +364,3 @@
+ }
+ GST_ERROR ("Video format %d not supported", f);
+ return GST_DECKLINK_VIDEO_FORMAT_AUTO;
Isn't this more a g_assert_not_reached()?
@@ +465,3 @@
+
+ caps = gst_caps_new_empty ();
+ for (i = 0; i < G_N_ELEMENTS (formats); i++)
You can start counting from 1
@@ +472,3 @@
+ return caps;
+
+ return caps;
return caps twice
::: sys/decklink/gstdecklinkvideosrc.cpp
@@ +567,3 @@
+ GST_ELEMENT_ERROR (self, CORE, NEGOTIATION,
+ ("Invalid mode in captured frame"),
+ ("Mode set to %d but captured %d", self->caps_mode, f->mode));
This should probably return here with a GST_FLOW_NOT_NEGOTIATED after unlocking
the mutex. And the error message should probably also happen after unlocking
the mutex already
@@ +579,3 @@
+ GST_ELEMENT_ERROR (self, CORE, NEGOTIATION,
+ ("Invalid pixel format in captured frame"),
+ ("Format set to %d but captured %d", self->caps_format, f->format));
And this
@@ +813,3 @@
+ self->video_format != GST_DECKLINK_VIDEO_FORMAT_AUTO) {
+ GST_WARNING_OBJECT (self, "Warning: mode=auto and format!=auto may \
+ not work");
Will mode!=auto && format==auto work as expected? I would also just make it an
error and return GST_STATE_CHANGE_FAILURE here then
--
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