This codec offers comparable quality and better playback speed than MPEG 2. The playback code is still being optimized for speed, but the file format is done.
Quality is still close to DVD - most 640x480 video looks fantastic at around 600Kb per second.
The current code is all very portable C++, and it still runs 640x480 video at 30 frames per second on a Pentium 3/500 using about 50% of the CPU.
The codec does use some MMX instructions, so it will only run on an MMX or better processor.
Since MV3 installs as a standard AVI codec under Windows 98/NT/2000/XP, you can create MV3 files with almost any software capable of producing Windows AVI files.
The source material can be 16, 24, or 32 bit data. MV3 will play back in 24 or 32 bit, or it can use the overlay hardware to play movies in YUV format. YUV means that the hardware does the color conversion for you, which is much faster.
MV3 is high enough quality that it can be used as an alternative to the JPEG codec for archiving. Use all keyframes, and set the quality around 90 or so, and your video will compress around 15:1 or so, but still look damn good.
If you save all frames as keyframes, you can scrub back and forth really fast. This great for editing and scratch table VJs may also enjoy playing around with it for this feature. A fast machine will easily play these files in realtime.
Those of you using formats like RAW, or YUV to edit and/or store video files will find this, or the JPEG codec a much more attractive solution as it makes much smaller files while retaining almost all of the quality.
The MidiVid MV3 codec has been ported to the XBox, GameCube, and PSX2. You use the PC version of MV3 to author the video, and the same avi file can be played on all platforms. The codec can be licensed from the company I work for (Black Box Games) at a very competitive price. Black Box also has an evaluation program for interested developers. Sign the evaluation contract, and you get the full, platform specific version of the codec to test in your game.
MV3 for consoles is fast - A keyframe of MV3 data @ 640x480 will typically decode in 10ms on the XBox. Delta frames improve compression, but require more time, usually between 15ms and 20ms for a 640x480 frame. Smaller frames or lower bandwidth data will decode faster, so if speed is a concern, you can use a smaller video size (like 512x384) and stretch it to full screen. All platforms use textured polygons to draw the video.
Memory footprint on all platforms is tuneable. The default settings use 768k for streaming buffers (512k for video, 256k for audio). To compute the memory required for internal frame buffer data, use Width x Height x 3. (640 x 480 x 3 = 900k).
MV3 uses DCT and motion compensation (like MPEG) to achieve high compression, but takes a few shortcuts in order to gain playback speed.