cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
omerfirmak
Visitor
Visitor
794 Views
Registered: ‎06-24-2018

Parallel Video + Video In to AXI4-Stream + Framebuffer Write on VCU application

Hi,

I am trying to encode BT601 and BT1120 video inputs with the VCU of Zynq Ultrascale. I want to utilize Gstreamer for ease of use.

Would a pipeline like below work for these situtations?

 

CVBS Video ---->  ADV7280 ---->  Video In to AXI4-Stream  ----> Framebuffer Write ----> VCU

ADV7280 outputs 8-bit data with HSYNC, VSYNC, DE signals.

 

SDI Video ---->  GS2961A ---->  Video In to AXI4-Stream  ----> Framebuffer Write ----> VCU

GS2961A outputs 20-bit data with HSYNC, VSYNC, DE signals.

 

Would Framebuffer write extract frame dimensions and frame rate if these pipelines were created?

 

Regards

Ömer

 

Tags (2)
0 Kudos
9 Replies
watari
Teacher
Teacher
739 Views
Registered: ‎06-16-2013

Hi @omerfirmak 

 

Can you prepare V4L2 driver for CVBS video ?

If yes, it can work fine by using gstreamer.

 

Also, Xilinx already prepares SDI Rx solution as VCU TRD.

Would you refer it ?

 

Best regards,

0 Kudos
omerfirmak
Visitor
Visitor
709 Views
Registered: ‎06-24-2018

Thanks for the answer @watari 

Actually ADV7280 already has a driver with V4L2 support. But it is not really usable and i can't write one from scratch.  Do i really need a V4L driver? Wouldnt "Framebuffer write" drivers be enough? I can give up on gstreamer if that would eliminate the need for drivers. I can query the input status (lock status, resolution, frame rate etc) from userspace with the i2c port ADV7280 has.

 

SDI solution Xilinx has, requires high speed transceivers and our design doesn't have any that are free right now. So we opted for this parallel low speed input solution for both CVBS and SDI inputs.

 

Regards

Ömer

0 Kudos
florentw
Moderator
Moderator
697 Views
Registered: ‎11-09-2015

HI @omerfirmak 

If you want to use Gstreamer, then as mentioned by @watari , you need to have drivers that can plug into gstreamer. A good v4l2 or DRM driver should do this.

The Video frame buffer write does not have a V4L2 driver so it cannot be used alone to be plugged into a gstreamer pipeline.

One option that you have is to work at a lower level, so for the VCU you would need to work at the VCU control software level, which is the driver level for the VCU


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
omerfirmak
Visitor
Visitor
678 Views
Registered: ‎06-24-2018

Thanks  @florentw 

is it possible to fake a v4l device? Can I just create a dummy driver that reports stuff like video stats, responds to simple commands?

Regards

Ömer

0 Kudos
florentw
Moderator
Moderator
675 Views
Registered: ‎11-09-2015

HI @omerfirmak 

I guess you could but I am not sure about the difference between creating an actual v4l2 driver and a dummy one which would act as an real one


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
omerfirmak
Visitor
Visitor
668 Views
Registered: ‎06-24-2018

@florentw 

I would have to write two seperate drivers for both GS2961 and ADV7280. I may go that way and write real seperate drivers for both in the future.

Just to clarify, doesnt "framebuffer write" show up as a /dev/videoX entry? If it doesnt have a v4l driver how does that happen? Is there something I can read that would help me to understand the overall architecture?

0 Kudos
omerfirmak
Visitor
Visitor
659 Views
Registered: ‎06-24-2018

@florentw 

With no v4l driver, would I be still able to get raw data from FBW ip?

I am wondering if I can feed that data to something like these below and set the caps manually? I would be able to query the information needed for the caps.

https://github.com/umlaeute/v4l2loopback

https://github.com/v154c1/virtual_camera

 

Regards

Ömer

0 Kudos
florentw
Moderator
Moderator
656 Views
Registered: ‎11-09-2015

Hi @omerfirmak 

I cannot answer to that as this is over what I know. So maybe ;)

If you succeed with this way, please share your results with the community


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
watari
Teacher
Teacher
591 Views
Registered: ‎06-16-2013

Hi @omerfirmak 

 

As you already know, gstreamer requires a pad interface as v4l2 driver or file or ethernet (like rtphXXXsrc) on sink device. (It's a little strange. But it's correct.)

In this case, if you can't prepare suitable v4l2 driver, I suggest you to design ex. cvbsrc and sdisrc which are followed the rule of gstreamer's element, like rtphXXXsrc.

However, if you took care of security issue, you must describe it with kernel driver.

 

Also, I suggest you to discuss and/or brush up what you want to do and how to do.

 

Best regards,

 

0 Kudos