v4l2 filter pipeline allocation query issue

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

v4l2 filter pipeline allocation query issue

mksafavi
Hi.

I have implemented v4l2 filter on Xilinx Zynq UltraScale with VCU codec.

 the v4l2 bridge driver I use creates two v4l2 devices for each DMA. ( a
capture and an output device).
the problem I faced is that because the allocations are decided separately
the stride & offset is not matched.( the padding of previous line roll over
to the next in the output frame)

my pipelines:


the io-mode on v4l2 plugins for the v4l2sink is set to dmabuf-import and
v4l2src to dmabuf mode.

so far I've tried adding  allocation meta to v4l2sink with the metaparams I
got from the encoder.which got into a state that the allocation query had
two videometadata because the v4l2sink element also send it.
 
I also tried adding a probe to v4l2sink and running the allocation query on
v4l2src  but got this warning during run time.


 How can I get the two pipelines to decide allocation properly?

Is there any plugin available for this use case? at first I was using
v4l2transform but unfortunately because of a faulty dma driver I had to
switch over to this setup that the sink and source are seperated.


thanks




--
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: v4l2 filter pipeline allocation query issue

Nicolas Dufresne-5
Le vendredi 30 octobre 2020 à 22:26 -0500, mksafavi a écrit :

> Hi.
>
> I have implemented v4l2 filter on Xilinx Zynq UltraScale with VCU codec.
>
>  the v4l2 bridge driver I use creates two v4l2 devices for each DMA. ( a
> capture and an output device).
> the problem I faced is that because the allocations are decided separately
> the stride & offset is not matched.( the padding of previous line roll over
> to the next in the output frame)
>
> my pipelines:
>
>
> the io-mode on v4l2 plugins for the v4l2sink is set to dmabuf-import and
> v4l2src to dmabuf mode.
>
> so far I've tried adding  allocation meta to v4l2sink with the metaparams I
> got from the encoder.which got into a state that the allocation query had
> two videometadata because the v4l2sink element also send it.
>  
>
>
>
> I also tried adding a probe to v4l2sink and running the allocation query on
> v4l2src  but got this warning during run time.
>
>
>  How can I get the two pipelines to decide allocation properly?

The only right way is to implement an element the combines both CAPTURE
and OUTPUT nodes. Having source and sink won't work within the same
pipeline.

>
> Is there any plugin available for this use case? at first I was using
> v4l2transform but unfortunately because of a faulty dma driver I had to
> switch over to this setup that the sink and source are seperated.

v4l2transform currently only support M2M nodes (nodes with both queues
exposed to the same node). M2M are also special in the sense that they
are multi instance (each time you open the device you get a unique
instance). It's probably possible to assume otherwise, but is not very
well specified.

>
> thanks
>
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> 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