[Bug 793338] videometa: add support for encoder parameters to ROI meta

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Feb 15 15:52:05 UTC 2018


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

--- Comment #9 from Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> ---
(In reply to Víctor Manuel Jáquez Leal from comment #7)
> Another questions:
> 
> 1\ A buffer can hold a list for metas of the same type? AFAIK, they don't

Wrong they do. GstMeta are stored in a list, regardless of their type, allowing
multiple meta of the same type to be stored. Element can use IDs for
RegionOfInterest in order to further identify them, even though this is
currently used/needed. See gst_buffer_iterate_meta_filtered()

> 2\ An encoder can process several ROIs per frame? AFAIK they do
> 
> If I am correct we might have a problem, how we could process several
> regions of interest per frame?

VAAPI, OMX/ALG and x264enc supports a pretty large amount of ROI rectangles.
Obviously, some of them will be prioritized, so it does not mean they will all
be super neat. Sometimes the bitrate is just not high enough.

(In reply to Guillaume Desmottes from comment #8)
> 1) Yes they can and we can use gst_buffer_iterate_meta_filtered() it iterate
> on all of them.
> But I'm confused with the ROI meta API actually. From its struct it's
> supposed to have a 'roi_type' (its semantic, like 'face') and an opaque id
> (as we can have more than one ROI of the same type on a given buffer). But
> in the implementation both seems to be mixed up:
> gst_buffer_add_video_region_of_interest_meta() passes the roi_type as ID,
> and gst_buffer_add_video_region_of_interest_meta_id() doesn't set the id at
> all.

This is missed named API indeed, should have been
gst_buffer_add_video_region_of_interest_meta_quark(). The ID is optionally set
by the element producing a certain type of ROI. If the same type of ROI can be
added, then it might be important to define an ID convention for it.

We could deprecate and rename I guess, nothing urgent though.

-- 
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