To get a copy of this techdemo you need to be registered at the GBAdev webboards. Author release notes:
I have converted the Ruby tech demo into a DS video. This is using a similar technique to the Animatrix trailer I released last week, but with major improvements. The code has been cleaned up and optimized and now supports double buffering. This results in much smoother playback. The sound has also been upped to 41k mono (I still can’t seem to get stereo sound to play). The 2 minute trailer with sound fits on a 128Mbit card (14MB total). It has been tested on a NeoFlash 512Mb, should work with other GBA flash carts.
The code is based off of chris doubles tutorials and uses the GBFS and JPEG loader to display the images. This is a good example of how to load files (images/sounds) from a GBA cart using the GBFS. Since the DS can only handle 4MB in ram at a time, I am using a system to swap out different files during playback to play the entire video. Also, for some reason GBFS cannot compile more than 500 files at a time into a *.gbfs, so I had to create a work-around for that. The double buffering was based on the example in libnds (drunken coders) but optimized by the use of dmaCopy().
This project was designed as a quality test for a multimedia game I am working on (about 50% complete right now). I was able to get the video quality at a good level while still cramming 2 minutes of video onto a 128Mbit file. This could be useful for a short pre-rendered intro or some animated cut-scenes to spice up your homebrew titles. All you have to do is export a series of JPEGs (about 10K each) from your video editing program. I used Flash, but I could have easily used any program that exports a series of images from video source. Then set an array in the source to hold the names of the files and it will play them back. I hope this may be of some use to someone.