From owner-freebsd-multimedia Thu Apr 24 19:05:51 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id TAA17332 for multimedia-outgoing; Thu, 24 Apr 1997 19:05:51 -0700 (PDT) Received: from rah.star-gate.com (rah.star-gate.com [204.188.121.18]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id TAA17327 for ; Thu, 24 Apr 1997 19:05:47 -0700 (PDT) Received: from rah.star-gate.com (localhost.star-gate.com [127.0.0.1]) by rah.star-gate.com (8.8.5/8.7.3) with ESMTP id TAA05767; Thu, 24 Apr 1997 19:05:47 -0700 (PDT) Message-Id: <199704250205.TAA05767@rah.star-gate.com> X-Mailer: exmh version 1.6.9 8/22/96 To: Randall Hopper cc: multimedia@freebsd.org Subject: Re: The "BT848 RISC Challenge" In-reply-to: Your message of "Thu, 24 Apr 1997 21:15:46 EDT." <19970424211546.22989@ct.picker.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Thu, 24 Apr 1997 19:05:46 -0700 From: Amancio Hasty Sender: owner-multimedia@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Hi, First of, the Bt848 driver operates in RGB mode and has been that way since the beginning. What is currently out in beta in ftp://rah.star-gate.com/pub/bt848-clip.tar.gz is the swapping of pixel orders and clip list support. The Bt848 supports RGB32, RGB24, RGB16, and RGB15. The supported modes are RGB32 (METEOR_GEO_RGB24) and RGB15 ( METEOR_GEO_RGB16) needless to say that the METEOR_GEO_RGBXXX are misnomers. the following table hopefully will make all this clear, from the Bt848 databook: FIFO Input Output of Fifo 31:24 [31:24] [23:16] [15:8] [7:0] 23:16 [23:16] [31:24] [7:0] [15:8] 15:8 [15:8] [7:0] [31:24] [23:16] 7:0 [7:0] [15:8] [23:16] [31:24] If RGB24 is desired, then we can add an ioctl to tell the driver to dma the video using rgb24. A few ways of accomplishing this is to: 1. to create a bt848 ioctl call with the appropriate correct color depth. bt848SETRGB and pass a value of the color depth desired 2. we can generalized the mechanism for setting the pixel order to also determine the color depth. 3. Create a new bt848 ioctl call which has geometry, color depth, pixel order and video frame buffer info . ---- Briefly, we can do it. Amancio >From The Desk Of Randall Hopper : > Thought that'd grab your attention :-) > > > THE CHALLENGE: Figure out how to get the BT848 to DMA pixels in > RGBRGB packed 24bpp (3Bpp) format to the frame buffer or > memory. > > > It'd be cool if we could do this to support those of us whose Xservers > config the card for this format. For now, the driver limits direct video > in 24bpp to those folks that have BGRBGR packed 24bpp organization. > > SOME OPTIONS: > > 1. Put the chip in RGB32 pixel FIFO mode with byte and short swapping > enabled (ARGBARGB). For each pixel, write 2 RISC instructions: a > SKIP to skip the Alpha, and a WRITE to blast the RGB. > > Hmmmmmm, let's see....that's only 2.5 Megs for a 640x480 image. :-) > > 2. Rotate the HUE 90 deg. (I'm not kidding. It works. It's ugly but > it works!) > > Anybody know a kindler, gentler way to do this on the chip? :-) > > Randall >