Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Jan 1996 23:03:28 +0100 (MET)
From:      Luigi Rizzo <luigi@labinfo.iet.unipi.it>
To:        terry@lambert.org (Terry Lambert)
Cc:        james@miller.cs.uwm.edu, terry@lambert.org, dufault@hda.com, hackers@FreeBSD.org, hasty@rah.star-gate.com, jkh@time.cdrom.com, multimedia@rah.star-gate.com
Subject:   Re: Amancio's tv program with capture!
Message-ID:  <199601232203.XAA08426@labinfo.iet.unipi.it>
In-Reply-To: <199601232131.OAA18383@phaeton.artisoft.com> from "Terry Lambert" at Jan 23, 96 02:30:44 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> What is it you want, and what does any of this have to do with Xshm?
> 
> If anything, an X implemented on such a device layering and mapping
> facility would have an API mechanism to get at the memory area instead
> of using IPC to a DDX facility... that is, we are talking about mapping
> in the server, not in the client.  For client mapping, the standard
> API would have to be used in situ and applied against the driver rather
> than a region exported by the server.

You are right that such a mechanism should be implemented by the
server. Unfortunately it does not seem to be available, unless the
often cited "DGA" (which I don't know) can help.

We were simply trying to circumvent the lack of such a mechanism.
We were looking at XShm calls to possibly save one or more copies
in the way from the frame grabber to the frame buffer.
That is, currently we have the following:

1.  video input --> mmapped system memory
	(done by the DMA on the frame grabber; PCI-intensive)
2.  system memory --> shared memory
	(done by the CPU with a bcopy; CPU intensive)
3.  shared memory --> video memory
	(done with an XShmPutImage(); CPU & PCI intensive)

Step 3. is possibly the most expensive (I don't know how many copies
are involved). Step 2. could be saved if the two areas were on the same
physical pages. Step 1. is PCI-bus intensive, but leaves the CPU free
[not that it matters too much, given that at the end we just want to
watch TV in an Xwindow!]

We (that is, I, Jim, Amancio, Jordan) don't know how to save Step
2 it or if this is possible at all. Additionally, I don't believe
I have been able to state the problem clearly :)

However, and somewhat surprisingly, XShm...() provides a nicer
output because the whole window seems to be repainted without
interruptions (while the conventional XPutImage quite often blocks
at some point while redrawing the image)

	Luigi
====================================================================
Luigi Rizzo                     Dip. di Ingegneria dell'Informazione
email: luigi@iet.unipi.it       Universita' di Pisa
tel: +39-50-568533              via Diotisalvi 2, 56126 PISA (Italy)
fax: +39-50-568522              http://www.iet.unipi.it/~luigi/
====================================================================



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199601232203.XAA08426>