gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Graphics > DivX on GBA, or something else?

#1235 - TheWhy - Wed Jan 15, 2003 9:26 pm

I've heard about a Divx player thing on GBA.
And that it would be at around 1-2FPS...
Well, and i've also heard that some called 4xtechnology, had
made a terrific codec for the GBA, at goood speed...
They had made a Matrix trailer with it..
Well, i have this matrix trailer, and it works fine...
(To good to be true almost..)
And i wondered, where could one download the source, or encoder or something else, cause i want to have some of my own movies on my flash cart...
If you haven't seen this matrix trailer, download it at:
http://roms.consolemul.com/8/
Search for matrix, then download it...
_________________
-TheWhy

#1249 - Splam - Wed Jan 15, 2003 10:37 pm

Divx player, hardly worth bothering with at 1-2fps ;)

4x will cost you LOTS of money (ie in the thousands) it's a dev company specific thing for them to use in their games.

My friend has just about finished his movie compression/decompression for gba which equals or even beats the 4x one, his site can be found here http://www.mystik-edge.com/ but unfortunatly his will be for software companies only too.


If you're looking to get movies on gba you'll basically have to write your own compression codec. Movie stuff is one of the only things software companies won't waste resources on writing so if there's a good one for sale they'll buy it, so anyone who writes a good one would be crazy to give it away for free.

#1313 - tepples - Thu Jan 16, 2003 6:08 pm

Splam wrote:
Divx player, hardly worth bothering with at 1-2fps ;)

Has anybody played around with the Theora codec?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#1321 - Splam - Thu Jan 16, 2003 6:35 pm

If its anything other than written specifically for gba it's really not going to be much use.

I know John (Mystik guy I talked about) has spent a LONG time on optimising and rewriting his code MANY times (I know because we talk on icq all the time and we chat about compression methods a lot) and the compressor is written to produce a format that is not only small but is optimal for decompression on GBA. Using a multipurpose codec will give you a couple of fps playback.

#1434 - TheWhy - Sat Jan 18, 2003 7:10 pm

To bad that it's only for software companies...
_________________
-TheWhy

#1438 - ampz - Sat Jan 18, 2003 8:34 pm

The decompressionroutines in the GBA bios might help you out a bit... Sure, you'll not be able to fit many hours of movie on your cart, but it'll at least decrease the size of the raw data somewhat... Might be good enough for short intros.

#1439 - Splam - Sat Jan 18, 2003 8:51 pm

Yeah, I've got simple compression code for doing animated backgrounds which can also be used for short anims but even with the very good compression on 4x or the Mystik one you're not going to get more than a few mins of video + audio on a cart. gp32 can do a lot better compression (there's even a divx player for it but it's a bit slow or so I've heard) because you've got more processor power to do more advanced decompression + more ram etc

#1440 - ampz - Sat Jan 18, 2003 9:29 pm

I could put a 300MHz coprocessor in a GBA cart... Beat the crap out of the gp32..

Hmm, it should be quite possible to use some of the GBA's hardware features for compressed video playback... Good video compression is usually done by dividing an entire frame into "tiles", most of theese "tiles" will not change for the next frame, they will only be slightly moved, rotated and scaled, you will generally only need a few new tiles to be able to build the next frame using the old moved/rotated/scaled tiles.

Now, the GBA can move, scale and rotate sprites in hardware. Sounds to me like the perfect hardware video decompression system.
Of course, it can only handle 32 different rotations/scales (34 if the two rotation/scaled backgrounds are used as tiles), but that can be solved by updating the parameters by DMA in h-blank.

#1453 - Splam - Sun Jan 19, 2003 12:55 am

>I could put a 300MHz coprocessor in a GBA cart... Beat the crap out of the gp32..

Not really the point is it? gba = 16mhz gp32 = 133mhz adding hardware just means people have to then buy that hardware. ;)

Using the gba's tile mode or sprites is great if you want 256 colours, 4x and Mystik are 16bpp. I suppose you could change palette on every line but that in worst case is a massive overhead for either a dma or hblank. My system DOES use tiles, x/y flip (and a few other non hardware related things) I haven't bothered with looking into using sprites yet because this is mostly for games where the sprites will already be used.

I won't talk about the techniques that Mystik player uses as it's not mine to talk about ;) but I don't think for the quality and size it produces you could even come close using tiles or sprites. If you're talking about something that's quite small, runs fast but doesn't look real good then the sprite idea would be ideal.

#1457 - ampz - Sun Jan 19, 2003 1:15 am

If ppl buy my game with cool videos in it, then they get the hardware. Simple as that.
Why would it not be ok to add hardware to the game cart? It has been done by several games.

Depending on the video 256 colors might not be a problem... For let's say animated videos 256 colors would be enough, for videos like the matrix trailer more than 256 colors would be preferable. It can be done by DMA's as you say, but it might not be worth it. Also, consider that the use of BG's + sprites gives a total of 512 colors, not 256.

#1462 - Splam - Sun Jan 19, 2003 1:34 am

If you could build a flashable cart with a fast processor and same fast ram on it for a reasonable price then I WOULD buy one ;) don't need a game on it, just a flash cart would do :) My comment was pertaining to the original question of "can we play movies on gba?" to which I said, it's (imho) not fast enough, you'd need a gp32 (which is already avaialable for a decent price) to do it well.

Yes, 256 CAN look ok, and yes I realise you can get 512 colours using sprites as well, then you've got the problem of playing some frames and suddenly something a whole different colour is introduced, you then have to remap some already existing pixels because you've had to throw some colours out. You can of course (I think this is what you mean anyway) remap the whole thing to 256/512 colours and in some (but not a lot) of cases it will look ok. Myself and John have done extensive tests on many different compression methods from remapped 256 colour tiles, 8bpp bitmap mode, multiple BGs etc etc and by far the best quality/compression has actually turned out to be a 16bpp method.
I'm not trying to get a rise out of you or challenge you but feel free to write a movie player that everyone could use and I'm sure you'd make a lot of people happy :)

#1466 - tepples - Sun Jan 19, 2003 4:04 am

ampz wrote:
If ppl buy my game with cool videos in it, then they get the hardware. Simple as that.
Why would it not be ok to add hardware to the game cart? It has been done by several games.

I know about the rumble and camera features in some Nintendo brand games, but has it been done in any game published by a licensed third party? The maker of the SongPro MP3 player once approached Nintendo about using a dedicated MP3 decoder in a cartridge. Nintendo denied the license, stating that it licenses only software.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#1477 - Splam - Sun Jan 19, 2003 2:29 pm

One I can think of for gba is that "tilt" hardware in a couple of Japanese games where it detects you moving your gba and allows you to control the character with that instead of joypad. Of course there was the 3d chips in the n64 games too but I think they're being quite cagey about "processing" hardware.

#1484 - ampz - Sun Jan 19, 2003 3:34 pm

I can make a coprocessor system for the GBA, but the time needed to develop such a thing is simply to much. I'am already working on a few other GBA related hardware designs.

About custom GBA hardware... Dance Dance Revolution uses custom hardware. Also, if Nintendo does not accept your stuff, then just forget about them and release it yourself.

#1488 - tepples - Sun Jan 19, 2003 3:59 pm

Going way offtopic...
ampz wrote:
About custom GBA hardware... Dance Dance Revolution uses custom hardware.

The home version of DDR is a PlayStation game, and the only "custom hardware" a PlayStation game uses is a region modchip to get DDR 5th Mix running on a USA PS1. Or are you talking about the dance mat?

Or is Konami porting it to GBA? A Google search for gba "dance dance revolution" turned up nothing.

Quote:
Also, if Nintendo does not accept your stuff, then just forget about them and release it yourself.

Many publishers would not accept such a lawsuit magnet, and without a publisher, you're not going to get it on the shelves of Wal-Mart or Best Buy.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#1496 - ampz - Sun Jan 19, 2003 5:09 pm

No, there is no dance dance revolution for GBA, but there is for GBC.
You "dance" with your fingers :)