Motion Pixels: Difference between revisions
(add motion pixels sample url) |
m (let's start it slowly...) |
||
Line 6: | Line 6: | ||
** Movie CD: [http://samples.mplayerhq.hu/drivers32/motionpixelsmoviecd/ http://samples.mplayerhq.hu/drivers32/motionpixelsmoviecd/] | ** Movie CD: [http://samples.mplayerhq.hu/drivers32/motionpixelsmoviecd/ http://samples.mplayerhq.hu/drivers32/motionpixelsmoviecd/] | ||
** Movie CD Win32 Codecs: [http://samples.mplayerhq.hu/drivers32/motionpixels/ http://samples.mplayerhq.hu/drivers32/motionpixels/] | ** Movie CD Win32 Codecs: [http://samples.mplayerhq.hu/drivers32/motionpixels/ http://samples.mplayerhq.hu/drivers32/motionpixels/] | ||
== Introduction == | |||
Motion Pixels version 1 (MVI1) was used in a single PC game, [http://www.mobygames.com/game/windows/treasure-quest Treasure Quest] while version 2 (MVI2) was used in a number of Movie CDs. All of these items were published by Sirius Publishing and the Motion Pixels codec is believed to still be owned by the company's CEO, Richard Gnant. | Motion Pixels version 1 (MVI1) was used in a single PC game, [http://www.mobygames.com/game/windows/treasure-quest Treasure Quest] while version 2 (MVI2) was used in a number of Movie CDs. All of these items were published by Sirius Publishing and the Motion Pixels codec is believed to still be owned by the company's CEO, Richard Gnant. | ||
Line 13: | Line 15: | ||
Compressed MVI1 video may be carried in the custom [[MVI Container]] format. | Compressed MVI1 video may be carried in the custom [[MVI Container]] format. | ||
== Documentation Notes == | |||
As MVI2 version is merely an addition to MVI1, both formats will be documented together, where MVI2-specific features will be marked with '''V2''' symbol. | |||
== MVI Codec == | |||
=== Compression Flags === | |||
When video is packaged inside [[avi]] files, all vital codec's parameters carried in [[BITMAPINFOHEADER]]'s '''biCompression''' field of the video stream. These flags are: | |||
bits | |||
* 0..3 - Colorspace Format (see below) | |||
* '''V2''' 9 - ... | |||
* '''V2''' 10 - ... | |||
* 11 - ... | |||
* 12 - Still-Frame mode | |||
* 13 - Frames are upside-down | |||
* 14 - Video was encoded using trial version of the codec (this flag tells original decoder to put watermark to the frame) | |||
* 15 - Image is interlaced (single-field, in MP's terminology), only odd lines carried | |||
=== Colorspace Formats === | |||
Output always RGB, but as an extra compression feature, source image may be initially converted to one of listed formats: | |||
* 0 - RGB | |||
* 1 - YUV 4:2:2 | |||
* 2 - YUV 4:1:1 | |||
* 3 - YUV 8:1:1 | |||
* 4 - YUV 16:1:1 | |||
=== Normal mode VS Still-Frame mode === | |||
When videos with small amount of changes encoded (ex, 'talking heads' or some static scenery) special trick may be performed. Very first frame contains all the scenery, while all successive frames take this first frame as a base and add neccessary changes to it. The tricky part is, that first frame contains such a 'change-frame' as well, so you have two logical frames in one physical. Offset to the base frame is located at ('''biSizeImage''' - 4) in the encoded data buffer. Change-frame located at it's start. | |||
=== Decompression === | |||
==== Starting Pixels ==== | |||
==== Color Deltas Bundle ==== | |||
==== Assembling the Frame ==== | |||
=== TO DO === | |||
[[Category:Video Codecs]] | [[Category:Video Codecs]] |
Revision as of 19:22, 9 March 2007
- FOURCCs: MVI1, MVI2
- Company: Sirius Publishing
- Samples:
Introduction
Motion Pixels version 1 (MVI1) was used in a single PC game, Treasure Quest while version 2 (MVI2) was used in a number of Movie CDs. All of these items were published by Sirius Publishing and the Motion Pixels codec is believed to still be owned by the company's CEO, Richard Gnant.
MVI belongs to the "old-school" family of video codecs and relies on interframe differences and adaptive delta-coding for horizontal lines of the picture. Delta coefficients are additionally Huffman-packed. For better compression at the cost of picture quality additional colorspace downsampling may be used. MVI2 adds smoother delta-coding and the ability to dynamically change downsampling for each frame.
Compressed MVI1 video may be carried in the custom MVI Container format.
Documentation Notes
As MVI2 version is merely an addition to MVI1, both formats will be documented together, where MVI2-specific features will be marked with V2 symbol.
MVI Codec
Compression Flags
When video is packaged inside avi files, all vital codec's parameters carried in BITMAPINFOHEADER's biCompression field of the video stream. These flags are:
bits
- 0..3 - Colorspace Format (see below)
- V2 9 - ...
- V2 10 - ...
- 11 - ...
- 12 - Still-Frame mode
- 13 - Frames are upside-down
- 14 - Video was encoded using trial version of the codec (this flag tells original decoder to put watermark to the frame)
- 15 - Image is interlaced (single-field, in MP's terminology), only odd lines carried
Colorspace Formats
Output always RGB, but as an extra compression feature, source image may be initially converted to one of listed formats:
- 0 - RGB
- 1 - YUV 4:2:2
- 2 - YUV 4:1:1
- 3 - YUV 8:1:1
- 4 - YUV 16:1:1
Normal mode VS Still-Frame mode
When videos with small amount of changes encoded (ex, 'talking heads' or some static scenery) special trick may be performed. Very first frame contains all the scenery, while all successive frames take this first frame as a base and add neccessary changes to it. The tricky part is, that first frame contains such a 'change-frame' as well, so you have two logical frames in one physical. Offset to the base frame is located at (biSizeImage - 4) in the encoded data buffer. Change-frame located at it's start.