Path: utzoo!utgpu!cunews!bnrgate!bigsur!bnr-rsc!bcarh188!lalibert From: lalibert@bcarh188.bnr.ca (Luc Laliberte) Newsgroups: comp.arch Subject: Re: Resolution, etc. Summary: 24bit color in 6bits with dithering Keywords: colors, resolution, dithering Message-ID: <3728@bnr-rsc.UUCP> Date: 21 Nov 90 15:06:06 GMT References: <240@csinc.UUCP> <1990Nov15.052925.1265@imax.com> <2928@crdos1.crd.ge.COM> <1990Nov16.190248.20437@ux1.cso.uiuc.edu> <4023@osc.COM> Sender: news@bnr-rsc.UUCP Reply-To: lalibert@bcarh188.UUCP () Distribution: na Organization: BNR Ottawa, Canada Lines: 23 Back before I upgraded from EGA to VGA I wrote a GIF viewer in C to display large (up to 800x600) GIFs in dithered form. (Other programs had restricted themselves to 320 pixels wide.) I got exceptionally (near VGA) quality with a two pass algorithm. The process goes like this: reduce 8 bits of color to 13 2x2 bit pattern blocks. This reduces the number of colors from 16million to 64 (2 bits per color). Count the number of times each color is used, and then perform a priority best fit to reduce that to 16 colors. Then redecode the GIF, substituting the best fit 16 colors for the 64 possible. The program FastGIF does a similar operation, CSHOW uses a single pass method that is vastly inferior. What does this mean? It is possible to represent 16million colors adequetly with only 16 colors (out of a possible 64). Therefore, it is conceivable to display 24bit color only using 6bit color and dithering. (The best fit portion is removed and it can be done in a single pass.) However, your resolution drops by a factor of 2 in both directions. Consider that the best resolution of common displays is 1024x768, this yeilds a dithered display of 640x384, far below common 800x600 8bit from 18bit displays. This signature intentionally left blank