Multicrop GStreamer plugin

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Multicrop GStreamer plugin

Naveen.C
Hi All,

If we have an accelerated video crop block which can do 10 crops at a time, what is the best way send these cropped images out of srcpad ? And, each cropped image size can be different.

Video crop plugin receives cropmeta information along with input buffer. 

Thanks and regards,
Naveen

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Multicrop GStreamer plugin

Nicolas Dufresne-5
Le samedi 11 avril 2020 à 09:57 +0530, Naveen cherukuri a écrit :
> Hi All,
>
> If we have an accelerated video crop block which can do 10 crops at a time, what is the best way send these cropped images out of srcpad ? And, each cropped image size can be different.

Maybe you should clarify, do you want to use the 10 croppers to crop in
parallel (on one stream), or to process 10 streams ?

For the first one, you can use similar approach as the SDX folks (this
was renamed and rewritten, but they still use the same approach). They
simply accumulate N buffers before they start (adding the equivalent in
latency for live pipelines). Otherwise, you need to step away from
GstBaseTransform, and use an internal thread so that input is no longer
blocked on output.

For the second, you'd have to write a custom element. But best would be
to have 1 element and add something to share the crop instances.
Usually, this resource management is something handled by a kernel
driver (just like we do for crop, scs, scaler HW multiplexing on other
SoC).

>
> Video crop plugin receives cropmeta information along with input buffer.
>
> Thanks and regards,
> Naveen
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Multicrop GStreamer plugin

Naveen.C
>Maybe you should clarify, do you want to use the 10 croppers to crop in
parallel (on one stream), or to process 10 streams ?

In my use case, an input pad receives video frame along with 'N' number of
ROI Metadata and sends out N cropped images on a source pad. Can we use
GstBufferList in this case to send out N cropped images out ?

Please suggest me better approach to handle this use case.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Multicrop GStreamer plugin

Nicolas Dufresne-5
Le dimanche 12 avril 2020 à 22:55 -0500, Naveen.C a écrit :
> > Maybe you should clarify, do you want to use the 10 croppers to crop in
> parallel (on one stream), or to process 10 streams ?
>
> In my use case, an input pad receives video frame along with 'N' number of
> ROI Metadata and sends out N cropped images on a source pad. Can we use
> GstBufferList in this case to send out N cropped images out ?
>
> Please suggest me better approach to handle this use case.

You want to create N buffers from 1 stream, but these buffers are all on the
same timestamps. So if you serialize them out as one stream/pad, the outcome is
no longer a stream.

You could maybe introduce N pads/streams, create a 1:N element. Again, we are
missing context to help you out. It is not clear to me why one would need to
copy-crop instead of just accessing the sub-picture in the original picture.

Nicolas

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel