Date: Fri, 09 Feb 1996 12:38:41 -0800 From: "Amancio Hasty Jr." <hasty@rah.star-gate.com> To: hackers@FreeBSD.org Cc: Thomas Roell <roell@blah.a.isar.de> Subject: TV vs. Xinside Message-ID: <199602092039.MAA00892@rah.star-gate.com>
next in thread | raw e-mail | index | archive | help
As some of you are awared we have succeded into dumping raw video at high speed to a linear frame buffer. The problem is that some of you have a matrox meteor PCI video capture board and Xinside's Xserver. I proposed to Thomas a small video extension which will push all the intelligence of handling the video inside his X server. My rational is to avoid problems with different graphic architecutres or graphic chip revisions. At any rate, Thomas wants to give us an interface in which he passes us the geometry, depth, and physical location of the frame buffer. Discussions on manipulating the frame buffer, like dithering or scaling by the cpu are beyond the scope of this discussion. In simple terms, I am only interested in high speed video to the frame buffer. Have fun guys, Amancio > The reason why is because I want the people who bought your Xserver and the > authors of the matrox meteor to agree on the selected method. > > With the following addition that the interface to the special extension > shall be : > 0. name raw-video > > 1. device handle --- for now we can call this freebsd video capture > device 1 for the matrox meteor. > > 2. geometry and placement of the window > > 3. hue > > 4. brightness > > If the current color depth is not compatible with the depth of the > video capture board return failure Hmm ... I think you got my idea wrong. What you are proposing is basically putting everything under control of let's say the XVideo extension. What I was thinking about was having an extension with one simple request that would return you stuff like: typedef struct fbDesc { unsigned int winAAttributes; /* banked memory access */ unsigned int winBAttributes; unsigned int winGranularity; unsigned int winSize; unsigned int winABase; unsigned int winBBase; unsigned int displayOrigin; /* byte origin origin of display */ unsigned int bytesPerScanLine; /* scanline offset in bytes */ unsigned int videoMemory; char bitsPerPixel; /* device not X padding !!! */ char memoryModel; char colorModel; /* color model of normal visual */ char bitsRGB; /* 0 means non modifyable */ char redSize, redPosition; /* if model is direct ... */ char greenSize, greenPosition; char blueSize, bluePosition; } fbDescRec, *fbDescPtr; #define WINDOW_SUPPORTED 0x01 #define WINDOW_READABLE 0x02 #define WINDOW_WRITEABLE 0x04 #define MEMORY_TEXT 0x00 #define MEMORY_CGA 0x01 #define MEMORY_HGC 0x02 #define MEMORY_PLANAR 0x03 #define MEMORY_PACKED 0x04 #define MEMORY_RIX 0x05 #define MEMORY_DIRECTCOLOR 0x06 /* same as PACKED */ #define MEMORY_YUV 0x07 #define CMODEL_GRAY 0 /* indexed color, but only 1 LUT */ #define CMODEL_INDEXED 1 /* indexex color, 3 LUTs (RGB) */ #define CMODEL_DIRECT 2 /* no index table */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199602092039.MAA00892>