From owner-freebsd-multimedia Thu Mar 27 18:50:44 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id SAA13984 for multimedia-outgoing; Thu, 27 Mar 1997 18:50:44 -0800 (PST) Received: from whqvax.picker.com (whqvax.picker.com [144.54.1.1]) by freefall.freebsd.org (8.8.5/8.8.5) with SMTP id SAA13976 for ; Thu, 27 Mar 1997 18:50:40 -0800 (PST) Received: from ct.picker.com by whqvax.picker.com with SMTP; Thu, 27 Mar 1997 21:49:31 -0500 (EST) Received: from elmer.ct.picker.com ([144.54.57.34]) by ct.picker.com (4.1/SMI-4.1) id AA29365; Thu, 27 Mar 97 21:49:29 EST Received: by elmer.ct.picker.com (SMI-8.6/SMI-SVR4) id VAA10023; Thu, 27 Mar 1997 21:49:41 -0500 Message-Id: <19970327214940.40108@ct.picker.com> Date: Thu, 27 Mar 1997 21:49:40 -0500 From: Randall Hopper To: Amancio Hasty Cc: multimedia@FreeBSD.ORG Subject: Re: Bt848 enhancements for this week References: <199703261237.HAA02315@netwolf.NetMasters.com> <199703261902.LAA05311@rah.star-gate.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.65 In-Reply-To: <199703261902.LAA05311@rah.star-gate.com>; from Amancio Hasty on Wed, Mar 26, 1997 at 11:02:13AM -0800 Sender: owner-multimedia@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Amancio Hasty: |For apps which write directly to the vga's linear frame buffer you want |to be able to set the correct pixel order for the card. And for apps |which don't write directly to the frame buffer you can save byte |swapping in the X server by presenting a matching pixel order to |the X server. | |We need a way to modify IOCTL_GEO_RGB16 and IOCTL_GEO_RGB24 to pass along |the pixel order. Then in build_dma_prog set the appropiate |bits for bktr_color_ctl based upon capturing even, odd , or even and odd |frame, and the color depth 16 bits vs 32bits. What might be a nice interface for this is to have the driver accept 4 GEO values: the pixel depth, and 32-bit masks for R, G, and B: GEO_DEPTH GEO_R_MASK GEO_G_MASK GEO_B_MASK This is general and would cover byte swapping as well as being able to support other pixel formats supported by the hardware (e.g. 5-6-5 16bpp). The driver can fail the "set" ioctl for unsupported formats. >From an app perspective, a QUERY_GEO ioctl to get the supported formats would be a useful API to have along side. Randall