Timothy Miller wrote:
A hardware scan converter is all hardware (six 8 bit (but only 8
bits out) multipliers, three adders some counters, comparator,
modulo & subtraction, and two 1-x functions.
Should be C-x where C = 1 for up scanning.
Or, if there are only certain
conversions allowed, much of this could be ROMed.
What, exactly, are you saying you're going to do with these
multipliers, adders, etc? What are you trying to scale here? I'm
really confused by your argument.
For up scanning (each color):
PixelOut[k,l] = A*(B*PixelIn[i,j] + (1 - B)*PixelIn[i,j+1]) + (1 -
A)*(B*PixelIn[i+1,j] + (1 - B)*PixelIn[i+1,j+1])
Down scanning adds more terms. For greater than 1/2x (i.e more than
half as many output lines as input lines):
PixelOut[k,l] = A*(B*PixelIn[i,j] + PixelIn[i,j+1] + (C -
B)*PixelIn[i+1,j+2]) + (B*PixelIn[i+1,j] + PixelIn[i+1,j+1] + (C -
B)*PixelIn[i,j+2]) + (C - A)*(B*PixelIn[i+2,j] + PixelIn[i+2,j+1] + (1 -
B)*PixelIn[i+2,j+2])
Exactly 1/2x requires only addition and multiplication by 0.5 with the
same terms as up scanning.
Obviously, you can reduce the need for multipliers by caching the
horizontally converted lines.
--
JRT
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)