linux uvc gadget driver yuv streaming in windows host pc

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

linux uvc gadget driver yuv streaming in windows host pc

Jump to solution
6,969 Views
suzan
Contributor II

I am working with linux uvc gadget driver with i.mx53 processor(isochronous transfer).I am able to stream data in linux host pc with MJPEG as wel as YUYV using vlc or luvcview application.But wen i connect my usb to windows host pc i can stream only MJPEG data not YUYV data.In windows i am using amcap application in which my i.mx53 board detects as usb video.Please help me out with this or give some suggestion.

Labels (4)
Tags (1)
1 Solution
4,589 Views
suzan
Contributor II

I was using usb high bandwidth isochronous transfer ie 1024x3 bytes of data every 125micro seconds.which was working fine in MJPEG and able to achieve 35-40fps.but in YUV i think host not able to recieve such a huge data so i am sending just 1024 bytes every125micro second.now its working well but with 10-15fps.

For linux host its working with high bandwidth ie 1024x3 bytes of data with MJPEG as well as YUV.

View solution in original post

9 Replies
4,589 Views
daiane_angolini
NXP Employee
NXP Employee

I have no idea on how camera datapath flow works on windows machines.... Sorry

0 Kudos
Reply
4,589 Views
daiane_angolini
NXP Employee
NXP Employee

Sorry, I don´t understand your usecase.

What driver are you using?

How Windows see your pendrive?

Could you, please, include more information and maybe some log from linux/windows

0 Kudos
Reply
4,589 Views
suzan
Contributor II

Thanks for your response.

usecase:

i.mx53 board -->usb cable -->linux host pc(ie i.mx53 board connected to linux host pc via usb cable).

I have one buffer which gets continous data from camera.I got to continously stream the data recieving from camera in linux host pc as well as windows host pc.

uvc gadget driver:

linux kernel 2.6.35

UVC gadget driver supports YUV as wel as MJPEG.

Linux host pc:

I run my application using vlc or Luvcview.(luvcview -f YUYV)

By using YUV as wel as MJPEG i am able to stream data in Luvcview

Windows host pc:

In Amcap i am able to play MJPEG streaming.

But YUV i am not able to stream.

when i connect my usb cable to windows host pc it detects as USB video device in amcap applicaion.

if u check in device manager-->its detected as usb composite video

0 Kudos
Reply
4,589 Views
daiane_angolini
NXP Employee
NXP Employee

I have no expertise streaming video on windows, so I´m not what is supported.

As I understand, linux driver are OK (imx side) - if can give YUV to another linux machine.

amcap can stream YUV, but cannot recognize that imx are able to give it.

Do you have to install FSL USB driver in order to get your imx53 regocnized?

Have you tried any other program instead of amcap?

0 Kudos
Reply
4,589 Views
suzan
Contributor II

No need to install FSL USB driver to be installed for imx53 recognition.

imx53 board connected to linux machine via usb cable is working with MJPEG as well as YUYV.(i mean streaming happening in linux machine with vlc or luvcview or mplayer)

imx53 board connected to windows machine via usb cable is working with only MJPEG..(i mean streaming happening in windows machine with amcap).but YUYV output is just black  in windows machine.

Yes i tried with vlc in windows.It detects device as video device in vlc.i checked in usb protocol analyser it shows device is sending data continously and host is also recieving but applictaion(vlc or amcap) not able to recieve data.

In linux we are using V4L2 and in windows its directshow filter.i dont have much idea regarding directshow filter.

0 Kudos
Reply
4,589 Views
PeterChen
NXP Employee
NXP Employee

Is it possible to connect another Linux device (such like android phone which supports UVC)

to Windows as a test?

It may be middle layer problem, V4L2 may not compatible with Windows very well,

we can change V4L2 code to compatible with Windows if the test android device can work with YUYV.

0 Kudos
Reply
4,589 Views
suzan
Contributor II

Thanks for your response.I solved the issue and now its working fine with yuv in windows host pc.

0 Kudos
Reply
4,589 Views
daiane_angolini
NXP Employee
NXP Employee

Could you, please, share the how-to you fixed this issue? (someone else can drop over here and be helped for your how-to)

0 Kudos
Reply
4,590 Views
suzan
Contributor II

I was using usb high bandwidth isochronous transfer ie 1024x3 bytes of data every 125micro seconds.which was working fine in MJPEG and able to achieve 35-40fps.but in YUV i think host not able to recieve such a huge data so i am sending just 1024 bytes every125micro second.now its working well but with 10-15fps.

For linux host its working with high bandwidth ie 1024x3 bytes of data with MJPEG as well as YUV.