cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer
Observer
626 Views
Registered: ‎08-08-2018

Frame Buffer Deinterlaceing

Jump to solution

I am trying to understand the detials of how the Framebuffer handles the FID. Reviewing the code added in 2018.3 it seems like there is a FID offset. Is stride just configured so that the framebuffer will automaticalyl stripe the data into memory (meaning the the odd and even are just stored in memory as a "progressive" frame). Or is it just two seperate frame? Nothing appears to have the detials of the implemenation.

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Moderator
Moderator
528 Views
Registered: ‎11-09-2015

Re: Frame Buffer Deinterlaceing

Jump to solution

@gloryhunter1 wrote:

Based on your comment in memory we would see a 720x240 @ 60Hz progressive video? The Frame buffer does not attempt to deinterlace based on the position and instead just reduces the number of horizontal rows. 

Is that correct?


Yes correct. There is no deinterlacing done by the Video frame buffer. It should only store the frame/fields


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**

View solution in original post

10 Replies
Moderator
Moderator
555 Views
Registered: ‎11-09-2015

Re: Frame Buffer Deinterlaceing

Jump to solution

HI @gloryhunter1 

I am quite sure the Video Frame buffer is storying each field individually. So it a frame = a field


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Highlighted
Observer
Observer
533 Views
Registered: ‎08-08-2018

Re: Frame Buffer Deinterlaceing

Jump to solution

In this case we have a 720x480 interlaced Video Input @ 30Hz. We have stripped off the front and back poarchs so we  only have active video. 

We provide 4:2:2 data at one pixel per clock cycle to the Video in to AXI-S. We have configured that AXI-S to convert to the 4:2:2 stream data. It then provides this to the Frame buffer with Field ID.

Based on your comment in memory we would see a 720x240 @ 60Hz progressive video? The Frame buffer does not attempt to deinterlace based on the position and instead just reduces the number of horizontal rows. 

Is that correct?

0 Kudos
Highlighted
Moderator
Moderator
529 Views
Registered: ‎11-09-2015

Re: Frame Buffer Deinterlaceing

Jump to solution

@gloryhunter1 wrote:

Based on your comment in memory we would see a 720x240 @ 60Hz progressive video? The Frame buffer does not attempt to deinterlace based on the position and instead just reduces the number of horizontal rows. 

Is that correct?


Yes correct. There is no deinterlacing done by the Video frame buffer. It should only store the frame/fields


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**

View solution in original post

Highlighted
Observer
Observer
513 Views
Registered: ‎08-08-2018

Re: Frame Buffer Deinterlaceing

Jump to solution
Final question: The linux driver provided also doesn't deinterlace the data correct?
0 Kudos
Highlighted
Moderator
Moderator
417 Views
Registered: ‎11-09-2015

Re: Frame Buffer Deinterlaceing

Jump to solution

Hi @gloryhunter1 

Yes correct.

However, maybe if you use a gstreamer pipe there might be some plugins which will do it in SW


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Highlighted
Observer
Observer
395 Views
Registered: ‎08-08-2018

Re: Frame Buffer Deinterlaceing

Jump to solution

I believe that is the path we are looking at. The was a small amount of hope that the Linux Drive place the drive into memory to make it look like a progressive frame.

 

0 Kudos
Highlighted
Moderator
Moderator
389 Views
Registered: ‎11-09-2015

Re: Frame Buffer Deinterlaceing

Jump to solution

@gloryhunter1 wrote:

I believe that is the path we are looking at. The was a small amount of hope that the Linux Drive place the drive into memory to make it look like a progressive frame.

 


Well this would be an inefficient way of using the memory for most cases

I am not sure about the linux driver but maybe you can play with the stride for this. You might need to modify the driver for this.


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Highlighted
Observer
Observer
382 Views
Registered: ‎08-08-2018

Re: Frame Buffer Deinterlaceing

Jump to solution
I believe you could modify it. I think there was some issues with the how the DMA's expect the allocated memory to be created.

I understand the baremetal world much better than the Linux. But I image that both progressive and an interlaced frame store 1 780x480 frame per 30Hz.

So if you allocate that size and then write data in on odd rows and then once you complete the Odd Frame write it into the Even Rows and only after that marking the frame as Done. This would cost almost nothing from a processor perspective.

Anything you could share on why it would be inefficient would be great.
0 Kudos
Highlighted
Adventurer
Adventurer
348 Views
Registered: ‎07-16-2009

Re: Frame Buffer Deinterlaceing

Jump to solution

Hi @gloryhunter1 ,

the issue is not the effectivity but the quality of the resulting video, which is very bad for dynamic scenes. In interlaced video, each field is sampled in different time. If you deinterlace by simply putting two frames together, you actualy showing two different scenes at once.

Best Regards,

Jan

0 Kudos
Highlighted
Observer
Observer
341 Views
Registered: ‎08-08-2018

Re: Frame Buffer Deinterlaceing

Jump to solution

That makes sense. I believe we were considering a Weave de-interlacing but I can see that might cause an issue.

0 Kudos