Ditching MMX? It would seem more natural to ditch non saturated integer coding ... but if people really want, they can twiddle the bits and convert it to a 15 bit representation before doing calculations without too much overhead. How about just using the 16 bit format, and including some new C++ types to make working with it without MMX a little easier? A matrix type which presents it as floats, and a 16 bit type with saturation for experimentation? (For when you know you will want to convert the filter to MMX once it is done.) BTW how many fractional bits were you thinking of? (ie. leave room for overbright or not?)