The video player
Table of Contents
8 Storage
Introduction
How does Go Figure manage to get a video with four colors to run at a steady rate of 30 FPS in screen 5 / 256x192 bitmap mode? And when I had the option to go two colors at 60 FPS, why wasn’t this chosen instead?
This article explains the background for the video renderer and the techniques used:
- Combining images
- Double buffering
- Diff based rendering
- Optimized VRAM writes
- VDP command engine
At one point I came across a video called Bad Apple. I loved the black and white, silhouette style in that video and I got intrigued to make a suitable video renderer for the V9938. The Bad Apple video I saw had a few greytones, so I wanted this as well. Four colors seemed right. I wanted the visuals to subtly, but nicely, differ from graphics typically found on less advanced chips. In the end, the result was quite good. I managed to get the full video (no audio) into a 16 MB ROM file (using the Neo mapper). Comparatively, the MSX2 version found at filehunter is 76.5 MB, but that version has audio as well (and I do not know where the split between video and audio is in that file).
When I came around to finally make a real video, I had neither the art skills nor the time to make a video as arty and silhouette styled as my inspiration, but I stuck to the four color idea, as it added more depth to the video, like this:
Screen 5 was chosen for several reasons, some which will be highlighted below. Another important reason which is not discussed further, is that screen 5 encodes two pixels in one byte, i.e. cutting data sizes in two as well as doubles performance.As with lots of other stuff I’ve made during the last years, this video format and renderer is just another PoC (Proof of Concept). It’s called Flix, but no official, standalone release exists. It is currently only present in the Go Figure game.
In this solution, video and audio are treated separately. This article is video only and the pipeline is like this:
Comments
Post a Comment