Ausar's GBA Video Codec[can do 30FPS!]

  • Thread starter Thread starter Archeychen
  • Start date Start date
  • Views Views 1,470
  • Replies Replies 12
  • Likes Likes 13

Archeychen

Active Member
Newcomer
Joined
Jun 22, 2022
Messages
36
Reaction score
56
Trophies
0
Age
27
Location
Beijing
XP
244
Country
China
https://github.com/ArcheyChen/gba_video

Basic Performance:​

  • Achieves smooth playback at 30FPS.
  • One minute of pure video takes about 2.3MB-5.5MB. After adding audio (PCM encoding), the size increases directly according to your sample rate. For example, at 16KHz, each second adds 16KB.

Core Technologies Used:​

  • YUV420 sampling
  • VQ quantization
  • I/P frame encoding
  • Frequency encoding
  • Upsampling for flat regions
  • Uses a frequency divider algorithm to achieve true 24FPS playback, solving the mismatch between the 60Hz screen refresh rate and video frame rates.
But, it's quite a prototype now , you have to compile it yourself, it doesn't have a one click .gba file generator.
The convertor converts input videos to .c and .h files (cpp source file), and you have to compile it using devkitpro.
And it's lack of basic control function, like pause, fast-forward. etc

I will be happy if someone can improve it for me .

And, my English is bad, so please just Check the github link, you will find a ChatGPT translated readme there. it has a more detailed describe(and gpt's English is much better than mine :p

1750612645712.png


I upload a 1min@30fps test video, it's CXK's 《Chicken you are beaugiful》
 

Attachments

Last edited by Archeychen,
30 FPS doesn’t really benefit GBA much — it’s more important to increase the total video playback duration instead.
Post automatically merged:

The official Shrek movie release on GBA runs at just 6 FPS, but it lasts nearly 2 hours. Even with just a 32MB cartridge, you could easily get about 1 hour of playback. That’s the best trade-off in my opinion.
Post automatically merged:

The official Shrek movie release on GBA runs at just 6 FPS, but it lasts nearly 2 hours. Even with just a 32MB cartridge, you could easily get about 1 hour of playback. That’s the best trade-off in my opinion.
 
30 FPS doesn’t really benefit GBA much — it’s more important to increase the total video playback duration instead.
Post automatically merged:

The official Shrek movie release on GBA runs at just 6 FPS, but it lasts nearly 2 hours. Even with just a 32MB cartridge, you could easily get about 1 hour of playback. That’s the best trade-off in my opinion.
Post automatically merged:

The official Shrek movie release on GBA runs at just 6 FPS, but it lasts nearly 2 hours. Even with just a 32MB cartridge, you could easily get about 1 hour of playback. That’s the best trade-off in my opinion.
I agree, I'm making a 4x4 block version, which , in my test, 16MB for 11min 30FPS SpongeBob。
 
30 FPS doesn’t really benefit GBA much — it’s more important to increase the total video playback duration instead.

The official Shrek movie release on GBA runs at just 6 FPS, but it lasts nearly 2 hours. Even with just a 32MB cartridge, you could easily get about 1 hour of playback. That’s the best trade-off in my opinion.

The official Shrek movie release on GBA runs at just 6 FPS, but it lasts nearly 2 hours. Even with just a 32MB cartridge, you could easily get about 1 hour of playback. That’s the best trade-off in my opinion.
If you're that insistent on using a GBA to play multimedia in Current Year, having a flexible codec that can play shorter clips at higher frame rates with better quality isn't a bad idea.
 
If you're that insistent on using a GBA to play multimedia in Current Year, having a flexible codec that can play shorter clips at higher frame rates with better quality isn't a bad idea.
If using something like the ezflash, it's possible to access OS mode whilst in game, meaning you can access the sd card and nor flash etc.

So you could release a movie as multiple roms and then jump to the next one when current has finished playing. It's a bit of a gimmick I know, but so is watching feature length films on the gba :lol:

Edit:
Or instead of jumping to another rom, you could have a player rom which loads from an archive. This archive will be the entire movie.

In the player, you'd have a file browser which loads from an archive and loads say 16mb into rom (psram on ezflash) at a time. When that chunk is finished, load another 16mb.

For short movies, you will only see the load screen every 16mb. For feature length movies, you will see a load screen every 16mb, which is fair imo.

This way, you can actually have an unlimited size movie file (well, 4gb is fat32).

Edit2:
If anyone actually wants to do the above and needs help with reading from the SD card on the ezflash, I can help out. I made a gba emulator that emulates the ezflash so that can help with development.
 
Last edited by Deleted member 413168,
If using something like the ezflash, it's possible to access OS mode whilst in game, meaning you can access the sd card and nor flash etc.

So you could release a movie as multiple roms and then jump to the next one when current has finished playing. It's a bit of a gimmick I know, but so is watching feature length films on the gba :lol:

Edit:
Or instead of jumping to another rom, you could have a player rom which loads from an archive. This archive will be the entire movie.

In the player, you'd have a file browser which loads from an archive and loads say 16mb into rom (psram on ezflash) at a time. When that chunk is finished, load another 16mb.

For short movies, you will only see the load screen every 16mb. For feature length movies, you will see a load screen every 16mb, which is fair imo.

This way, you can actually have an unlimited size movie file (well, 4gb is fat32).

Edit2:
If anyone actually wants to do the above and needs help with reading from the SD card on the ezflash, I can help out. I made a gba emulator that emulates the ezflash so that can help with development.
I'm really busy these days, but, when I'm free, I'm willing to port it to some flash card.

Speaking of your gba emulator, are you interestedin developing an emulator that emu the bootleg carts? I'm making a RTS patch for bootlegs, but get stuck sometimes, it will be really nice if I have a simulator instead of booting in the real hardware
 
Hi, i used your codec and it is much better than Meteo in terms of making crisp blocky video instead of a blurry one, and also range of settings, i also like the addition of the video controls. But i am also wondering which settings should i apply before encoding to make the file size smaller, but would not cause too much quality loss. Thanks!
 
Hi, i used your codec and it is much better than Meteo in terms of making crisp blocky video instead of a blurry one, and also range of settings, i also like the addition of the video controls. But i am also wondering which settings should i apply before encoding to make the file size smaller, but would not cause too much quality loss. Thanks!
emmm....actually, I don't really know. the fps maybe? I'm working on another thread, using 4x4 block, have better quality and smaller size in cartoons. but maybe you need to wait a little bit longer
 
emmm....actually, I don't really know. the fps maybe? I'm working on another thread, using 4x4 block, have better quality and smaller size in cartoons. but maybe you need to wait a little bit longer
Ok, thanks. I am ready to wait a bit longer🙂
 

Site & Scene News

Popular threads in this forum