Re: MMX speedup for Floyd Steinberg error diffusion
- From: "Novosad, Stephan R." <spamtrap@xxxxxxxxxx>
- Date: Mon, 12 May 2008 07:06:05 -0700
Terje wrote:
To do a mathematically perfect job I would start with a 5:5:5 (32 K) or
4:4:4 (4 K) table, with each entry being the start of a list of all the
possible palette entries for that entry:
By making each entry 16 bits wide, I could reserve the bottom 256
entries for colors that give a single possible result, and the remaining
values would be the start of pascal-style lists of possible entries,
stored as offsets into the same byte array.
I.e:
<code example snip>
Well, doing a crude implementation with a 4:4:4 array using
just one of 256 palette entries in each (no extra lists), I
ran some tests. On a nice slow Pentium, with a couple of test
images, the speed-up was maybe a factor of 50+ in display time.
With F-S dithering on, the image "looks" the same. With F-S
turned off, there was some obvious differences between the
table look up and the brute force search. The list of possible
entries version appears to be needed for an "optimum" result.
Somewhat interesting as I initially quantize to 4,096 bins, and
then reduce the palette using a pairwise clustering algorithm.
Vivek wrote:
In theory at least, 24 bit color GIFS are possible and could be
practical for static images...
Yup. Here is a link.
http://phil.ipal.org/tc.html
True-Color GIF Example
HTH,
Steve N.
- Follow-Ups:
- Re: MMX speedup for Floyd Steinberg error diffusion
- From: Jim Leonard
- Re: MMX speedup for Floyd Steinberg error diffusion
- From: Terje Mathisen
- Re: MMX speedup for Floyd Steinberg error diffusion
- Prev by Date: Get the FAQs
- Next by Date: Re: MMX speedup for Floyd Steinberg error diffusion
- Previous by thread: Re: MMX speedup for Floyd Steinberg error diffusion
- Next by thread: Re: MMX speedup for Floyd Steinberg error diffusion
- Index(es):
Relevant Pages
|