<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.multimedia.cx/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vincent</id>
	<title>MultimediaWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.multimedia.cx/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vincent"/>
	<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php/Special:Contributions/Vincent"/>
	<updated>2026-07-28T09:43:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=CMV&amp;diff=11913</id>
		<title>CMV</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=CMV&amp;diff=11913"/>
		<updated>2009-08-27T11:52:24Z</updated>

		<summary type="html">&lt;p&gt;Vincent: added specification of 10MB&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Extension: cmv&lt;br /&gt;
* Company: [[Creative]]&lt;br /&gt;
* Based on: [http://vanbeveren.byethost13.com/docs/cmv-format.txt http://vanbeveren.byethost13.com/docs/cmv-format.txt]&lt;br /&gt;
&lt;br /&gt;
The CMV is a video format introduced in Creative's ZEN MX. It probably stands for 'Creative Media Video' (like WMV stands for Windows Media Video). However, there are no resources on this. It is much a guess. In this format Creative has attempted to use as little licensed codecs and complexity as possible. The compression performance of the format is terrible, about 10MB per minute at 320x240 at 25fps. &lt;br /&gt;
&lt;br /&gt;
= Technical description =&lt;br /&gt;
&lt;br /&gt;
CMV consists of two parts, the audio, and the video.&lt;br /&gt;
&lt;br /&gt;
 CMV generial build up:&lt;br /&gt;
 0        -&amp;gt;              n&lt;br /&gt;
 +-------+----------------+&lt;br /&gt;
 | Audio | Video          |&lt;br /&gt;
 +-------+----------------+&lt;br /&gt;
&lt;br /&gt;
There is no interlacing. The player hops between the audio and video every second. There is also no global format header, it immediately starts with the audio. The audio and the video parts can be concatenated 'cat' command: They are totally separated.&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
The first part of the file immediately starts with a RIFF header. It is a [[Microsoft Wave]] (.WAV) file. The audio is [[IMA ADPCM]] encoded. So, one sample is 4 bits. Its a 24kHz stereo signal. This means its bit rate is 192kbps, but don't expect MP3 quality. The length (in time) is the same as that of the video. See the specifications for more details.&lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
Right after the WAV file, the video start. This is no complicated MPEG-4, or even MPEG-2 or WMV. Basically it's a variant of motion JPEG.&lt;br /&gt;
&lt;br /&gt;
 The build up is like this:&lt;br /&gt;
 +--------+---------+---------+--- - ---+---------+&lt;br /&gt;
 | HEADER | CHUNK 1 | CHUNK 2 |   ...   | CHUNK n |&lt;br /&gt;
 +--------+---------+---------+--- - ---+---------+&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
The header describes the video part of the file. All values are little-endien encoded,&lt;br /&gt;
eg. A number (decimal) 1025 is in 3 bytes encoded as 01 04 00 (hex). The odd thing is&lt;br /&gt;
that the whole header seems to use a 3 byte word size... to make things easy :). &lt;br /&gt;
&lt;br /&gt;
 Offset	Length	Description&lt;br /&gt;
 ------ ------- ----------------------------------------------------------------------------&lt;br /&gt;
 0      3       Signature, &amp;quot;CMV&amp;quot;&lt;br /&gt;
 3      3       Major version, char encoded = &amp;quot;001&amp;quot;&lt;br /&gt;
 6      3       Minor version, char encoded = &amp;quot;000&amp;quot;&lt;br /&gt;
 9      3       Width of video pixels&lt;br /&gt;
 12     3       Height of video in pixels&lt;br /&gt;
 15     3       ? horizontal block size, usually 16&lt;br /&gt;
                  - used for rounding the dimensions of the video&lt;br /&gt;
 18     3       ? vertical block size, usually 16&lt;br /&gt;
                  - used for rounding the dimensions of the video&lt;br /&gt;
 21     3       chunk-size in bytes&lt;br /&gt;
 24     3       number of frames per chunk (usually == FPS) &amp;lt;--+&lt;br /&gt;
 27     3       Number of frames in file                       |&lt;br /&gt;
 30     3       unknown, value = 1                             | May be the other way around&lt;br /&gt;
 33     3       unknown, value = 0                             |&lt;br /&gt;
 36     3       FPS (usually 25)                            &amp;lt;--+&lt;br /&gt;
 39     12      0x010101 0x010101 0x010101 0x010101 unknown / reserved&lt;br /&gt;
 51             end of header &lt;br /&gt;
&lt;br /&gt;
All descriptions starting with a question mark are guesses.&lt;br /&gt;
                                                           &lt;br /&gt;
=== Chunk ===&lt;br /&gt;
A chunk starts with 3 bytes. This is the length of the actual data. The rest of the chunk is 0 padded until is reaches the chunk-size as defined in the header.&lt;br /&gt;
&lt;br /&gt;
 |--------- chunk size ------------------------|&lt;br /&gt;
       |------------ LEN ------------|&lt;br /&gt;
 +-----+-----------------------------+---------+--- -&lt;br /&gt;
 | LEN | DATA (JPEG)                 | padding | next LEN&lt;br /&gt;
 +-----+-----------------------------+---------+--- -&lt;br /&gt;
&lt;br /&gt;
The data is an actual *one* JPEG. Containing &amp;quot;number of frames per chunk&amp;quot; images. These images are appended below each other. So, each frame, is one image in the big jpeg. &lt;br /&gt;
&lt;br /&gt;
The dimensions of one image can be calculated by taking the width or height as specified in the header, and rounding it up to a multiple of the block-size. Usually this is 16. So suppose your video is 320x200, this means that the actual image size is 320x208, since 320 is a multiple of 16, but 200 is not. The remainder of the image (the 8 pixels at the bottom) are just black pixels.&lt;br /&gt;
&lt;br /&gt;
The dimensions of the actual JPEG are as follows:&lt;br /&gt;
 width = rounded image width&lt;br /&gt;
 height = rounded image height * frames per chunk.&lt;br /&gt;
&lt;br /&gt;
So, suppose the video is 320x200, the actual image is 320x208, the JPEG is &lt;br /&gt;
320 x 208 * 25 -&amp;gt; 320 x 5200, looking like this:&lt;br /&gt;
&lt;br /&gt;
 |---- 320 -------|&lt;br /&gt;
 +----------------+  -&lt;br /&gt;
 |                |  |&lt;br /&gt;
 |    Frame 1     | 208 (of which only the first 200 lines contain video,&lt;br /&gt;
 |                |  |   rest are black pixels)&lt;br /&gt;
 +----------------+  -&lt;br /&gt;
 |                |&lt;br /&gt;
 |    Frame 2     |&lt;br /&gt;
 |                |&lt;br /&gt;
 +----------------+&lt;br /&gt;
 |                |&lt;br /&gt;
        ...&lt;br /&gt;
 |                |&lt;br /&gt;
 +----------------+&lt;br /&gt;
 |                |&lt;br /&gt;
 |    Frame n     | (usually 25)&lt;br /&gt;
 |                |&lt;br /&gt;
 +----------------+&lt;br /&gt;
&lt;br /&gt;
The last chunk may end at any frame. Remaining frames in the JPEG will be black.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Container Formats]]&lt;br /&gt;
[[Category:Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Vincent</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=CMV&amp;diff=11905</id>
		<title>CMV</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=CMV&amp;diff=11905"/>
		<updated>2009-08-20T06:56:24Z</updated>

		<summary type="html">&lt;p&gt;Vincent: modified header description, removed tabs, compacted&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Extension: cmv&lt;br /&gt;
* Company: [[Creative]]&lt;br /&gt;
* Based on: [http://vanbeveren.byethost13.com/docs/cmv-format.txt http://vanbeveren.byethost13.com/docs/cmv-format.txt]&lt;br /&gt;
&lt;br /&gt;
The CMV is a video format introduced in Creative's ZEN MX. It probably stands for 'Creative Media Video' (like WMV stands for Windows Media Video). However, there are no resources on this. It is much a guess. In this format Creative has attempted to use as little licensed codecs and complexity as possible. The compression performance of the format is terrible, about 10MB per minute. &lt;br /&gt;
&lt;br /&gt;
= Technical description =&lt;br /&gt;
&lt;br /&gt;
CMV consists of two parts, the audio, and the video.&lt;br /&gt;
&lt;br /&gt;
 CMV generial build up:&lt;br /&gt;
 0        -&amp;gt;              n&lt;br /&gt;
 +-------+----------------+&lt;br /&gt;
 | Audio | Video          |&lt;br /&gt;
 +-------+----------------+&lt;br /&gt;
&lt;br /&gt;
There is no interlacing. The player hops between the audio and video every second. There is also no global format header, it immediately starts with the audio. The audio and the video parts can be concatenated 'cat' command: They are totally separated.&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
The first part of the file immediately starts with a RIFF header. It is a [[Microsoft Wave]] (.WAV) file. The audio is [[IMA ADPCM]] encoded. So, one sample is 4 bits. Its a 24kHz stereo signal. This means its bit rate is 192kbps, but don't expect MP3 quality. The length (in time) is the same as that of the video. See the specifications for more details.&lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
Right after the WAV file, the video start. This is no complicated MPEG-4, or even MPEG-2 or WMV. Basically it's a variant of motion JPEG.&lt;br /&gt;
&lt;br /&gt;
 The build up is like this:&lt;br /&gt;
 +--------+---------+---------+--- - ---+---------+&lt;br /&gt;
 | HEADER | CHUNK 1 | CHUNK 2 |   ...   | CHUNK n |&lt;br /&gt;
 +--------+---------+---------+--- - ---+---------+&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
The header describes the video part of the file. All values are little-endien encoded,&lt;br /&gt;
eg. A number (decimal) 1025 is in 3 bytes encoded as 01 04 00 (hex). The odd thing is&lt;br /&gt;
that the whole header seems to use a 3 byte word size... to make things easy :). &lt;br /&gt;
&lt;br /&gt;
 Offset	Length	Description&lt;br /&gt;
 ------ ------- ----------------------------------------------------------------------------&lt;br /&gt;
 0      3       Signature, &amp;quot;CMV&amp;quot;&lt;br /&gt;
 3      3       Major version, char encoded = &amp;quot;001&amp;quot;&lt;br /&gt;
 6      3       Minor version, char encoded = &amp;quot;000&amp;quot;&lt;br /&gt;
 9      3       Width of video pixels&lt;br /&gt;
 12     3       Height of video in pixels&lt;br /&gt;
 15     3       ? horizontal block size, usually 16&lt;br /&gt;
                  - used for rounding the dimensions of the video&lt;br /&gt;
 18     3       ? vertical block size, usually 16&lt;br /&gt;
                  - used for rounding the dimensions of the video&lt;br /&gt;
 21     3       chunk-size in bytes&lt;br /&gt;
 24     3       number of frames per chunk (usually == FPS) &amp;lt;--+&lt;br /&gt;
 27     3       Number of frames in file                       |&lt;br /&gt;
 30     3       unknown, value = 1                             | May be the other way around&lt;br /&gt;
 33     3       unknown, value = 0                             |&lt;br /&gt;
 36     3       FPS (usually 25)                            &amp;lt;--+&lt;br /&gt;
 39     12      0x010101 0x010101 0x010101 0x010101 unknown / reserved&lt;br /&gt;
 51             end of header &lt;br /&gt;
&lt;br /&gt;
All descriptions starting with a question mark are guesses.&lt;br /&gt;
                                                           &lt;br /&gt;
=== Chunk ===&lt;br /&gt;
A chunk starts with 3 bytes. This is the length of the actual data. The rest of the chunk is 0 padded until is reaches the chunk-size as defined in the header.&lt;br /&gt;
&lt;br /&gt;
 |--------- chunk size ------------------------|&lt;br /&gt;
       |------------ LEN ------------|&lt;br /&gt;
 +-----+-----------------------------+---------+--- -&lt;br /&gt;
 | LEN | DATA (JPEG)                 | padding | next LEN&lt;br /&gt;
 +-----+-----------------------------+---------+--- -&lt;br /&gt;
&lt;br /&gt;
The data is an actual *one* JPEG. Containing &amp;quot;number of frames per chunk&amp;quot; images. These images are appended below each other. So, each frame, is one image in the big jpeg. &lt;br /&gt;
&lt;br /&gt;
The dimensions of one image can be calculated by taking the width or height as specified in the header, and rounding it up to a multiple of the block-size. Usually this is 16. So suppose your video is 320x200, this means that the actual image size is 320x208, since 320 is a multiple of 16, but 200 is not. The remainder of the image (the 8 pixels at the bottom) are just black pixels.&lt;br /&gt;
&lt;br /&gt;
The dimensions of the actual JPEG are as follows:&lt;br /&gt;
 width = rounded image width&lt;br /&gt;
 height = rounded image height * frames per chunk.&lt;br /&gt;
&lt;br /&gt;
So, suppose the video is 320x200, the actual image is 320x208, the JPEG is &lt;br /&gt;
320 x 208 * 25 -&amp;gt; 320 x 5200, looking like this:&lt;br /&gt;
&lt;br /&gt;
 |---- 320 -------|&lt;br /&gt;
 +----------------+  -&lt;br /&gt;
 |                |  |&lt;br /&gt;
 |    Frame 1     | 208 (of which only the first 200 lines contain video,&lt;br /&gt;
 |                |  |   rest are black pixels)&lt;br /&gt;
 +----------------+  -&lt;br /&gt;
 |                |&lt;br /&gt;
 |    Frame 2     |&lt;br /&gt;
 |                |&lt;br /&gt;
 +----------------+&lt;br /&gt;
 |                |&lt;br /&gt;
        ...&lt;br /&gt;
 |                |&lt;br /&gt;
 +----------------+&lt;br /&gt;
 |                |&lt;br /&gt;
 |    Frame n     | (usually 25)&lt;br /&gt;
 |                |&lt;br /&gt;
 +----------------+&lt;br /&gt;
&lt;br /&gt;
The last chunk may end at any frame. Remaining frames in the JPEG will be black.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Container Formats]]&lt;br /&gt;
[[Category:Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Vincent</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=CMV&amp;diff=11904</id>
		<title>CMV</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=CMV&amp;diff=11904"/>
		<updated>2009-08-20T06:52:12Z</updated>

		<summary type="html">&lt;p&gt;Vincent: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Extension: cmv&lt;br /&gt;
* Company: [[Creative]]&lt;br /&gt;
* Based on: [http://vanbeveren.byethost13.com/docs/cmv-format.txt http://vanbeveren.byethost13.com/docs/cmv-format.txt]&lt;br /&gt;
&lt;br /&gt;
The CMV is a video format introduced in Creative's ZEN MX. It probably stands for 'Creative Media Video' (like WMV stands for Windows Media Video). However, there are no resources on this. It is much a guess. In this format Creative has attempted to use as little licensed codecs and complexity as possible. The compression performance of the format is terrible, about 10MB per minute. &lt;br /&gt;
&lt;br /&gt;
= Technical description =&lt;br /&gt;
&lt;br /&gt;
CMV consists of two parts, the audio, and the video.&lt;br /&gt;
&lt;br /&gt;
 CMV generial build up:&lt;br /&gt;
 0        -&amp;gt;              n&lt;br /&gt;
 +-------+----------------+&lt;br /&gt;
 | Audio | Video          |&lt;br /&gt;
 +-------+----------------+&lt;br /&gt;
&lt;br /&gt;
There is no interlacing. The player hops between the audio and video every second. There is also no global format header, it immediately starts with the audio. The audio and the video parts can be concatenated 'cat' command: They are totally separated.&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
The first part of the file immediately starts with a RIFF header. It is a [[Microsoft Wave]] (.WAV) file. The audio is [[IMA ADPCM]] encoded. So, one sample is 4 bits. Its a 24kHz stereo signal. This means its bit rate is 192kbps, but don't expect MP3 quality. The length (in time) is the same as that of the video. See the specifications for more details.&lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
Right after the WAV file, the video start. This is no complicated MPEG-4, or even MPEG-2 or WMV. Basically it's a variant of motion JPEG.&lt;br /&gt;
&lt;br /&gt;
 The build up is like this:&lt;br /&gt;
 +--------+---------+---------+--- - ---+---------+&lt;br /&gt;
 | HEADER | CHUNK 1 | CHUNK 2 |   ...   | CHUNK n |&lt;br /&gt;
 +--------+---------+---------+--- - ---+---------+&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
The header describes the video part of the file. All values are little-endien encoded,&lt;br /&gt;
eg. A number (decimal) 1025 is in 3 bytes encoded as 01 04 00 (hex). The odd thing is&lt;br /&gt;
that the whole header seems to use a 3 byte word size... to make things easy :). &lt;br /&gt;
&lt;br /&gt;
 Offset	Length	Description&lt;br /&gt;
 ------ ------- ---------------------------------------------------------------------------------------------&lt;br /&gt;
 0	3	Signature, &amp;quot;CMV&amp;quot;&lt;br /&gt;
 3	3	Major version, char encoded = &amp;quot;001&amp;quot;&lt;br /&gt;
 6	3	Minor version, char encoded = &amp;quot;000&amp;quot;&lt;br /&gt;
 9	3	Width of video pixels&lt;br /&gt;
 12	3	Height of video in pixels&lt;br /&gt;
 15	3	? horizontal block size, usually 16 - used for rounding the dimensions of the video&lt;br /&gt;
 18	3	? vertical block size, usually 16 - used for rounding the dimensions of the video&lt;br /&gt;
 21	3	chunk-size in bytes&lt;br /&gt;
 24	3	number of frames per chunk (usually equal to the FPS)    &amp;lt;--+&lt;br /&gt;
 27	3	Number of frames in file                                    |&lt;br /&gt;
 30	3	unknown, value = 1                                          | ! Might be the other way around&lt;br /&gt;
 33	3	unknown, value = 0                                          |&lt;br /&gt;
 36	3	FPS (usually 25)                                         &amp;lt;--+&lt;br /&gt;
 39	12	0x010101 0x010101 0x010101 0x010101 unknown / reserved&lt;br /&gt;
 51		end of header &lt;br /&gt;
&lt;br /&gt;
All descriptions starting with a question mark are guesses.&lt;br /&gt;
                                                           &lt;br /&gt;
=== Chunk ===&lt;br /&gt;
A chunk starts with 3 bytes. This is the length of the actual data. The rest of the chunk is 0 padded until is reaches the chunk-size as defined in the header.&lt;br /&gt;
&lt;br /&gt;
 |--------- chunk size ------------------------|&lt;br /&gt;
       |------------ LEN ------------|&lt;br /&gt;
 +-----+-----------------------------+---------+--- -&lt;br /&gt;
 | LEN | DATA (JPEG)                 | padding | next LEN&lt;br /&gt;
 +-----+-----------------------------+---------+--- -&lt;br /&gt;
&lt;br /&gt;
The data is an actual *one* JPEG. Containing &amp;quot;number of frames per chunk&amp;quot; images. These images are appended below each other. So, each frame, is one image in the big jpeg. &lt;br /&gt;
&lt;br /&gt;
The dimensions of one image can be calculated by taking the width or height as specified in the header, and rounding it up to a multiple of the block-size. Usually this is 16. So suppose your video is 320x200, this means that the actual image size is 320x208, since 320 is a multiple of 16, but 200 is not. The remainder of the image (the 8 pixels at the bottom) are just black pixels.&lt;br /&gt;
&lt;br /&gt;
The dimensions of the actual JPEG are as follows:&lt;br /&gt;
 width = rounded image width&lt;br /&gt;
 height = rounded image height * frames per chunk.&lt;br /&gt;
&lt;br /&gt;
So, suppose the video is 320x200, the actual image is 320x208, the JPEG is &lt;br /&gt;
320 x 208 * 25 -&amp;gt; 320 x 5200, looking like this:&lt;br /&gt;
&lt;br /&gt;
 |---- 320 -------|&lt;br /&gt;
 +----------------+  -&lt;br /&gt;
 |                |  |&lt;br /&gt;
 |    Frame 1     | 208 (of which only the first 200 lines contain video,&lt;br /&gt;
 |                |  |   rest are black pixels)&lt;br /&gt;
 +----------------+  -&lt;br /&gt;
 |                |&lt;br /&gt;
 |    Frame 2     |&lt;br /&gt;
 |                |&lt;br /&gt;
 +----------------+&lt;br /&gt;
 |                |&lt;br /&gt;
        ...&lt;br /&gt;
 |                |&lt;br /&gt;
 +----------------+&lt;br /&gt;
 |                |&lt;br /&gt;
 |    Frame n     | (usually 25)&lt;br /&gt;
 |                |&lt;br /&gt;
 +----------------+&lt;br /&gt;
&lt;br /&gt;
The last chunk may end at any frame. Remaining frames in the JPEG will be black.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Container Formats]]&lt;br /&gt;
[[Category:Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Vincent</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Creative&amp;diff=11903</id>
		<title>Creative</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Creative&amp;diff=11903"/>
		<updated>2009-08-20T06:51:35Z</updated>

		<summary type="html">&lt;p&gt;Vincent: added CMV&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Website: [http://creative.com/ http://creative.com/]&lt;br /&gt;
&lt;br /&gt;
Creative is most famous for its SoundBlaster line of sound cards. Over the years they have also created a number of multimedia formats:&lt;br /&gt;
&lt;br /&gt;
* [[Creative YUV]]&lt;br /&gt;
* [[Creative Voice]]&lt;br /&gt;
* [[Creative ADPCM]]&lt;br /&gt;
* [[Creative 8 bits ADPCM]]&lt;br /&gt;
* [[CMV]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Multimedia-related Companies]]&lt;/div&gt;</summary>
		<author><name>Vincent</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=CMV&amp;diff=11902</id>
		<title>CMV</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=CMV&amp;diff=11902"/>
		<updated>2009-08-20T06:47:26Z</updated>

		<summary type="html">&lt;p&gt;Vincent: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Extension: cmv&lt;br /&gt;
* Company: [[Creative]]&lt;br /&gt;
* Based on: [http://vanbeveren.byethost13.com/docs/cmv-format.txt http://vanbeveren.byethost13.com/docs/cmv-format.txt]&lt;br /&gt;
&lt;br /&gt;
The CMV is a video format introduced in Creative's ZEN MX. It probably stands for 'Creative Media Video' (like WMV stands for Windows Media Video). However, there are no resources on this. It is much a guess. In this format Creative has attempted to use as little licensed codecs and complexity as possible. The compression performance of the format is terrible, about 10MB per minute. &lt;br /&gt;
&lt;br /&gt;
= Technical description =&lt;br /&gt;
&lt;br /&gt;
CMV consists of two parts, the audio, and the video.&lt;br /&gt;
&lt;br /&gt;
 CMV generial build up:&lt;br /&gt;
 0        -&amp;gt;              n&lt;br /&gt;
 +-------+----------------+&lt;br /&gt;
 | Audio | Video          |&lt;br /&gt;
 +-------+----------------+&lt;br /&gt;
&lt;br /&gt;
There is no interlacing. The player hops between the audio and video every second. There is also no global format header, it immediately starts with the audio. The audio and the video parts can be concatenated 'cat' command: They are totally separated.&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
The first part of the file immediately starts with a RIFF header. It is a [[Microsoft Wave]] (.WAV) file. The audio is [[IMA ADPCM]] encoded. So, one sample is 4 bits. Its a 24kHz stereo signal. This means its bit rate is 192kbps, but don't expect MP3 quality. The length (in time) is the same as that of the video. See the specifications for more details.&lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
Right after the WAV file, the video start. This is no complicated MPEG-4, or even MPEG-2 or WMV. Basically it's a variant of motion JPEG.&lt;br /&gt;
&lt;br /&gt;
 The build up is like this:&lt;br /&gt;
 +--------+---------+---------+--- - ---+---------+&lt;br /&gt;
 | HEADER | CHUNK 1 | CHUNK 2 |   ...   | CHUNK n |&lt;br /&gt;
 +--------+---------+---------+--- - ---+---------+&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
The header describes the video part of the file. All values are little-endien encoded,&lt;br /&gt;
eg. A number (decimal) 1025 is in 3 bytes encoded as 01 04 00 (hex). The odd thing is&lt;br /&gt;
that the whole header seems to use a 3 byte word size... to make things easy :). &lt;br /&gt;
&lt;br /&gt;
 Offset	Length	Description&lt;br /&gt;
 ------ ------- ---------------------------------------------------------------------------------------------&lt;br /&gt;
 0	3	Signature, &amp;quot;CMV&amp;quot;&lt;br /&gt;
 3	3	Major version, char encoded = &amp;quot;001&amp;quot;&lt;br /&gt;
 6	3	Minor version, char encoded = &amp;quot;000&amp;quot;&lt;br /&gt;
 9	3	Width of video pixels&lt;br /&gt;
 12	3	Height of video in pixels&lt;br /&gt;
 15	3	? horizontal block size, usually 16 - used for rounding the dimensions of the video&lt;br /&gt;
 18	3	? vertical block size, usually 16 - used for rounding the dimensions of the video&lt;br /&gt;
 21	3	chunk-size in bytes&lt;br /&gt;
 24	3	number of frames per chunk (usually equal to the FPS)    &amp;lt;--+&lt;br /&gt;
 27	3	Number of frames in file                                    |&lt;br /&gt;
 30	3	unknown, value = 1                                          | ! Might be the other way around&lt;br /&gt;
 33	3	unknown, value = 0                                          |&lt;br /&gt;
 36	3	FPS (usually 25)                                         &amp;lt;--+&lt;br /&gt;
 39	12	0x010101 0x010101 0x010101 0x010101 unknown / reserved&lt;br /&gt;
 51		end of header &lt;br /&gt;
&lt;br /&gt;
All descriptions starting with a question mark are guesses.&lt;br /&gt;
                                                           &lt;br /&gt;
=== Chunk ===&lt;br /&gt;
A chunk starts with 3 bytes. This is the length of the actual data. The rest of the chunk is 0 padded until is reaches the chunk-size as defined in the header.&lt;br /&gt;
&lt;br /&gt;
 |--------- chunk size ------------------------|&lt;br /&gt;
       |------------ LEN ------------|&lt;br /&gt;
 +-----+-----------------------------+---------+--- -&lt;br /&gt;
 | LEN | DATA (JPEG)                 | padding | next LEN&lt;br /&gt;
 +-----+-----------------------------+---------+--- -&lt;br /&gt;
&lt;br /&gt;
The data is an actual *one* JPEG. Containing &amp;quot;number of frames per chunk&amp;quot; images. These images are appended below each other. So, each frame, is one image in the big jpeg. &lt;br /&gt;
&lt;br /&gt;
The dimensions of one image can be calculated by taking the width or height as specified in the header, and rounding it up to a multiple of the block-size. Usually this is 16. So suppose your video is 320x200, this means that the actual image size is 320x208, since 320 is a multiple of 16, but 200 is not. The remainder of the image (the 8 pixels at the bottom) are just black pixels.&lt;br /&gt;
&lt;br /&gt;
The dimensions of the actual JPEG are as follows:&lt;br /&gt;
 width = rounded image width&lt;br /&gt;
 height = rounded image height * frames per chunk.&lt;br /&gt;
&lt;br /&gt;
So, suppose the video is 320x200, the actual image is 320x208, the JPEG is &lt;br /&gt;
320 x 208 * 25 -&amp;gt; 320 x 5200, looking like this:&lt;br /&gt;
&lt;br /&gt;
 |---- 320 -------|&lt;br /&gt;
 +----------------+  -&lt;br /&gt;
 |                |  |&lt;br /&gt;
 |    Frame 1     | 208 (of which only the first 200 lines contain video,&lt;br /&gt;
 |                |  |   rest are black pixels)&lt;br /&gt;
 +----------------+  -&lt;br /&gt;
 |                |&lt;br /&gt;
 |    Frame 2     |&lt;br /&gt;
 |                |&lt;br /&gt;
 +----------------+&lt;br /&gt;
 |                |&lt;br /&gt;
        ...&lt;br /&gt;
 |                |&lt;br /&gt;
 +----------------+&lt;br /&gt;
 |                |&lt;br /&gt;
 |    Frame n     | (usually 25)&lt;br /&gt;
 |                |&lt;br /&gt;
 +----------------+&lt;br /&gt;
&lt;br /&gt;
The last chunk may end at any frame. Remaining frames in the JPEG will be black.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Container Formats]]&lt;br /&gt;
[[Category:Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Vincent</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=CMV&amp;diff=11901</id>
		<title>CMV</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=CMV&amp;diff=11901"/>
		<updated>2009-08-20T06:46:17Z</updated>

		<summary type="html">&lt;p&gt;Vincent: added catagories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Extension: cmv&lt;br /&gt;
* Company: [[Creative]]&lt;br /&gt;
* Based on: [http://vanbeveren.byethost13.com/docs/cmv-format.txt http://vanbeveren.byethost13.com/docs/cmv-format.txt]&lt;br /&gt;
&lt;br /&gt;
The CMV is a video format introduced in Creative's ZEN MX. It probably stands for 'Creative Media Video' (like WMV stands for Windows Media Video). However, there are no resources on this. It is much a guess. In this format Creative has attempted to use as little licensed codecs and complexity as possible. The compression performance of the format is terrible, about 10MB per minute. &lt;br /&gt;
&lt;br /&gt;
= Technical description =&lt;br /&gt;
&lt;br /&gt;
CMV consists of two parts, the audio, and the video.&lt;br /&gt;
&lt;br /&gt;
 CMV generial build up:&lt;br /&gt;
 0        -&amp;gt;              n&lt;br /&gt;
 +-------+----------------+&lt;br /&gt;
 | Audio | Video          |&lt;br /&gt;
 +-------+----------------+&lt;br /&gt;
&lt;br /&gt;
There is no interlacing. The player hops between the audio and video every second. There is also no global format header, it immediately starts with the audio. The audio and the video parts can be concatenated 'cat' command: They are totally separated.&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
The first part of the file immediately starts with a RIFF header. It is a [[Microsoft Wave]] (.WAV) file. The encoding is [[IMA ADPCM]] encoded. So, one sample is 4 bits. Its a 24kHz stereo signal. This means its bit rate is 192kbps, but don't expect MP3 quality. The length (in time) is the same as that of the video. See the specifications for more details.&lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
Right after the WAV file, the video start. This is no complicated MPEG-4, or even MPEG-2 or WMV. Basically it's a variant of motion JPEG.&lt;br /&gt;
&lt;br /&gt;
 The build up is like this:&lt;br /&gt;
 +--------+---------+---------+--- - ---+---------+&lt;br /&gt;
 | HEADER | CHUNK 1 | CHUNK 2 |   ...   | CHUNK n |&lt;br /&gt;
 +--------+---------+---------+--- - ---+---------+&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
The header describes the video part of the file. All values are little-endien encoded,&lt;br /&gt;
eg. A number (decimal) 1025 is in 3 bytes encoded as 01 04 00 (hex). The odd thing is&lt;br /&gt;
that the whole header seems to use a 3 byte word size... to make things easy :). &lt;br /&gt;
&lt;br /&gt;
 Offset	Length	Description&lt;br /&gt;
 ------ ------- ---------------------------------------------------------------------------------------------&lt;br /&gt;
 0	3	Signature, &amp;quot;CMV&amp;quot;&lt;br /&gt;
 3	3	Major version, char encoded = &amp;quot;001&amp;quot;&lt;br /&gt;
 6	3	Minor version, char encoded = &amp;quot;000&amp;quot;&lt;br /&gt;
 9	3	Width of video pixels&lt;br /&gt;
 12	3	Height of video in pixels&lt;br /&gt;
 15	3	? horizontal block size, usually 16 - used for rounding the dimensions of the video&lt;br /&gt;
 18	3	? vertical block size, usually 16 - used for rounding the dimensions of the video&lt;br /&gt;
 21	3	chunk-size in bytes&lt;br /&gt;
 24	3	number of frames per chunk (usually equal to the FPS)    &amp;lt;--+&lt;br /&gt;
 27	3	Number of frames in file                                    |&lt;br /&gt;
 30	3	unknown, value = 1                                          | ! Might be the other way around&lt;br /&gt;
 33	3	unknown, value = 0                                          |&lt;br /&gt;
 36	3	FPS (usually 25)                                         &amp;lt;--+&lt;br /&gt;
 39	12	0x010101 0x010101 0x010101 0x010101 unknown / reserved&lt;br /&gt;
 51		end of header &lt;br /&gt;
&lt;br /&gt;
All descriptions starting with a question mark are guesses.&lt;br /&gt;
                                                           &lt;br /&gt;
=== Chunk ===&lt;br /&gt;
A chunk starts with 3 bytes. This is the length of the actual data. The rest of the chunk is 0 padded until is reaches the chunk-size as defined in the header.&lt;br /&gt;
&lt;br /&gt;
 |--------- chunk size ------------------------|&lt;br /&gt;
       |------------ LEN ------------|&lt;br /&gt;
 +-----+-----------------------------+---------+--- -&lt;br /&gt;
 | LEN | DATA (JPEG)                 | padding | next LEN&lt;br /&gt;
 +-----+-----------------------------+---------+--- -&lt;br /&gt;
&lt;br /&gt;
The data is an actual *one* JPEG. Containing &amp;quot;number of frames per chunk&amp;quot; images. These images are appended below each other. So, each frame, is one image in the big jpeg. &lt;br /&gt;
&lt;br /&gt;
The dimensions of one image can be calculated by taking the width or height as specified in the header, and rounding it up to a multiple of the block-size. Usually this is 16. So suppose your video is 320x200, this means that the actual image size is 320x208, since 320 is a multiple of 16, but 200 is not. The remainder of the image (the 8 pixels at the bottom) are just black pixels.&lt;br /&gt;
&lt;br /&gt;
The dimensions of the actual JPEG are as follows:&lt;br /&gt;
 width = rounded image width&lt;br /&gt;
 height = rounded image height * frames per chunk.&lt;br /&gt;
&lt;br /&gt;
So, suppose the video is 320x200, the actual image is 320x208, the JPEG is &lt;br /&gt;
320 x 208 * 25 -&amp;gt; 320 x 5200, looking like this:&lt;br /&gt;
&lt;br /&gt;
 |---- 320 -------|&lt;br /&gt;
 +----------------+  -&lt;br /&gt;
 |                |  |&lt;br /&gt;
 |    Frame 1     | 208 (of which only the first 200 lines contain video,&lt;br /&gt;
 |                |  |   rest are black pixels)&lt;br /&gt;
 +----------------+  -&lt;br /&gt;
 |                |&lt;br /&gt;
 |    Frame 2     |&lt;br /&gt;
 |                |&lt;br /&gt;
 +----------------+&lt;br /&gt;
 |                |&lt;br /&gt;
        ...&lt;br /&gt;
 |                |&lt;br /&gt;
 +----------------+&lt;br /&gt;
 |                |&lt;br /&gt;
 |    Frame n     | (usually 25)&lt;br /&gt;
 |                |&lt;br /&gt;
 +----------------+&lt;br /&gt;
&lt;br /&gt;
The last chunk may end at any frame. Remaining frames in the JPEG will be black.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Container Formats]]&lt;br /&gt;
[[Category:Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Vincent</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=CMV&amp;diff=11900</id>
		<title>CMV</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=CMV&amp;diff=11900"/>
		<updated>2009-08-20T06:45:18Z</updated>

		<summary type="html">&lt;p&gt;Vincent: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Extension: cmv&lt;br /&gt;
* Company: [[Creative]]&lt;br /&gt;
* Based on: [http://vanbeveren.byethost13.com/docs/cmv-format.txt http://vanbeveren.byethost13.com/docs/cmv-format.txt]&lt;br /&gt;
&lt;br /&gt;
The CMV is a video format introduced in Creative's ZEN MX. It probably stands for 'Creative Media Video' (like WMV stands for Windows Media Video). However, there are no resources on this. It is much a guess. In this format Creative has attempted to use as little licensed codecs and complexity as possible. The compression performance of the format is terrible, about 10MB per minute. &lt;br /&gt;
&lt;br /&gt;
= Technical description =&lt;br /&gt;
&lt;br /&gt;
CMV consists of two parts, the audio, and the video.&lt;br /&gt;
&lt;br /&gt;
 CMV generial build up:&lt;br /&gt;
 0        -&amp;gt;              n&lt;br /&gt;
 +-------+----------------+&lt;br /&gt;
 | Audio | Video          |&lt;br /&gt;
 +-------+----------------+&lt;br /&gt;
&lt;br /&gt;
There is no interlacing. The player hops between the audio and video every second. There is also no global format header, it immediately starts with the audio. The audio and the video parts can be concatenated 'cat' command: They are totally separated.&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
The first part of the file immediately starts with a RIFF header. It is a [[Microsoft Wave]] (.WAV) file. The encoding is [[IMA ADPCM]] encoded. So, one sample is 4 bits. Its a 24kHz stereo signal. This means its bit rate is 192kbps, but don't expect MP3 quality. The length (in time) is the same as that of the video. See the specifications for more details.&lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
Right after the WAV file, the video start. This is no complicated MPEG-4, or even MPEG-2 or WMV. Basically it's a variant of motion JPEG.&lt;br /&gt;
&lt;br /&gt;
 The build up is like this:&lt;br /&gt;
 +--------+---------+---------+--- - ---+---------+&lt;br /&gt;
 | HEADER | CHUNK 1 | CHUNK 2 |   ...   | CHUNK n |&lt;br /&gt;
 +--------+---------+---------+--- - ---+---------+&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
The header describes the video part of the file. All values are little-endien encoded,&lt;br /&gt;
eg. A number (decimal) 1025 is in 3 bytes encoded as 01 04 00 (hex). The odd thing is&lt;br /&gt;
that the whole header seems to use a 3 byte word size... to make things easy :). &lt;br /&gt;
&lt;br /&gt;
 Offset	Length	Description&lt;br /&gt;
 ------ ------- ---------------------------------------------------------------------------------------------&lt;br /&gt;
 0	3	Signature, &amp;quot;CMV&amp;quot;&lt;br /&gt;
 3	3	Major version, char encoded = &amp;quot;001&amp;quot;&lt;br /&gt;
 6	3	Minor version, char encoded = &amp;quot;000&amp;quot;&lt;br /&gt;
 9	3	Width of video pixels&lt;br /&gt;
 12	3	Height of video in pixels&lt;br /&gt;
 15	3	? horizontal block size, usually 16 - used for rounding the dimensions of the video&lt;br /&gt;
 18	3	? vertical block size, usually 16 - used for rounding the dimensions of the video&lt;br /&gt;
 21	3	chunk-size in bytes&lt;br /&gt;
 24	3	number of frames per chunk (usually equal to the FPS)    &amp;lt;--+&lt;br /&gt;
 27	3	Number of frames in file                                    |&lt;br /&gt;
 30	3	unknown, value = 1                                          | ! Might be the other way around&lt;br /&gt;
 33	3	unknown, value = 0                                          |&lt;br /&gt;
 36	3	FPS (usually 25)                                         &amp;lt;--+&lt;br /&gt;
 39	12	0x010101 0x010101 0x010101 0x010101 unknown / reserved&lt;br /&gt;
 51		end of header &lt;br /&gt;
&lt;br /&gt;
All descriptions starting with a question mark are guesses.&lt;br /&gt;
                                                           &lt;br /&gt;
=== Chunk ===&lt;br /&gt;
A chunk starts with 3 bytes. This is the length of the actual data. The rest of the chunk is 0 padded until is reaches the chunk-size as defined in the header.&lt;br /&gt;
&lt;br /&gt;
 |--------- chunk size ------------------------|&lt;br /&gt;
       |------------ LEN ------------|&lt;br /&gt;
 +-----+-----------------------------+---------+--- -&lt;br /&gt;
 | LEN | DATA (JPEG)                 | padding | next LEN&lt;br /&gt;
 +-----+-----------------------------+---------+--- -&lt;br /&gt;
&lt;br /&gt;
The data is an actual *one* JPEG. Containing &amp;quot;number of frames per chunk&amp;quot; images. These images are appended below each other. So, each frame, is one image in the big jpeg. &lt;br /&gt;
&lt;br /&gt;
The dimensions of one image can be calculated by taking the width or height as specified in the header, and rounding it up to a multiple of the block-size. Usually this is 16. So suppose your video is 320x200, this means that the actual image size is 320x208, since 320 is a multiple of 16, but 200 is not. The remainder of the image (the 8 pixels at the bottom) are just black pixels.&lt;br /&gt;
&lt;br /&gt;
The dimensions of the actual JPEG are as follows:&lt;br /&gt;
 width = rounded image width&lt;br /&gt;
 height = rounded image height * frames per chunk.&lt;br /&gt;
&lt;br /&gt;
So, suppose the video is 320x200, the actual image is 320x208, the JPEG is &lt;br /&gt;
320 x 208 * 25 -&amp;gt; 320 x 5200, looking like this:&lt;br /&gt;
&lt;br /&gt;
 |---- 320 -------|&lt;br /&gt;
 +----------------+  -&lt;br /&gt;
 |                |  |&lt;br /&gt;
 |    Frame 1     | 208 (of which only the first 200 lines contain video,&lt;br /&gt;
 |                |  |   rest are black pixels)&lt;br /&gt;
 +----------------+  -&lt;br /&gt;
 |                |&lt;br /&gt;
 |    Frame 2     |&lt;br /&gt;
 |                |&lt;br /&gt;
 +----------------+&lt;br /&gt;
 |                |&lt;br /&gt;
        ...&lt;br /&gt;
 |                |&lt;br /&gt;
 +----------------+&lt;br /&gt;
 |                |&lt;br /&gt;
 |    Frame n     | (usually 25)&lt;br /&gt;
 |                |&lt;br /&gt;
 +----------------+&lt;br /&gt;
&lt;br /&gt;
The last chunk may end at any frame. Remaining frames in the JPEG will be black.&lt;/div&gt;</summary>
		<author><name>Vincent</name></author>
	</entry>
</feed>