Skip to contentSkip to conversation

New Sony Vaio Motion Eye camera driver

PATCH Alex Deucher 7 participants 11 messages Jun 12, 2001 – Jun 29, 2001

lore
Share & tools
lore
#0 lore raw

As far as I know they have not been integrated into the Xfree tree. I believe there were some disagreements about extending the Xv API since GATOS added some extentions to support the AIW video capture cards. I suppose someone could try and submit a patch again and see if they'll take it.

Also there is some work on a new XvMC interface that would allow for extended DVD acceleration.

Alex

--------------------------

Quoted 7 lines · On Mon, 11 Jun 2001 [email protected] wrote:
Quoted 4 lines · Linus Torvalds

I've not figured out why the ATI Xv stuff from gatos seems to not have made it into the XFree86 CVS tree - it works better than much of the Xv stuff for some other chipsets that _are_ in the CVS tree.

Quoted 6 lines
Quoted 3 lines

I imported it into the XFree86 CVS some months ago, it was trivial. I don't have the patches lying around any more, though. I can try to re-create them if anybody needs help.

Did it look endiansafe to you? The ATI Xv stuff from XFree86 4.1.0 produces psychadelic results for me on PPC.

I have to say that I have absolutely no idea. I only use little-endian machines myself (and 99% x86).

Also, which ATI Xv stuff are you talking about? The ATI Rage128 and ATI Radeon Xv code was at least a few months ago completely separate from the
ATI Rage code (the first two were in X CVS, while the latter only existed
in the gatos version).

Has the Gatos code (or some other code) maybe been integrated into 4.1.0 now? I haven't followed X CVS for the last months very closely..

Linus

#1 lore raw
Quoted 2 lines · Alex Deucher

Also there is some work on a new XvMC interface that would allow for extended DVD acceleration.

Extended DVD acceleration with Motion-Compensation? How?

Servus,
Daniel

#2 lore raw

I'm not sure of the exact specs. Check out the Xfree CVS. Or ask on the [email protected] ML.

Alex

Quoted 10 lines · [email protected] wrote:
Quoted 2 lines · Alex Deucher

Also there is some work on a new XvMC interface that would allow for extended DVD acceleration.

Extended DVD acceleration with Motion-Compensation? How?

Servus,
Daniel

#3 lore raw
In reply to Alex Deucher
Quoted 6 lines · Alex Deucher

As far as I know they have not been integrated into the Xfree tree. I believe there were some disagreements about extending the Xv API since GATOS added some extentions to support the AIW video capture cards. I suppose someone could try and submit a patch again and see if they'll take it.

I got just the YUV code from Gatos, and a few months ago it took less than an hour to merge just that part (and most of that was compiling and testing).

The rest of Gatos is obviously more experimental, but the YUV code looks quite sane.

Quoted 2 lines

Also there is some work on a new XvMC interface that would allow for extended DVD acceleration.

Yes. Although I hope it's going to be XvMPG2 or something - some cards literally do all of the mpeg2 stuff, not just parts of it, and limiting yourself to just the motion comp is limiting the protocol quite badly.

Linus

#4 lore raw
Quoted 4 lines · Linus Torvalds

Yes. Although I hope it's going to be XvMPG2 or something - some cards literally do all of the mpeg2 stuff, not just parts of it, and limiting yourself to just the motion comp is limiting the protocol quite badly.

I recompiled a complete X with the extended Xv ATI driver from GATOS (aka ati.2). After fixing a bug (well, checking from the presence of a BIOS to try to access it anyway doesn't really make sense and will crash on any non-i386) I still have the same endianess problems. Just to let you know....

Servus,
Daniel

#5 lore raw
In reply to Linus Torvalds
Quoted 3 lines

I got just the YUV code from Gatos, and a few months ago it took less than an hour to merge just that part (and most of that was compiling and testing).

Me too. After some days playing with it it seems that the Rage Mobility Card (from the Vaio Picturebook C1VE <- that's where we started the discussion):
- has almost no acceleration in XFree, including the 4.1.0 release
- has Xv YUV->RGB acceleration in Gatos (but that's all, no direct video input etc).

Quoted 2 lines

The rest of Gatos is obviously more experimental, but the YUV code looks quite sane.

Well, not quite... I've had several X lockups while using the YUV acceleration code. Let's say one lockup per half an hour.

Even the performances are controversial: with 320x240, I achieve great performance with xawtv/meye driver, I can even use the hardware scaling facilities (well, the xawtv sources need a little hacking for that), but in 640x480 the framerate achieved with Xv is below the one I get by converting YUV->RGB in software...

But the main question remains: does the MotionEye camera support overlay or not ? It could be that it is connected to the feature connector of the ATI board for doing direct video input/output (but no X driver recognizes this connector today). The motion jpeg chip this camera is based on definately has a video output.

Or it could just be the application who gets YUV data from the chip then send it directly to the video board. Today this works, almost (because we need a patched X - read gatos - and a patched xawtv - in order to do scaling).

Stelian.

Signature · 4 lines
Stelian Pop <[email protected]>
|---------------- Free Software Engineer -----------------|
| Alcôve - http://www.alcove.com - Tel: +33 1 49 22 68 00 |
|------------- Alcôve, liberating software ---------------|
#6 lore raw

Sorry for replying a couple of weeks late - I don't check linux-kernel that often.

Quoted 10 lines · Stelian Pop
Quoted 3 lines

I got just the YUV code from Gatos, and a few months ago it took less than an hour to merge just that part (and most of that was compiling and testing).

Me too. After some days playing with it it seems that the Rage Mobility Card (from the Vaio Picturebook C1VE <- that's where we started the discussion):
- has almost no acceleration in XFree, including the 4.1.0 release
- has Xv YUV->RGB acceleration in Gatos (but that's all, no direct video input etc).

it has, but it is disabled as normally notebooks don't have video in. Well, some do but this is a grey area. ATI says there supposed to be a multimedia table that says if you have a decoder on board - but some manufacturers don't include it. In this case the driver cannot know whether the decoder is present and disables the interface to avoid lockups.

I imagine it is either using ZV port or VIP/MPP connector - I'll be happy to help you to get it to work, provided you know the part that produces video stream.

Quoted 6 lines
Quoted 3 lines

The rest of Gatos is obviously more experimental, but the YUV code looks quite sane.

Well, not quite... I've had several X lockups while using the YUV acceleration code. Let's say one lockup per half an hour.

That's not supposed to happen - let me know what causes it.. what you are using, etc..

Quoted 6 lines

Even the performances are controversial: with 320x240, I achieve great performance with xawtv/meye driver, I can even use the hardware scaling facilities (well, the xawtv sources need a little hacking for that), but in 640x480 the framerate achieved with Xv is below the one I get by converting YUV->RGB in software...

You have to be careful here - you can't write to the framebuffer without waiting for engine to go idle. Otherwise it'll lockup.

Quoted 6 lines

But the main question remains: does the MotionEye camera support overlay or not ? It could be that it is connected to the feature connector of the ATI board for doing direct video input/output (but no X driver recognizes this connector today). The motion jpeg chip this camera is based on definately has a video output.

I can help you get this to work.

Quoted 5 lines

Or it could just be the application who gets YUV data from the chip then send it directly to the video board. Today this works, almost (because we need a patched X - read gatos - and a patched xawtv - in order to do scaling).

Try using xv_stream from ati_xv branch on gatos.

Vladimir Dergachev

Quoted 13 lines

Stelian.

Signature · 9 lines
Stelian Pop <[email protected]>
|---------------- Free Software Engineer -----------------|
| Alc�ve - http://www.alcove.com - Tel: +33 1 49 22 68 00 |
|------------- Alc�ve, liberating software ---------------|
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
#7 lore raw
In reply to Stelian Pop
Quoted 3 lines · On Thu, Jun 28, 2001 at 03:11:22PM -0400, [email protected] wrote:

I imagine it is either using ZV port or VIP/MPP connector - I'll be happy to help you to get it to work, provided you know the part that produces video stream.

This part is described in the chip's doc here:

	http://va.samba.org/picturebook/72002_E_.pdf

Look at the page 9 where the connections between the chip and the video bus are described. The problem is that there are 2 possible modes (ZV-port or Digital YC), and I'm not sure which one Sony chose to use...

Quoted 5 lines
Quoted 2 lines

Well, not quite... I've had several X lockups while using the YUV acceleration code. Let's say one lockup per half an hour.

That's not supposed to happen - let me know what causes it.. what you are using, etc..

The lockups happen upon closing xawtv (used with xv output). Let's say one time in ten runs... Then the X server is dead, but I can still log in using the network and do whatever I want. But if I kill the X server the whole system freezes hard.

Quoted 5 lines
Quoted 2 lines

but in 640x480 the framerate achieved with Xv is below the one I get by converting YUV->RGB in software...

You have to be careful here - you can't write to the framebuffer without waiting for engine to go idle. Otherwise it'll lockup.

??? That's not me, it's xawtv, through the XV facilities of the X server which writes to the framebuffer... Or maybe I don't understand the question...

Anyway, I've retested it with the latest ati.2 binaries and how the 640x480 xv speed seems to have improved (or something in my configuration changed, of course :-) ).

Quoted 4 lines
Quoted 2 lines

(but no X driver recognizes this connector today). The motion jpeg chip this camera is based on definately has a video output.

I can help you get this to work.

I'd like to, thanks.

Quoted 6 lines
Quoted 4 lines

Or it could just be the application who gets YUV data from the chip then send it directly to the video board. Today this works, almost (because we need a patched X - read gatos - and a patched xawtv - in order to do scaling).

Try using xv_stream from ati_xv branch on gatos.

It won't work out of the box either (it uses only v4l read calls and doesn't support mmap, it assumes a capture size of 352x288 which this camera does not support etc). But it should be easy to patch it and make it work with this camera, just like I did with xawtv.

Stelian.

PS: this hasn't much to do with the kernel anymore, I suggest we take this discussion off list now. I'm not sure neither if Linus is really interested in getting a copy of this. :-)

Signature · 4 lines
Stelian Pop <[email protected]>
|---------------- Free Software Engineer -----------------|
| Alcôve - http://www.alcove.com - Tel: +33 1 49 22 68 00 |
|------------- Alcôve, liberating software ---------------|
#8 lore raw
In reply to Linus Torvalds

I actually heard from one of the xfree developers last night that the merge of the the YUV stuff at least is in progress. As I recall I think XvMC was for general media controls, but I could be wrong, it's been a while.

Alex

Quoted 24 lines · Linus Torvalds
Quoted 6 lines · Alex Deucher

As far as I know they have not been integrated into the Xfree tree. I believe there were some disagreements about extending the Xv API since GATOS added some extentions to support the AIW video capture cards. I suppose someone could try and submit a patch again and see if they'll take it.

I got just the YUV code from Gatos, and a few months ago it took less than an hour to merge just that part (and most of that was compiling and testing).

The rest of Gatos is obviously more experimental, but the YUV code looks quite sane.

Quoted 2 lines

Also there is some work on a new XvMC interface that would allow for extended DVD acceleration.

Yes. Although I hope it's going to be XvMPG2 or something - some cards literally do all of the mpeg2 stuff, not just parts of it, and limiting yourself to just the motion comp is limiting the protocol quite badly.

Linus

#9 lore raw
In reply to Linus Torvalds

In article <[email protected]>,

Quoted 3 lines · Stelian Pop

Well, not quite... I've had several X lockups while using the YUV acceleration code. Let's say one lockup per half an hour.

Strange. I've watched DVD's etc. Maybe it's not the Xv code, but your camera code?

Quoted 5 lines

Even the performances are controversial: with 320x240, I achieve great performance with xawtv/meye driver, I can even use the hardware scaling facilities (well, the xawtv sources need a little hacking for that), but in 640x480 the framerate achieved with Xv is below the one I get by converting YUV->RGB in software...

There's something wrong with your setup. I watch full-screen DVD's on my VAIO. It's not really fast enough with just the YUV conversion done in hardware (it's plenty fast enough if MC and iDCT would be done in HW too, but ATI doesn't release docs without strict NDA's). But there's no way DVD's are watchable with sw YUV conversion and scaling.

Quoted 2 lines

But the main question remains: does the MotionEye camera support overlay or not ?

That one I have no clue about at all.

Linus

#10 lore raw
Quoted 5 lines · you
Quoted 2 lines

Well, not quite... I've had several X lockups while using the YUV acceleration code. Let's say one lockup per half an hour.

Strange. I've watched DVD's etc. Maybe it's not the Xv code, but your camera code?

It can be, of course. However I never experienced problems when using the 'regular' X server, but quite often when using the patched server from gatos.

And since the driver delivers YUV data in both cases, I see no difference (from its point of vue) between the two uses.

Quoted 11 lines
Quoted 5 lines

Even the performances are controversial: with 320x240, I achieve great performance with xawtv/meye driver, I can even use the hardware scaling facilities (well, the xawtv sources need a little hacking for that), but in 640x480 the framerate achieved with Xv is below the one I get by converting YUV->RGB in software...

There's something wrong with your setup. I watch full-screen DVD's on my VAIO. It's not really fast enough with just the YUV conversion done in hardware (it's plenty fast enough if MC and iDCT would be done in HW too, but ATI doesn't release docs without strict NDA's). But there's no way DVD's are watchable with sw YUV conversion and scaling.

I said that YUV conversion and scaling _do_ work in hardware. Actually, using a capture size of 320x240 I can use those hardware features and scale the image to full screen and I get all the 30 fps.

It seems however to work pretty bad in 640x480... but maybe it is my setup here...

Quoted 4 lines
Quoted 2 lines

But the main question remains: does the MotionEye camera support overlay or not ?

That one I have no clue about at all.

Neither do I :-)

Stelian.

Signature · 4 lines
Stelian Pop <[email protected]>
|---------------- Free Software Engineer -----------------|
| Alcôve - http://www.alcove.com - Tel: +33 1 49 22 68 00 |
|------------- Alcôve, liberating software ---------------|