Smooth Scaling


chris_r

Active Member
Joined
Jun 16, 2004
Messages
745
Now as far as I know there are 2 scaler chips in the gp2x, one integrated into the mmsp2 and one in another sepreate chip which is used during tv out I think.
But if I remember correctly the mmsp2 scaler only does the blocky uneven scaling you can see for example in gnuboys2 (sorry, its not a personaly dig, I'm just using as an example)

So why isnt the other scaler being used if it produces a lot smoother (not sure of the terminoligy, but i think it's called bilinear or something) scaling? Is it that it can only be utilised through tv out, or that it can't be accessed in the right way, or simply that it hasnt been correctly coded intot he sdk yet?

Anyone who can shed some light on this would be a great help. Thanks
 
Oh, I thought from what I had seen that the tv-out was scaled smoothly
 
there is indeed a way better scaler build into the decoder hardware, you easyly notice that when watching low res movies on tv, however word is that it can only be used on decoded video and we dont even know yet how to acces the hardware decoder.

But there is also a hardware encoder, so once its all figured out you could be a bit crazy and encode the current screen useing the hardware encoder and than decode ituseing the hardware decoder and apply the scaleing on top.
however this would be very crazy and probably costs tons of bandwidth.
 
chris_r posted on May 20 2006 at 02:20 AM said:
Oh, I thought from what I had seen that the tv-out was scaled smoothly


Does it even scale for TV? It shouldn't, CRTs do 480i natively, and that is what the res of the GP2X screen is to start with. Plus all emulated systems were made for TV res.

Shikaku posted on May 20 2006 at 02:39 AM said:
Either my S-Video 42 inch LCD HD TV is bad, or it's scaled. Regular TV's make anything look good.


HDTV, especially fixed pixel will always look lousy with a low def 480i signal. It has to convert and scale the shit out of it.
 
Last edited by a moderator:
I think, actually, that GNUBoy scaling is done in software. It looks blocky because it preserves the pixels of the original game.
 
nickspoon posted on May 20 2006 at 09:26 AM said:
I think, actually, that GNUBoy scaling is done in software. It looks blocky because it preserves the pixels of the original game.


The main reason it looks bad is because the scaling is fractional, like 1.5 x. Some pixels are scaled while others are not. It is just the way it works out the two resolutions GB and GP2X resolutions are not even multiples. If you look at Lynx it is scaled too but it is a full 2:1, not fractional so it doesn't look so bad.
 
Last edited by a moderator:
chris_r posted on May 19 2006 at 07:09 PM said:
the blocky uneven scaling you can see for example in gnuboys2 (sorry, its not a personaly dig, I'm just using as an example)

So why isnt the other scaler being used if it produces a lot smoother (not sure of the terminoligy, but i think it's called bilinear or something) scaling? Is it that it can only be utilised through tv out, or that it can't be accessed in the right way, or simply that it hasnt been correctly coded intot he sdk yet?

I don't want to hear about scaling from different aspect ratios without bars to make up the aspect ratio.
As far as GnuBoy is concerned the screen is already much bigger and brighter than the GBA:SP to start with, the absolute best way to see a GBC game as intended, the scaling option is just there for people who need to feel their whole screen is being used.

Vimacs posted on May 19 2006 at 07:39 PM said:
there is indeed a way better scaler build into the decoder hardware, you easyly notice that when watching low res movies on tv,
Or High-res movies on the LCD ;), take a look at two Divx made from a DVD source, 320x240 and original res, the scaler makes the original res look better.
I thought that it was a seperate chip too, does this mean that the Frame de-compressor core is throwing the frames back in the resolution requested, pre-scaled, to the 940T?

I was sure I saw an actual Video Post-Processor core and a 2D core, are those just completely unusable?

DaveC posted on May 19 2006 at 10:37 PM said:
chris_r posted on May 20 2006 at 02:20 AM said:
Oh, I thought from what I had seen that the tv-out was scaled smoothly

Does it even scale for TV? It shouldn't, CRTs do 480i natively, and that is what the res of the GP2X screen is to start with. Plus all emulated systems were made for TV res.

I don't think the Genesis/MD emulators scale the TV-out, why should they? Of course they will look just fine, you are doing something normal for that Emulator

DaveC posted on May 19 2006 at 10:37 PM said:
Shikaku posted on May 20 2006 at 02:39 AM said:
Either my S-Video 42 inch LCD HD TV is bad, or it's scaled. Regular TV's make anything look good.

HDTV, especially fixed pixel will always look lousy with a low def 480i signal. It has to convert and scale the shit out of it.

I heartily agree, I do not plan on purchasing a LCD HDTV for this very reason, they all look like pure shit, I can get a picture that looks that bad without wasting $2000-6000, I am very surprised no one I know seems to see it or cares.

On a related topic: Who has tried an Xbox360 in a store and seen it looks like pure crap on those LCD TV's they put it on?

I am not the slightest bit interested in them for that reason, display on S-Video on a CRT would likely look better than the crap LCD they foist on us, don't they want to sell the consoles? Does nobody see how bad it looks and think they might get a couple discerning costumers in their store?

CRT HDTV for me all the way, that way the pixel definition will stay perfect no matter what res is coming in, interlaced or progressive.
 
Last edited by a moderator:
LCD TV's in general are too expensive for the (lack of) quality and their short life (4-5 years). Plus you have to pay an 'it's overhyped premium' at all of the stores because people will pay more for them.

EDIT
On a related topic: Who has tried an Xbox360 in a store and seen it looks like pure crap on those LCD TV's they put it on?

Where can you NOT see the Xbox360 look like crap? :p
 
lintsniffer posted on May 20 2006 at 11:51 AM said:
Where can you NOT see the Xbox360 look like crap? :p

My point precisely, I haven't, that is why I wonder if it is not the LCD TV's responsible. (not entirely mind you, I still fully expect crap if it won't plug into a CRT with a D-Sub 15 pin and deliver 1024x768 minimum as a requirement for all games, quality control people, force them to deliver HD Progressive on all games.)

I edited my post above with a Q for Vimacs, be sure you don't miss it:


I thought that it was a seperate chip too, does this mean that the Frame de-compressor core is throwing the frames back in the resolution requested, pre-scaled, to the 940T?

I was sure I saw an actual Video Post-Processor core and a 2D core, are those just completely unusable?
 
Last edited by a moderator:
From what I've read there are indeed two scalers:

The first is a coarse scale, and is what most programs use already. It affects the output to the LCD directly - therefore you can't use it to scale anything but LCD output, as the results are never written to memory.

The second can be used to smooth the pixels out (a kind of bilinear effect). However, it works on YUV instead of RGB, and writes the results to memory. So to use it, you need to convert each RGB frame you create into YUV, and then pass it to the scaler, and finally send it to the LCD. The LCD controller can display YUV data directly, so there's no need to convert it back, but that assumes your talking to the hardware directly, which means things like SDL are out.

The memory map for a YUV frame buffer seems particularly nasty on the MMSP2, so it would probably take longer to convert to YUV than it would be to scale the RGB layer yourself in software.
 
Ok so just so I've got this straight, you can use the bilinear scaler, but first a conversion has to made from RGB to YUV so that the scaler can process it.

So basically itll require a lot of free cpu cycles before even begining to pass it onto the scaler
 
nubie posted on May 20 2006 at 06:46 PM said:
I heartily agree, I do not plan on purchasing a LCD HDTV for this very reason, they all look like pure shit, I can get a picture that looks that bad without wasting $2000-6000, I am very surprised no one I know seems to see it or cares.

On a related topic: Who has tried an Xbox360 in a store and seen it looks like pure crap on those LCD TV's they put it on?

I am not the slightest bit interested in them for that reason, display on S-Video on a CRT would likely look better than the crap LCD they foist on us, don't they want to sell the consoles? Does nobody see how bad it looks and think they might get a couple discerning costumers in their store?

CRT HDTV for me all the way, that way the pixel definition will stay perfect no matter what res is coming in, interlaced or progressive.

Well it is not that simple. I actually have a 360 on a Sony Bravia XBR 32". It looks good but I have it connected through the VGA port and set to 1:1. I actually have a small 1" border but it is razor sharp. I set the 360 to 720P to bypass all internal scalers on the 360 (all other resolutions on the 360 are scaled internally, everything is native 720P). Then I set the TV to 1:1 pixel mapping. The result is that I bypass all scalers TV and System. It then looks super sharp.

The system that the 360 displays use is a shite Samsung with the contrast enhancers set to full, and the image scaled up on the display through component connections. It is A crap monitor that they use. It is crap, yes I have seen it. You need the right set with the right settings to make it look good.

CRTs are very good if you can get one to display the native 720P. The problem there is all HD CRTs convert everything to 1080i giving some artifacts, no 720P native. There are no 720P CRTs in existance except for computer monitors which are pretty small.

So basically everything is a trade off and there is no perfect solution.
 
Last edited by a moderator:
Back
Top