Hi,
There somewhere on the GP32x's forums was discussion about a scaling. I made point about using each individual RGB subpixel of LCD matrix to those uses. I tried to find more about this topic yet I did fail.
So... I made some algos myself! Here are the results:
You have here two series of bitmaps. The first ones are an original (not scaled nor anything). Then they were filtered using my little program which actually does implement three different methods of scaling.
The algo1 wasn't really my goal however I had to have something I'd use as a point of reference.
The LCD1 was my first attempt at making subpixel scaling. It gives a higher "pseudo" horizontal resolution by factor of 2.
The LCD2 was my goal target. It gives a "pseudo" horizontal resolution up to 3 times higher.
I experimented on more bitmaps of course. My own findings are the actuall usefullness of subpixel scaling are that this is very limited. It doesn't (at least my own routines) degrade an image by a lot (actuall imho the LCD2 is very clean of an artifacts) but it rarely improve it either. But it must use lot of multiplies (the algo1 can be coded just using additions and bit shiftings) and has need of addressing 3x more memory locations (for a every RGB component).
So it isn't worth the effort. However I'm happy as I did the experiment myself.
For the intrigued I coded in the Python (can do it in C but for just a prototyping why?), used floatpoints (again for my comfort) and had lots of fun.
(technically these algos can scale at almost any ratio thought it's done by a hack and not proper filtering like the bilinear or bicubic)
There somewhere on the GP32x's forums was discussion about a scaling. I made point about using each individual RGB subpixel of LCD matrix to those uses. I tried to find more about this topic yet I did fail.
So... I made some algos myself! Here are the results:
You have here two series of bitmaps. The first ones are an original (not scaled nor anything). Then they were filtered using my little program which actually does implement three different methods of scaling.
The algo1 wasn't really my goal however I had to have something I'd use as a point of reference.
The LCD1 was my first attempt at making subpixel scaling. It gives a higher "pseudo" horizontal resolution by factor of 2.
The LCD2 was my goal target. It gives a "pseudo" horizontal resolution up to 3 times higher.
I experimented on more bitmaps of course. My own findings are the actuall usefullness of subpixel scaling are that this is very limited. It doesn't (at least my own routines) degrade an image by a lot (actuall imho the LCD2 is very clean of an artifacts) but it rarely improve it either. But it must use lot of multiplies (the algo1 can be coded just using additions and bit shiftings) and has need of addressing 3x more memory locations (for a every RGB component).
So it isn't worth the effort. However I'm happy as I did the experiment myself.
For the intrigued I coded in the Python (can do it in C but for just a prototyping why?), used floatpoints (again for my comfort) and had lots of fun.
(technically these algos can scale at almost any ratio thought it's done by a hack and not proper filtering like the bilinear or bicubic)