CSI Capture device deinterlacing on i.MX6

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

CSI Capture device deinterlacing on i.MX6

3,036 Views
ottob
Contributor IV

Hi There,


Does the latest released (Yocto 3.10.17 GA1.0.2) BSP support deinterlacing of video captured on the CSI port ? It would be preferable to deinterlace the input to avoid having to deal with it in the encoder or playback side.


I did see the post below, but it is fairly old so I figured I'd check for any updates


https://community.freescale.com/docs/DOC-93633#


Thanks, /Otto

12 Replies

1,181 Views
igorpadykov
NXP Employee
NXP Employee

Hi Otto

one can look at imx-test-3.10.17 mxc_v4l2_tvin.c

IMX6Q Interlaced TVIN bt656

Patch to Support BT656 and BT1120 Output For i.MX6 BSP

Best regards

igor

0 Kudos

1,181 Views
ottob
Contributor IV

Hi Igor,

Looks like mxc_v4l2_tvin.c does the deinterlacing on the output side, unless I'm mistaken... My main concern is when feeding CSI captured video to the encoder. I would like to avoid encoding interlaced video

Thanks,

/Otto

0 Kudos

1,181 Views
igorpadykov
NXP Employee
NXP Employee

Hi Otto

one can deinterlace to buffer, then encode it with vpu.

~igor

0 Kudos

1,181 Views
vikaspatil
Senior Contributor I

Hi Igor,

Do you mean the following mentioned path to show de-interlaced image ?

Camera --> V4l2 Capture -->[interlaced data] V4l2 Display (what output device to use here? virtual FB?) [de-interlaced data] -> [how to pass de-inteaced buffer here?]Encode --> Decode [like to use GPU path here for display] --> LCD

I think mxc_vpu_test might be modified to do what i mentioned above. But as I am not much familiar with VPU and video processing, it doesn't look trivial to me.

As I am also facing this saw kind artifacts issue and looking for solutions. See my post: How to avoid aliasing artifacts using X11/GLES2 to display interlaced YUYV camera output?

Regards,

Vikash

0 Kudos

1,181 Views
igorpadykov
NXP Employee
NXP Employee

Hi vikash

regarding csi deinterlacing one can look at simple SDK example

i.MX 6Series Platform SDK : Bare-metal SDK :

adv7180_capture.c, camera_test.c

Best regards

igor

0 Kudos

1,181 Views
vikaspatil
Senior Contributor I

Hi Igor,

I think you misunderstood my question. I am able to de-interlace using mxc_v4l2_tvin with -m option but it is V4l2 output path. I am not getting how to de-interlace using X11/GLES2.0 as v4l2 output path is not used with this?

Regards,

Vikash

0 Kudos

1,181 Views
igorpadykov
NXP Employee
NXP Employee

Hi vikash

I am not aware of de-interlacing methods using GLES2.0.

Best regards

igor

0 Kudos

1,181 Views
ottob
Contributor IV

Hi Igor,

Unfortunately I'm fairly green to the mx6 video processing. Any hints on what needs to be done or other similar code examples ?

Thanks,

/Otto

0 Kudos

1,181 Views
igorpadykov
NXP Employee
NXP Employee

Hi Otto

I think one can also look at adv7180 example (adv7180_capture.c)

in SDK

i.MX 6Series Platform SDK : Bare-metal SDK

~igor

1,181 Views
ottob
Contributor IV

Will do. Thanks a lot for the quick replies. Have a good weekend !

/Otto

0 Kudos

1,181 Views
saurabh206
Senior Contributor III

Hi

ottoblom

Did you able to implement the CSI De-interlacing support?

0 Kudos

1,181 Views
ottob
Contributor IV

Not yet

0 Kudos