Hello,

sorry for slow reply, there were a lot of things to do from your message
and my time is few right now. ;-)

Am Samstag, den 30.12.2006, 15:23 +0100 schrieb Laurent Pinchart:
> On a side note, aMSN should now work properly with UVC webcams. Philippe 
> Valembois added MJPEG support, and even fixed a small bug in the driver. 
> Thanks Phil.

Right after your message (or two days later?) I checked it out from the
SVN. Yet, it did not work for me. Please do not ask me, why. I can do
some debugging in a month or two, presumed someone is interested in the
resulting stuff.

> > My personal goal is getting kopete to work with my webcam. That sounds
> > easy, but in fact is not: There's no way to scale the image for my
> > internet-bandwidth and there's no way to switch between MJPEG und
> > YUYV(?)-Mode in kopete. I first have to start ekiga, try and set the
> > right resolution, then start kopete and see a much too large picture.
> > The other way works too: I can set a smaller resolution, then start
> > kopete and see a picture with scrambled lines (looks like every line is
> > continued in the next line): kopete does not handle MJPEG.
> 
> Kopete should then be fixed :-)

I thought so. ;-)

> Seriously, applications which don't support V4L2 properly should be ported. 
> MJPEG decoding is quite easy and has been implemented in lots of places.
> 
> I had a quick look at Kopete, and fixing V4L2 support wouldn't be that 
> difficult. That's a good candidate for a junior job.

A good candidate for a job would first be some documentation of kopete.
There are three or four places dealing with webcams. Since having no
idea how to handle webcams, webstreams or outputs to screen, it took me
some time to figure out, where to search for the lack of MJPEG-support.

If I'm right, it's kopete-0.12.2/kopete/libkopete/avdevice/, espeacially
videodevice.cpp, function VideoDevice::GetFrame(). For a first hack,
here one could read the MJPEG-Frame and put it to some supported format
(YUV420P or something). There are about ten or twenty other files to be
fixed.

> > My problem right now is: Is there any program that can simulate a
> > /dev/video-device? I know of streaming-software streaming to the
> > internet, but this does not help for use with kopete, does it?
> 
> As Pierre mentioned, there's a v4l loopback module. I've never played with 
> it, 
> and I don't know how stable/efficient/complete it is.

I found no way of reading my webcam and sending the stream back to the
loopback-input.

> If you have some C/C++ programming knowledge, Kopete wouldn't be difficult to 
> fix. I'm sure many people would thank you for your work :-)

For the next two or three month there's no way of getting more than a
quick and very dirty hack from me. By that time there's a certain
probability of "native" MJPEG-support. Very dirty includes e.g. compiled
in fixed resolutions. There will be no way of chosing resolutions via
user interface. (If no one else integrates this support, I think I could
learn Qt and a lot more C++ than I know by now, and do the job in some
months.)

Now to my real new problem: Is there some easy to understand sample
implementation of decoding some MJPEG-Frame to one of following:

PIXELFORMAT_GREY
PIXELFORMAT_RGB332
PIXELFORMAT_RGB555
PIXELFORMAT_RGB555X
PIXELFORMAT_RGB565
PIXELFORMAT_RGB565X
PIXELFORMAT_RGB24
PIXELFORMAT_BGR24
PIXELFORMAT_RGB32
PIXELFORMAT_BGR32
PIXELFORMAT_YUYV
PIXELFORMAT_UYVY
PIXELFORMAT_YUV420P
PIXELFORMAT_YUV422P

I'd prefer implementations not using additional libraries or use Qt for
decoding.

I remember some message I've seen some time ago, where one showed the
basics of MJPEG-decoding. But I did not find it again, probably because
I do not remember the place I've seen this message.

Any pointers appreciated! Thanks a lot in advance!

Have a nice day!

Martin
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to