I Got Gpsp (gba) Running With Sound!


DaveC posted on Dec 5 2006 at 07:44 PM said:
Tobriand posted on Dec 5 2006 at 06:42 PM said:
What, out of interest, happens if you use the HW scalar to first scale a bit of selected memory to 1024x1068 (high as it supports), dump at memory A and then re-scale it's own output back down to 320x240? Does it effectively remove the same pixels, or might it actually do a better job, if slower?

Ok, maybe the 940 would be better, but if doing it all in the scalar works, then maybe the 940 could be used for something else?


It would look like crap doing that. You would end up with a distorted mess. There is no magic bullet. Scaling will always give artifacts of some kind.
Bullshit.

Just encode a video to 240 x 160 and watch it on the GP2X. No scaling artifacts or mess or anything.

I have no idea what it takes to implement that kind of scaling, but obviously it is possible, and as it is done by hardware it won´t affect the speed.

If you want to check it out, just download this video and play it on your gp2x
 
Last edited by a moderator:
Fishbong posted on Dec 6 2006 at 11:39 AM said:
Bullshit.

Just encode a video to 240 x 160 and watch it on the GP2X. No scaling artifacts or mess or anything.

I have no idea what it takes to implement that kind of scaling, but obviously it is possible, and as it is done by hardware it won´t affect the speed.

If you want to check it out, just download this video and play it on your gp2x
To be fair, scaling looks much worse IMHO when applied to 2D displays than the 3D video you present. Having said that, I don't actually have a huge problem with the display of gpSP scaled aspect-correct or distorted personally. Try it and see.

I could be wrong, but I think the scaling during video playback on the GP2X is using some of the MagicEyes chipset that we can't currently tap due to its proprietary nature. Whilst my experiments with scaling in gpSP don't seem to cause slowdown due to paeryn's use of the blitter to do the scaling, it's presumably not the same path that the video playback takes...
 
Last edited by a moderator:
Iirc, the reason video looks smooth despite being scaled is because it's in YUV mode as opposed to RGB mode. For RGB data, the scalar is crude. For YUV data, it's smooth and nice (although obviously not as crisp as 1x1). The problem is that you'd need to convert everything to YUV to take advantage of that, possibly along with other stuff that, not being a coder, and certainly not being the coder who discovered this (I think it was Robster, could be wrong), I don't know.

On the other hand, if you're talking about using the 940 to scale, why not see if it would be even faster to use it to convert RGB->YUV and then leave it to the built in hardware?

EDIT: Just think I ought to emphasise - I'm not a coder, or GP2x hardware guru. I could easily be misrepresenting it by mistake, but I'm pretty sure I've heard at least once that this is why we don't normally get fine scaling.

Also strikes me that there's a chip for encoding video, isn't there? Anyone know what types of image that takes? Could you use it to encode one RGB frame to a YUV frame of video and pass *that* to the scalar? Just a thought...
 
critical posted on Dec 6 2006 at 12:57 PM said:
To be fair, scaling looks much worse IMHO when applied to 2D displays than the 3D video you present.
You´re right. I recorded a short movie directly from VBA, so lets see how an actual GBA game could look scaled with the GP2X HW scaler : Super Mario Advance
I think it doesn´t look too bad, considerably better than having just a poststamp-sized image in the center of the screen.

I am aware that acessing the scaler Hardware does require closed-source code. I didn´t say using it is easy, or that i ever expect someone implementing it in emus, but it is certainly possible, and won´t look bad.
 
Last edited by a moderator:
Fishbong posted on Dec 6 2006 at 02:43 PM said:
critical posted on Dec 6 2006 at 12:57 PM said:
To be fair, scaling looks much worse IMHO when applied to 2D displays than the 3D video you present.
You´re right. I recorded a short movie directly from VBA, so lets see how an actual GBA game could look scaled with the GP2X HW scaler : Super Mario Advance
I think it doesn´t look too bad, considerably better than having just a poststamp-sized image in the center of the screen.

I am aware that acessing the scaler Hardware does require closed-source code. I didn´t say using it is easy, or that i ever expect someone implementing it in emus, but it is certainly possible, and won´t look bad.
Why don't you actually try it? The link I posted before is gpSP using the hardware blitter to scale to both fullscreen distorted and fullscreen aspect-correct... you don't need to use VBA to see it ;)
 
Last edited by a moderator:
Can anyone confirm whether or not the hardware scaling can do filtering w/YUV input? If so it might be possible to make gpSP's native color space YUV without a big speed hit for most games; it already converts from GBA's color space to RGB 565 for the SDL versions. Since it happens at palette write time instead of with every frame it's pretty fast; the only caveat is that the alpha blending happens in the final color space, and I don't know if it can be done in YUV without losing a lot of speed and accuracy (if it's doable at all), and if the space is greater than 16bits per pixel that could be a problem too.
 
shinneri posted on Dec 5 2006 at 10:50 PM said:
XaMMaX90 posted on Dec 5 2006 at 11:39 PM said:
How to disable sound?
Pretty sure you press the Volume down button once a game's loaded.
 
Last edited by a moderator:
critical posted on Dec 6 2006 at 03:47 PM said:
Why don't you actually try it? The link I posted before is gpSP using the hardware blitter to scale to both fullscreen distorted and fullscreen aspect-correct... you don't need to use VBA to see it ;)
Ok, i just tried it. The scaling doesn´t look as good as the scaled movie in mplayer and surely DaveC would rather swallow his pubic hair than use it for a minute, but i think its OK, much better than having thick black borders.

But i fear we´ll never be able to use the hardware scaling since its undocumented...
 
Last edited by a moderator:
Hmm just a short question ZodTTD:
Is that Paypal link in your sig. accurate? It seems to link to a woman's paypal account... or is Dana a male name? Waiting with my donation till you confirm it... but exophase already got his ;)
 
Julius posted on Dec 6 2006 at 06:09 PM said:
Hmm just a short question ZodTTD:
Is that Paypal link in your sig. accurate? It seems to link to a woman's paypal account... or is Dana a male name? Waiting with my donation till you confirm it... but exophase already got his ;)

Err.. Yeah Dana is a male name.
 
Last edited by a moderator:
Fishbong posted on Dec 6 2006 at 04:32 PM said:
Ok, i just tried it. The scaling doesn´t look as good as the scaled movie in mplayer and surely DaveC would rather swallow his pubic hair than use it for a minute, but i think its OK, much better than having thick black borders.

I have to agree. I tried a few games out not long after Critical first posted the link, and in my opinion it's generally much better than the tiny unscaled version.

I think some people are a bit too pernickety about such things. Sure, some games will look worse than others, but at least have the option there for the games which look fine with it.
 
Last edited by a moderator:
Exophase posted on Dec 6 2006 at 03:44 PM said:
Can anyone confirm whether or not the hardware scaling can do filtering w/YUV input? If so it might be possible to make gpSP's native color space YUV without a big speed hit for most games; it already converts from GBA's color space to RGB 565 for the SDL versions. Since it happens at palette write time instead of with every frame it's pretty fast; the only caveat is that the alpha blending happens in the final color space, and I don't know if it can be done in YUV without losing a lot of speed and accuracy (if it's doable at all), and if the space is greater than 16bits per pixel that could be a problem too.

No it doesn't do filtering. Just the standard and ugly pixel stretching.

I would hope that speed and accuracy is a priority over stretching though. I don't think it would be a good trade off to slow down the whole emu just to make the image look ugly but bigger. If it can be made so that when using 1:1 the emu runs fast, but when the stretch option is used it goes slow then fine. I won't be using stretching anyway.
 
Last edited by a moderator:
DaveC posted on Dec 6 2006 at 07:11 PM said:
Exophase posted on Dec 6 2006 at 03:44 PM said:
Can anyone confirm whether or not the hardware scaling can do filtering w/YUV input?
No it doesn't do filtering. Just the standard and ugly pixel stretching.
Actually it does, but Dave fears you might be "getting the wrong idea" and concern yourself with anything but giving him his "fs0 with sound" emu. ;)
 
Last edited by a moderator:
Fishbong posted on Dec 6 2006 at 06:17 PM said:
DaveC posted on Dec 6 2006 at 07:11 PM said:
Exophase posted on Dec 6 2006 at 03:44 PM said:
Can anyone confirm whether or not the hardware scaling can do filtering w/YUV input?
No it doesn't do filtering. Just the standard and ugly pixel stretching.
Actually it does, but Dave fears you might be "getting the wrong idea" and concern yourself with anything but giving him his "fs0 with sound" emu. ;)

Source of your info? There is not a single emu that has hardware stretching and uses a blurry filter. All just make the pixels blocky.

No I don't think he is "getting the wrong idea". I am sure he realizes that a slow emu with blocky distorted pixels would be pretty bad. Not everyone thinks sacrificing everything just to get the coveted "fullscreen at any cost" is worth it.
 
Last edited by a moderator:
Not that it matters, but I'm with DaveC on this, I really prefer the 1:1 size. If it's good enough for the real GBA, it's good enough for the GP2X :)
 
I second that
instead of having hq2x or anything I would prefer having crystal clear sound or full zip support...
that just sounds more usefull to me

see you :lol:
 
Back
Top