<?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=Alex</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=Alex"/>
	<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php/Special:Contributions/Alex"/>
	<updated>2026-08-09T14:14:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=FFmpeg_Summer_of_Code_2013&amp;diff=14476</id>
		<title>FFmpeg Summer of Code 2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=FFmpeg_Summer_of_Code_2013&amp;diff=14476"/>
		<updated>2013-03-22T09:47:50Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Google Summer of Code is a program that offers students stipends to write code for open source projects. FFmpeg participated to several past editions, and this page is about the [http://www.google-melange.com/gsoc/homepage/google/gsoc2013 Google Summer of Code 2013 edition].&lt;br /&gt;
In particular, see [http://www.google-melange.com/gsoc/events/google/gsoc2013 timeline].&lt;br /&gt;
&lt;br /&gt;
Application period starts on March 18, and March 29 at 19:00 UTC is the application deadline for interested organizations.&lt;br /&gt;
Please finish up this page before then.&lt;br /&gt;
&lt;br /&gt;
= Proposing Ideas =&lt;br /&gt;
&lt;br /&gt;
If you have a project idea please contact a developer first at the #ffmpeg-devel IRC channel on Freenode or via the [http://ffmpeg.org/contact.html ffmpeg-devel mailing list]. A good source of ideas is the [https://ffmpeg.org/trac/ffmpeg/ FFmpeg bug tracker] and [[FFmpeg_Summer_of_Code_2012|FFmpeg Summer of Code 2012 Ideas List]].&lt;br /&gt;
&lt;br /&gt;
When adding an idea follow this template for consistency:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
== Task Title ==&lt;br /&gt;
&lt;br /&gt;
'''Description:''' A few sentences or a short paragraph describing the task.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:''' Bulleted list or paragraph describing what the student is expected to achieve.&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites:''' Skills or knowledge required by student.&lt;br /&gt;
&lt;br /&gt;
'''Qualification Task:''' Small task student should perform to demonstrate understanding.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' List mentor and backup mentor if there is one and contact info such as IRC name or email address.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This section will be removed upon our organization application.&lt;br /&gt;
&lt;br /&gt;
= Mentored tasks =&lt;br /&gt;
&lt;br /&gt;
== H.264 Multiview Video Coding (MVC) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;floatright&amp;quot;&amp;gt;[[Image:Mmspg-epfl-ch-double-camera.jpg]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Description:''' MVC samples exist and the codec is used on Bluray media, but FFmpeg is missing a decoder. Since this task also consists of some changes in the current architecture, it is especially important that this task is discussed on the [http://ffmpeg.org/mailman/listinfo/ffmpeg-devel ffmpeg-devel mailing list].&lt;br /&gt;
&lt;br /&gt;
'''Expected results:''' Create MVC decoder and add a test for the FFmpeg Automated Testing Environment (FATE).&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites:''' C coding skills, familiarity with git/source code control systems.&lt;br /&gt;
&lt;br /&gt;
'''Qualification Task:''' Perform work that demonstrates understanding of MVC and that is a subpart of the whole MVC implementation.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Michael Niedermayer (''michaelni'' on IRC)&lt;br /&gt;
&lt;br /&gt;
== Animated Portable Network Graphics (APNG) ==&lt;br /&gt;
&lt;br /&gt;
'''Description:''' FFmpeg currently does not support Animated PNGs.&lt;br /&gt;
&lt;br /&gt;
'''Specification:''' https://wiki.mozilla.org/APNG_Specification&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;floatright&amp;quot;&amp;gt;[[Image:Animated PNG example bouncing beach ball.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
* APNG demuxer&lt;br /&gt;
** implement robust probing:&lt;br /&gt;
*** PNG images are not misdetected as APNG animations&lt;br /&gt;
*** APNG animations are not misdetected as PNG images&lt;br /&gt;
** splits stream into sensible packets (so they can be easily reused in APNG muxer)&lt;br /&gt;
** survives fuzzing (zzuf)&lt;br /&gt;
** add FATE coverage, coverage should be at least 70%&lt;br /&gt;
** test code under valgrind so no invalid reads/writes happen&lt;br /&gt;
&lt;br /&gt;
* APNG decoder&lt;br /&gt;
** use existing PNG decoder code (write decoder in same file)&lt;br /&gt;
** implement parsing of all APNG chunks (acTL, fcTL, fdAT)&lt;br /&gt;
** error handling&lt;br /&gt;
** survives fuzzing (zzuf) &lt;br /&gt;
** add test for FATE, coverage should be at least 75%&lt;br /&gt;
** CRC checksum validation&lt;br /&gt;
** test code under valgrind so no invalid reads/writes happen&lt;br /&gt;
&lt;br /&gt;
* APNG muxer &amp;amp;&amp;amp; APNG encoder&lt;br /&gt;
** use existing PNG encoder code (write encoder in same file)&lt;br /&gt;
** write compliant files, make sure they play correctly in major web browsers that support APNG&lt;br /&gt;
** add test for FATE&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites:''' C coding skills, familiarity with git/source code control systems.&lt;br /&gt;
&lt;br /&gt;
'''Qualification Task:''' Implement format autodetection for imagepipe &amp;amp; image demuxer&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Pbm|Paul B Mahol]] (''durandal_1707'' on IRC)&lt;br /&gt;
&lt;br /&gt;
== Misc Libavfilter extension ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;floatright&amp;quot;&amp;gt;[[Image:Lavfi-gsoc-filter-vintage-illustration.jpg]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Description:''' Libavfilter is the FFmpeg filtering library. It currently supports audio and video filtering and generation support. This work may focus on porting, fixing, extending, or writing new audio and video filters from scratch. &lt;br /&gt;
&lt;br /&gt;
Candidate filters for porting may be the remaining MPlayer filters currently supported through the mp wrapper, libaf MPlayer filters, and filters from other frameworks (e.g. mjpegtools, transcode, avisynth, virtualdub, etc.). In case of mp ports, the student should verify that the new filter produces the same output and is not slower.&lt;br /&gt;
&lt;br /&gt;
Some ideas for more filters:&lt;br /&gt;
* a frequency filtering domain filter relying on the FFT utils in libavcodec&lt;br /&gt;
* a controller filter which allows to send commands to other filters (e.g. to adjust volume, contrast, etc.), e.g. like the sendcmd filter but through an interactive GUI&lt;br /&gt;
* a lua scripting filter, which allows to implement filtering custom logic in lua&lt;br /&gt;
&lt;br /&gt;
For more ideas check:&lt;br /&gt;
[https://ffmpeg.org/trac/ffmpeg/query?status=new&amp;amp;status=open&amp;amp;status=reopened&amp;amp;component=avfilter&amp;amp;col=id&amp;amp;col=summary&amp;amp;col=status&amp;amp;col=type&amp;amp;col=priority&amp;amp;col=component&amp;amp;col=version&amp;amp;order=priority trac libavfilter tickets].&lt;br /&gt;
&lt;br /&gt;
'''Expected results:''' Write or port audio and video filters and possibly fix/extend libavfilter API and design when required.&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites:''' C coding skills, familiarity with git/source code control systems. Some background on DSP and image/sound processing techniques would be a bonus but is not strictly required.&lt;br /&gt;
&lt;br /&gt;
'''Qualification task:''' write or port one or more filters&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Stefanosa|Stefano Sabatini]]&lt;br /&gt;
&lt;br /&gt;
'''Backup mentor:''' Clément Bœsch (''ubitux'' on IRC)&lt;br /&gt;
&lt;br /&gt;
== Subtitles ==&lt;br /&gt;
&lt;br /&gt;
'''Description:''' FFmpeg has been working on improving its subtitles support recently, notably by adding the support for various text subtitles and various hardsubbing (burning the subtitles onto the video) facilities. While the theme may sound relatively simple compared to audio/video signal processing, the project carry an historical burden not easy to deal with, and introduces various issues very specific to its sparse form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Subtitles-sensei.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
* Add support for new subtitles formats. Example: a demuxer for .SUP files, just like VobSub but for Blu-Ray, or a VobSub muxer.&lt;br /&gt;
* Improve text subtitles decoders. Typically, this can be supporting advanced markup features in SAMI or WebVTT.&lt;br /&gt;
* Update the API to get rid of the clumsy internal text representation of styles&lt;br /&gt;
* Proper integration of subtitles into libavfilter. This is the ultimate goal, as it will notably allow a complete subtitles rendering for applications such as ffplay.&lt;br /&gt;
* BONUS: if everything goes well, the student will be allowed to add basic support for teletext&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites:''' C coding skills, familiarity with git/source code control systems. Some background in fansubbing area (notably ASS experience) would be a bonus but is not strictly required.&lt;br /&gt;
&lt;br /&gt;
'''Qualification task:''' write one subtitles demuxer and decoder (for example support for Spruce subtitles format). This is in order to make sure the subtitles chain is understood.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Clément Bœsch (''ubitux'' on IRC)&lt;br /&gt;
&lt;br /&gt;
'''Backup Mentor:''' Nicolas George&lt;br /&gt;
&lt;br /&gt;
== Postproc optimizations ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;floatright&amp;quot;&amp;gt;[[Image:PostProc.jpg]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Description:''' FFmpeg contains libpostproc, which is used to postprocess 8x8 DCT-MC based video and images (jpeg, mpeg-1/2/4, H.263 among others). The code though has been written a long time ago and its SIMD optimizations need to be updated to what modern CPUs support (AVX2 and SSE2+).&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
* Convert all gcc inline asm in libpostproc to YASM.&lt;br /&gt;
* Restructure the code so that it works with block sizes compatible with modern SIMD.&lt;br /&gt;
* Add Integer SSE2 and AVX2 optimizations for each existing MMX/MMX2/3dnow optimization in libpostproc.&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites:''' C coding skills, good x86 assembly coding skills, familiarity with git/source code control systems.&lt;br /&gt;
&lt;br /&gt;
'''Qualification task:''' convert 1 or 2 MMX2 functions to SSE2 and AVX2.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Michael Niedermayer (''michaelni'' on IRC)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bayer RGB colorspaces ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;floatright&amp;quot;&amp;gt;[[Image:350px-Bayer_pattern_on_sensor.svg.png ]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Description:''' Several image and video format store pixels using Bayer-pattern colorspaces. Supporting these format would broaden FFmepg's applicability to RAW still and video photography processing. Tasks:&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* Rebase existing patches&lt;br /&gt;
* Implement bayer transformations in libswscale (plain C)&lt;br /&gt;
* Add bayer formats to the libavutil pixfmt enumeration routines&lt;br /&gt;
* SIMD optimizations of the libswscale transformations&lt;br /&gt;
* Complete PhotoCINE demuxer to support Bayer format; (or another format of your choosing)&lt;br /&gt;
&lt;br /&gt;
Optional goodies:&lt;br /&gt;
* Extend TIFF decoder to support DNG-Bayer format&lt;br /&gt;
* Support a popular proprietary camera format (many to choose from; see dcraw project)&lt;br /&gt;
&lt;br /&gt;
'''Qualification task''': TBD&lt;br /&gt;
&lt;br /&gt;
'''Mentor''': Peter Ross&lt;br /&gt;
&lt;br /&gt;
'''Backup Mentor''': Michael Niedermayer (''michaelni'' on IRC)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MPEG-4 ALS encoder ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;floatright&amp;quot;&amp;gt;http://upload.wikimedia.org/wikipedia/commons/e/e9/ATunes.png&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;floatright&amp;quot;&amp;gt;[http://commons.wikimedia.org/wiki/File%3AATunes.png]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Description:''' &lt;br /&gt;
A MPEG-4 ALS decoder was implemented several years ago but an encoder is still missing in the official codebase. A rudimentary encoder has already been written and is available on [https://github.com/justinruggles/FFmpeg-alsenc.git github]. For this task, that encoder is first to be updated to fit into the current codebase of FFmpeg and to be tested for conformance using the [http://www.nue.tu-berlin.de/menue/forschung/projekte/beendete_projekte/mpeg-4_audio_lossless_coding_als/parameter/en/#230252 reference codec and specifications]. Second, the encoder is to be brought through the usual reviewing process to hit the codebase at the end of the project.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:''' &lt;br /&gt;
&lt;br /&gt;
* Update the existing encoder to fit into the current codebase.&lt;br /&gt;
* Ensure conformance of the encoder by verifying using the reference codec and generate a test case for FATE.&lt;br /&gt;
* Ensure the FFmpeg decoder processes all generated files without warnings.&lt;br /&gt;
* Enhance the rudimentary feature set of the encoder.&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites:''' C coding skills, familiarity with git/source code control systems. A certain interest in audio coding and/or knowledge about the FFmpeg codebase could be beneficial.&lt;br /&gt;
&lt;br /&gt;
'''Qualification task:''' Add floating point support to MPEG-4 ALS decoder&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Pbm|Paul B Mahol]] (''durandal_1707'' on IRC)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Unmentored tasks =&lt;br /&gt;
&lt;br /&gt;
== glplay ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;floatleft&amp;quot;&amp;gt;[[Image:Opengl_logo.jpg]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Description:''' The SDL library that is used by FFplay has some deficiencies, adding OpenGL output to FFplay should allow for better performance (and less bugs at least for some hardware / driver combinations). This could be a new application (glplay), but it is probably simpler to extend ffplay to use OpenGL. You can use code from MPlayer's OpenGL vo module which may be relicensed under the LGPL.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' TBD Backup: Reimar Döffinger&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== AAC ==&lt;br /&gt;
&lt;br /&gt;
'''Description:''' FFmpeg contains an AAC encoder and decoder, both of them can be improved in various ways. This is enough work for more than one GSoC project, so one part of your submission would be to define on which task exactly you want to work.&lt;br /&gt;
* AAC LD decoder&lt;br /&gt;
* AAC BSAC decoder: This has already been started, but the existing decoder still fails on many samples&lt;br /&gt;
* AAC SSR decoder&lt;br /&gt;
* AAC 960/120 MDCT window&lt;br /&gt;
* AAC multi-channel encoding&lt;br /&gt;
See also the FFmpeg bug tracker for AAC issues, fixing one of them or rebasing the existing incomplete BSAC decoder for current git head fixing one or more existing bugs are possible qualification tasks.&lt;br /&gt;
&lt;br /&gt;
== DTS / DCA ==&lt;br /&gt;
&lt;br /&gt;
'''Description:''' FFmpeg contains a DTS decoder.&lt;br /&gt;
* DTS-HD decoder improvements: A possible qualification task is to implement ticket [https://ffmpeg.org/trac/ffmpeg/ticket/1920 #1920]&lt;br /&gt;
** Add support for X96 extension (96khz)&lt;br /&gt;
** Add support for XLL extension (lossless)&lt;br /&gt;
** Add support for pure DTS-HD streams that do not contain a DTS core&lt;br /&gt;
** Add support for multiple assets&lt;br /&gt;
** Add support for LBR extension&lt;br /&gt;
&lt;br /&gt;
== TrueHD encoder ==&lt;br /&gt;
&lt;br /&gt;
'''Description:''' FFmpeg currently does not support encoding to one of the lossless audio formats used on Bluray discs. This task consists of implementing a TrueHD encoder that allows to losslessly encode audio to play it on hardware devices capable of TrueHD decoding.&lt;br /&gt;
&lt;br /&gt;
== Opus decoder ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;floatright&amp;quot;&amp;gt;[[Image:Opus.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Description:''' Opus decoding is currently supported through the external libopus library&lt;br /&gt;
* Write a native decoder, continue working on the existing unfinished implementation&lt;br /&gt;
A possible qualification task is to port the existing incomplete decoder to current git head and improve it to show that you are capable of working on this task.&lt;br /&gt;
&lt;br /&gt;
== VC-1 interlaced ==&lt;br /&gt;
&lt;br /&gt;
'''Description:''' The FFmpeg VC-1 decoder has improved over the years, but many samples are still not decoded bit-exact and real-world interlaced streams typically show artefacts.&lt;br /&gt;
* Implement missing interlace features&lt;br /&gt;
* Make more reference samples bit-exact&lt;br /&gt;
As a qualification task, you should try to find a bug in the current decoder implementation and fix it.&lt;br /&gt;
&lt;br /&gt;
== JPEG 2000 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;floatleft&amp;quot;&amp;gt;[[Image:Jpeg2000.jpg]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Description:''' FFmpeg contains an experimental native JPEG 2000 encoder and decoder. Both are missing many features, see also the FFmpeg bug tracker for some unsupported samples.&lt;br /&gt;
Work on an issue (for example from the bug tracker) as a qualification task to show that you are capable of improving the codec implementation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VP7 ==&lt;br /&gt;
&lt;br /&gt;
'''Description:''' Not many [http://samples.mplayerhq.hu/V-codecs/VP7/ VP7 samples] are in the wild, but no open-source decoder exists although a [http://multimedia.cx/mirror/VP7_Data_Format_and_Decoder_Overview.pdf specification] exists. Write a decoder that reuses as much as possible of existing FFmpeg code: it is likely that functions of the existing decoders for On2-based formats will be useful.&lt;br /&gt;
&lt;br /&gt;
== VP8L ==&lt;br /&gt;
&lt;br /&gt;
'''Description:''' [[VP8L]] is a lossless format used in WebP. There is no support for this in FFmpeg.&lt;br /&gt;
&lt;br /&gt;
[[Category:FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=GoToMeeting_Codec&amp;diff=14224</id>
		<title>GoToMeeting Codec</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=GoToMeeting_Codec&amp;diff=14224"/>
		<updated>2012-11-04T14:29:58Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* FourCC: G2M2, G2M3, G2M4&lt;br /&gt;
* Company: [http://www.gotomeeting.com GoToMeeting (Citrix)]&lt;br /&gt;
* Samples: &lt;br /&gt;
** G2M2: http://samples.mplayerhq.hu/V-codecs/G2M2/&lt;br /&gt;
** G2M3: http://samples.mplayerhq.hu/V-codecs/G2M3/&lt;br /&gt;
** G2M4: http://samples.mplayerhq.hu/V-codecs/G2M4/&lt;br /&gt;
&lt;br /&gt;
This is a codec used to save recordings in GoToMeeting.  The codec also calls itself GoToWebinar (see [http://www.gotowebinar.com/ http://www.gotowebinar.com/]).&lt;br /&gt;
&lt;br /&gt;
Win32 binary decoder available here: [http://www.gotomeeting.com/codec http://www.gotomeeting.com/codec]&lt;br /&gt;
&lt;br /&gt;
According to samples, all G2M2 video frames begin with the characters 'G2M2', followed by a series of chunks. Each chunk has the following layout:&lt;br /&gt;
&lt;br /&gt;
 bytes 0-3    length of chunk payload, not including this length field&lt;br /&gt;
 byte 4       type of chunk&lt;br /&gt;
 bytes 5..    remainder of payload, format unknown&lt;br /&gt;
&lt;br /&gt;
Supported chunk types are 0xC8-0xCD.&lt;br /&gt;
&lt;br /&gt;
It appears that the minimum size for a G2M2 frame (possibly a no-change frame) is 14 bytes. This includes the 4 signature bytes, a 4-byte length indicating a chunk length of 6, and a 6-byte payload of type 0xCA followed by 5 more bytes.&lt;br /&gt;
&lt;br /&gt;
G2M3 bears much similarity to G2M2 at the surface level. Naturally, each frame has a signature of 'G2M3'.&lt;br /&gt;
&lt;br /&gt;
=== Chunk C8 ===&lt;br /&gt;
&lt;br /&gt;
This seems to contain display information.&lt;br /&gt;
&lt;br /&gt;
Chunk contents (all values are big-endian):&lt;br /&gt;
&lt;br /&gt;
   4 bytes  image width&lt;br /&gt;
   4 bytes  image height&lt;br /&gt;
   4 bytes  compression mode (should be 2 or 3)&lt;br /&gt;
   4 bytes  tile width&lt;br /&gt;
   4 bytes  tile height&lt;br /&gt;
   1 byte   colour depth (4, 8, 16, 24 or 32)&lt;br /&gt;
   for 4/8bpp there is a palette in standard RGBTUPLE format&lt;br /&gt;
   for 16-32bpp there are four bitmasks for each field&lt;br /&gt;
&lt;br /&gt;
=== Chunk C9 ===&lt;br /&gt;
&lt;br /&gt;
Should be image update.&lt;br /&gt;
&lt;br /&gt;
  1 byte tile position in row?&lt;br /&gt;
  1 byte tile position in column?&lt;br /&gt;
  ... compressed data&lt;br /&gt;
&lt;br /&gt;
'''REing compressed data format is left as an exercise to the reader, an example is provided below&lt;br /&gt;
&lt;br /&gt;
==== Compression 2 ====&lt;br /&gt;
&lt;br /&gt;
  ELS-coded data size&lt;br /&gt;
  ELS-coded data for transparency pixel&lt;br /&gt;
  ELS-coded data for whole image&lt;br /&gt;
  JPEG data&lt;br /&gt;
&lt;br /&gt;
ELS-coded data size:&lt;br /&gt;
&lt;br /&gt;
  0xxxxxxx&lt;br /&gt;
  10xxxxxx xxxxxxxx&lt;br /&gt;
  110xxxxx xxxxxxxx xxxxxxxx&lt;br /&gt;
  111xxxxx xxxxxxxx xxxxxxxx xxxxxxxx&lt;br /&gt;
&lt;br /&gt;
===== ELS data =====&lt;br /&gt;
&lt;br /&gt;
ELS-coded data seems to consist of coded flags and differences for RGB triplets.&lt;br /&gt;
&lt;br /&gt;
Vanilla augmented ELS coder is used ([http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=582144 The ELS-coder: a rapid entropy coder]).&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Unsigned values are coded as a number with all bits set to one and an addition to it:&lt;br /&gt;
&lt;br /&gt;
  mask = 1;&lt;br /&gt;
  val  = 0;&lt;br /&gt;
  &lt;br /&gt;
  while (decode_bit()) {&lt;br /&gt;
    val   += mask;&lt;br /&gt;
    mask &amp;lt;&amp;lt;= 1;&lt;br /&gt;
  }&lt;br /&gt;
  while (mask &amp;gt; 1) {&lt;br /&gt;
    mask &amp;gt;&amp;gt;= 1;&lt;br /&gt;
    if (decode_bit())&lt;br /&gt;
        val += mask;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
E.g. number 5 will be coded as &amp;lt;code&amp;gt;11 0 10&amp;lt;/code&amp;gt; (i.e. 3 + stop bit + 2).&lt;br /&gt;
&lt;br /&gt;
Signed values use last bit for sign:&lt;br /&gt;
&lt;br /&gt;
  if (val &amp;amp; 1)&lt;br /&gt;
    val = - ((val + 1) &amp;gt;&amp;gt; 1);&lt;br /&gt;
  else&lt;br /&gt;
    val = val &amp;gt;&amp;gt; 1;&lt;br /&gt;
&lt;br /&gt;
Image data is composed this way:&lt;br /&gt;
&lt;br /&gt;
  single pixel value that is used for transparency colour&lt;br /&gt;
  full tile image&lt;br /&gt;
&lt;br /&gt;
Pixels in image can be coded as the one of 10 already decoded neighbours depending on which of them equal to which (a bit like JBIG compression), as some cached value or as the difference to the predicted one from left+top+topleft neighbours.&lt;br /&gt;
&lt;br /&gt;
===== JPEG data =====&lt;br /&gt;
JPEG data seems to be scan data with escapes but no headers (default Huffman tables and quantisation matrices are used).&lt;br /&gt;
&lt;br /&gt;
=== Chunk CA ===&lt;br /&gt;
&lt;br /&gt;
Probably mouse cursor position.&lt;br /&gt;
&lt;br /&gt;
  2 bytes cursor position X&lt;br /&gt;
  2 bytes cursor position Y&lt;br /&gt;
  1 byte  seems to be always 1&lt;br /&gt;
&lt;br /&gt;
=== Chunk CB ===&lt;br /&gt;
&lt;br /&gt;
This one seems to define mouse cursor shape:&lt;br /&gt;
&lt;br /&gt;
  4 bytes data size&lt;br /&gt;
  1 byte  width&lt;br /&gt;
  1 byte  height&lt;br /&gt;
  1 byte  hotspot x&lt;br /&gt;
  1 byte  hotspot y&lt;br /&gt;
  ...     cursor bitmask and its inverse (in M$ format 98% sure)&lt;br /&gt;
&lt;br /&gt;
=== Chunk CC ===&lt;br /&gt;
&lt;br /&gt;
Maybe some resync chunk, it's supposed to contain only 4-byte value equal to 2000.&lt;br /&gt;
&lt;br /&gt;
=== Chunk CD ===&lt;br /&gt;
&lt;br /&gt;
One dword, something to do with time.&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Codecs]]&lt;br /&gt;
[[Category:Undiscovered Video Codecs]]&lt;br /&gt;
[[Category:Formats missing in FFmpeg]]&lt;br /&gt;
[[Category:Screen Capture Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=VP8L&amp;diff=14221</id>
		<title>VP8L</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=VP8L&amp;diff=14221"/>
		<updated>2012-10-29T01:51:26Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Company: [[Google]]&lt;br /&gt;
* Specification: https://developers.google.com/speed/webp/docs/webp_lossless_bitstream_specification&lt;br /&gt;
* Sample implementation: https://code.google.com/p/webm/source/browse/src/dec/vp8l.c?repo=libwebp&amp;amp;r=2fc130157767e529fedd42fad0c70c13804058ab&lt;br /&gt;
&lt;br /&gt;
From Google's [[WebP]] page: &amp;quot;Lossless WebP compression uses already seen image fragments in order to exactly reconstruct new pixels. It can also use a local palette if no interesting match is found. This palette is continuously updated to re-use recent colors. This compression mode is named &amp;quot;VP8L&amp;quot; and shares some common features with the so-called LZ77 compression algorithm.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=WebP&amp;diff=14220</id>
		<title>WebP</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=WebP&amp;diff=14220"/>
		<updated>2012-10-29T01:51:06Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Extension: webp&lt;br /&gt;
* Specification: https://developers.google.com/speed/webp/docs/riff_container&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/image-samples/webp/&lt;br /&gt;
&lt;br /&gt;
'''WebP''' is an image format developed developed by [[Google]]. It uses a [[RIFF]] based container format and employs [[VP8]] for lossy and [[VP8L]] for lossless image compression.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [http://code.google.com/speed/webp/index.html Official website]&lt;br /&gt;
&lt;br /&gt;
[[Category:Image Formats]]&lt;br /&gt;
[[Category:Formats missing in FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=WebP&amp;diff=14219</id>
		<title>WebP</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=WebP&amp;diff=14219"/>
		<updated>2012-10-29T01:50:27Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Extension: webm&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/image-samples/webp/&lt;br /&gt;
&lt;br /&gt;
'''WebP''' is an image format developed developed by [[Google]]. It uses a [[RIFF]] based container format and employs [[VP8]] for lossy and [[VP8L]] for lossless image compression.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [http://code.google.com/speed/webp/index.html Official website]&lt;br /&gt;
&lt;br /&gt;
[[Category:Image Formats]]&lt;br /&gt;
[[Category:Formats missing in FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=VP8L&amp;diff=14218</id>
		<title>VP8L</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=VP8L&amp;diff=14218"/>
		<updated>2012-10-29T01:49:49Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Company: [[Google]]&lt;br /&gt;
* Sample implementation: https://code.google.com/p/webm/source/browse/src/dec/vp8l.c?repo=libwebp&amp;amp;r=2fc130157767e529fedd42fad0c70c13804058ab&lt;br /&gt;
&lt;br /&gt;
From Google's [[WebP]] page: &amp;quot;Lossless WebP compression uses already seen image fragments in order to exactly reconstruct new pixels. It can also use a local palette if no interesting match is found. This palette is continuously updated to re-use recent colors. This compression mode is named &amp;quot;VP8L&amp;quot; and shares some common features with the so-called LZ77 compression algorithm.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=WebM&amp;diff=14217</id>
		<title>WebM</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=WebM&amp;diff=14217"/>
		<updated>2012-10-29T01:48:59Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Company: [[Google]]&lt;br /&gt;
* Website: http://www.webmproject.org/&lt;br /&gt;
&lt;br /&gt;
Taken from the web page: &amp;quot;The WebM project is dedicated to developing a high-quality, open video format for the web that is freely available to everyone.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Core technologies include:&lt;br /&gt;
&lt;br /&gt;
* video codec: [[On2 VP8]] and [[VP8L]]&lt;br /&gt;
* audio codec: [[Vorbis]]&lt;br /&gt;
* container: [[Matroska]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=WebP&amp;diff=14216</id>
		<title>WebP</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=WebP&amp;diff=14216"/>
		<updated>2012-10-29T01:48:46Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Extension: webm&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/image-samples/webp/&lt;br /&gt;
&lt;br /&gt;
'''WebP''' is an image format developed developed by [[Google]]. It uses the [[WebM]] container format and employs [[VP8]] for lossy and [[VP8L]] for lossless image compression.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [http://code.google.com/speed/webp/index.html Official website]&lt;br /&gt;
&lt;br /&gt;
[[Category:Image Formats]]&lt;br /&gt;
[[Category:Formats missing in FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=MUSICompress&amp;diff=14215</id>
		<title>MUSICompress</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=MUSICompress&amp;diff=14215"/>
		<updated>2012-10-29T01:16:27Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Extensions: mcp&lt;br /&gt;
* Company: Soundspace Audio&lt;br /&gt;
* Homepage: [http://members.aol.com/sndspace Soundspace]&lt;br /&gt;
* [https://groups.google.com/forum/?fromgroups=#!topic/comp.music.research/uCu3xAi2k7o Introductory letter from author]&lt;br /&gt;
* Publication: A. Wegener, “MUSICompress: Lossless, lowMIPS audio compression in software and hardware”, in Proc. Int. Conf. Signal Processing  Applications and Technology, San Diego, CA,  USA, 1997 September 14-17.&lt;br /&gt;
&lt;br /&gt;
Implementation also called WaveZip.&lt;br /&gt;
&lt;br /&gt;
[[Category:Audio Codecs]] &lt;br /&gt;
[[Category:Undiscovered Audio Codecs]]&lt;br /&gt;
[[Category:Formats missing in FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Dakx_Wav&amp;diff=14214</id>
		<title>Dakx Wav</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Dakx_Wav&amp;diff=14214"/>
		<updated>2012-10-29T01:08:23Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Description: [http://www.rjamorim.com/rrw/daxwav.html Dakx Wav]&lt;br /&gt;
* Website: http://www.dakx.com/&lt;br /&gt;
* Patent: [http://www.google.com/patents?vid=USPAT5825830 USPAT 5,825,830]&lt;br /&gt;
* Simple decoder/encoder: http://www.dakx.com/software/simdaxg.c&lt;br /&gt;
&lt;br /&gt;
[[Category: Audio Codecs]]&lt;br /&gt;
[[Category: Lossless Audio Codecs]]&lt;br /&gt;
[[Category: Undiscovered Audio Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Sonarc&amp;diff=14213</id>
		<title>Sonarc</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Sonarc&amp;diff=14213"/>
		<updated>2012-10-29T01:06:11Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Description: [http://www.speech.cs.cmu.edu/comp.speech/Section3/Software/sonarc.html Sonarc]&lt;br /&gt;
&lt;br /&gt;
[[Category: Audio Codecs]]&lt;br /&gt;
[[Category: Lossless Audio Codecs]]&lt;br /&gt;
[[Category: Undiscovered Audio Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=WavArc&amp;diff=14212</id>
		<title>WavArc</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=WavArc&amp;diff=14212"/>
		<updated>2012-10-29T01:04:38Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Description: [http://www.firstpr.com.au/audiocomp/lossless/wavarc/ WavArc]&lt;br /&gt;
&lt;br /&gt;
[[Category: Audio Codecs]]&lt;br /&gt;
[[Category: Lossless Audio Codecs]]&lt;br /&gt;
[[Category: Undiscovered Audio Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=AudioZip&amp;diff=14211</id>
		<title>AudioZip</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=AudioZip&amp;diff=14211"/>
		<updated>2012-10-29T01:02:28Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Description: [http://www.rjamorim.com/rrw/audiozip.html AudioZip] [http://web.tiscali.it/mupuxeddu/software/old/audiozip.html AudioZip #2]&lt;br /&gt;
&lt;br /&gt;
[[Category: Audio Codecs]]&lt;br /&gt;
[[Category: Lossless Audio Codecs]]&lt;br /&gt;
[[Category: Undiscovered Audio Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=UEMCLIP&amp;diff=13265</id>
		<title>UEMCLIP</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=UEMCLIP&amp;diff=13265"/>
		<updated>2011-01-30T00:12:28Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Website: http://uemclip.com/English/index_e.htm&lt;br /&gt;
* Company: [[NTT]]&lt;br /&gt;
* Description: http://uemclip.com/doc/HighLevelDescription.pdf&lt;br /&gt;
* Sample: http://uemclip.com/data/UEMCLIP.wav (decoded UEMCLIP to pcm)&lt;br /&gt;
* RTP payload format: https://tools.ietf.org/html/draft-ietf-avt-rtp-uemclip&lt;br /&gt;
&lt;br /&gt;
UEMCLIP (mU-law EMbedded Coder for Low-delay IP communication) is [[μ-law]]-based voice codec. This codec is base of [[G.711.1]] [https://www.ntt-review.jp/archive/ntttechnical.php?contents=ntr200808le1.html].&lt;br /&gt;
&lt;br /&gt;
The RTP payload format document describes the data packets and chapter 4 explains the transcoding possibility between G.711 and UEMCLIP. It is mentioned here that sub layer index 0 is standard G.711 data, but this sub layer block might or might not follow immediately the headers (so the sub layer headers must be parsed).&lt;br /&gt;
&lt;br /&gt;
[[Category:Audio Codecs]]&lt;br /&gt;
[[Category:Vocoders]]&lt;br /&gt;
[[Category:Undiscovered Audio Codecs]]&lt;br /&gt;
[[Category:MDCT Audio Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=UEMCLIP&amp;diff=13264</id>
		<title>UEMCLIP</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=UEMCLIP&amp;diff=13264"/>
		<updated>2011-01-30T00:12:00Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Website: http://uemclip.com/English/index_e.htm&lt;br /&gt;
* Company: [[NTT]]&lt;br /&gt;
* Description: http://uemclip.com/doc/HighLevelDescription.pdf&lt;br /&gt;
* Sample: http://uemclip.com/data/UEMCLIP.wav (decoded UEMCLIP to pcm)&lt;br /&gt;
* RTP payload format: https://tools.ietf.org/html/draft-ietf-avt-rtp-uemclip&lt;br /&gt;
&lt;br /&gt;
UEMCLIP (mU-law EMbedded Coder for Low-delay IP communication) is [[μ-law]]-based voice codec. This codec is base of [[G.711.1]] [https://www.ntt-review.jp/archive/ntttechnical.php?contents=ntr200808le1.html].&lt;br /&gt;
&lt;br /&gt;
The RTP payload format document describes the data packets and chapter 4 explains the transcoding possibility between G.711 and UEMCLIP. It is mentioned here that sub layer index 0 is standard G.711 data, but this sub layer block might or might not follow the headers.&lt;br /&gt;
&lt;br /&gt;
[[Category:Audio Codecs]]&lt;br /&gt;
[[Category:Vocoders]]&lt;br /&gt;
[[Category:Undiscovered Audio Codecs]]&lt;br /&gt;
[[Category:MDCT Audio Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=On2_VP6&amp;diff=12099</id>
		<title>On2 VP6</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=On2_VP6&amp;diff=12099"/>
		<updated>2009-12-22T21:09:30Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* FOURCCs: VP60, VP61, VP62&lt;br /&gt;
* Company: [[On2]]&lt;br /&gt;
* Whitepaper: http://www.on2.com/cms-data/pdf/1125607149174329.pdf ([[Mirrored Files|mirrored]])&lt;br /&gt;
* Samples: [http://samples.mplayerhq.hu/V-codecs/VP6/ http://samples.mplayerhq.hu/V-codecs/VP6/]&lt;br /&gt;
* Nice article form author of the codec (Paul Wilkins): http://www.dspdesignline.com/211100053?printableArticle=true&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
&lt;br /&gt;
An early open source implementation could be found at http://libvp62.sourceforge.net/, but&lt;br /&gt;
was driven underground by On2 on copyright infringement claims.&lt;br /&gt;
&lt;br /&gt;
This specification is said to be incomplete with regard to the On2 VP6 specification.&lt;br /&gt;
&lt;br /&gt;
A decoder implementation may be found in the FFMPEG source file [http://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec/vp6.c?view=markup vp6.c]&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
The aim here is to open this standard with a full description of the bitstream format and decoding process.  Contributors from On2 especially encouraged here, but it is anticipated that this section will be completed through reverse engineering and by people who saw libvp62 source code before it was censored.  &lt;br /&gt;
&lt;br /&gt;
Please do not submit any copyrighted text or code here.&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
VP6 uses unidirectional (&amp;quot;P-frame&amp;quot;) and intra-frame (within the current frame) prediction. Entropy coding is performed using arithmetic  (range?) coding and an 8x8 iDCT is used.  The format supports dynamic adjustment of encoded video resolution. There are three variants of the VP6 codec, VP60 (Simple Profile), VP62 (Advanced Profile) and VP62 (Heightened Sharpness Profile).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Macroblocks ===&lt;br /&gt;
&lt;br /&gt;
Each video frame is composed of an array of 16x16 macroblocks, just like [[MPEG-2]], [[MPEG-4]] parts 2 and 10.  Each [[MB]] (macroblock) takes one of the following modes (&amp;quot;[[MV]]&amp;quot; means &amp;quot;motion vector&amp;quot;):&lt;br /&gt;
&lt;br /&gt;
* Intra MB&lt;br /&gt;
* Inter MB, null MV, previous frame reference&lt;br /&gt;
* Inter MB, differential MV, previous frame reference&lt;br /&gt;
* Inter MB, four MVs, previous frame reference&lt;br /&gt;
* Inter MB, MV 1, previous frame reference&lt;br /&gt;
* Inter MB, MV 2, previous frame reference&lt;br /&gt;
* Inter MB, null MV, bookmarked frame reference&lt;br /&gt;
* Inter MB, differential MV, bookmarked frame reference&lt;br /&gt;
* Inter MB, MV 1, bookmarked frame reference&lt;br /&gt;
* Inter MB, MV 2, bookmarked frame reference&lt;br /&gt;
&lt;br /&gt;
=== Frame Header ===&lt;br /&gt;
&lt;br /&gt;
The frame header commences with a section that is encoded using conventional big-endian bit packing.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Syntax !! Number of bits !! Type !! Semantics&lt;br /&gt;
|- &lt;br /&gt;
| frame_mode || 1 || Enum || 0x0 signifies an intra frame&lt;br /&gt;
|-&lt;br /&gt;
| qp || 6 || Unsigned || Quantization parameter valid range 0..63&lt;br /&gt;
|-&lt;br /&gt;
| marker || 1 || Constant || 0=VP61/62, 1=VP60&lt;br /&gt;
|-&lt;br /&gt;
| if (frame_mode == 0) { || || ||0 equals to INTRA_FRAME&lt;br /&gt;
|-&lt;br /&gt;
| version || 5 || Constant || 6=VP60/61, 7=VP60(Electronic Arts), 8=VP62&lt;br /&gt;
|-&lt;br /&gt;
| version2 || 2 || Constant || 0=VP60, 3=VP61/62&lt;br /&gt;
|-&lt;br /&gt;
| interlace || 1 || Boolean || true (1) means interlace will be used&lt;br /&gt;
|-&lt;br /&gt;
| if (marker==1 or version2==0) {&lt;br /&gt;
|-&lt;br /&gt;
| offset || 16 || Unsigned || secondary buffer offset (bytes releative to start of buffer)&lt;br /&gt;
|-&lt;br /&gt;
| }&lt;br /&gt;
|-&lt;br /&gt;
| dim_y || 8 || Unsigned || Macroblock height of video &lt;br /&gt;
|-&lt;br /&gt;
| dim_x || 8 || Unsigned || Macroblock width of video &lt;br /&gt;
|-&lt;br /&gt;
| render_y || 8 || Unsigned || Display height of video &lt;br /&gt;
|-&lt;br /&gt;
| render_x || 8 || Unsigned || Display width of video&lt;br /&gt;
|-&lt;br /&gt;
| }else{&lt;br /&gt;
|-&lt;br /&gt;
| if (marker==1 or version2==0) {&lt;br /&gt;
|-&lt;br /&gt;
| offset || 16 || Unsigned || secondary buffer offset (bytes releative to start of buffer)&lt;br /&gt;
|-&lt;br /&gt;
| }&lt;br /&gt;
|-&lt;br /&gt;
| }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If dim_x or dim_y have values different from the previous intra frame, then the resolution of the encoded image has changed.&lt;br /&gt;
&lt;br /&gt;
Arithmetic coding commences at the next bit (which should be on a byte boundary):&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Syntax !! Type !! Semantics&lt;br /&gt;
|-&lt;br /&gt;
| if (frame_mode == 0) {&lt;br /&gt;
|-&lt;br /&gt;
| marker1 || Equiprobable 2-bit || Ignored&lt;br /&gt;
|-&lt;br /&gt;
| } else {&lt;br /&gt;
|-&lt;br /&gt;
| bookmark || Equiprobable 1-bit || bookmark == 0x1 means this frame will be the next bookmark frame&lt;br /&gt;
|-&lt;br /&gt;
| filter1 || Equiprobable 1-bit || &lt;br /&gt;
|-&lt;br /&gt;
| if (filter1 == 0x1) {&lt;br /&gt;
|-&lt;br /&gt;
| filter2 || Equiprobable 1-bit || &lt;br /&gt;
|-&lt;br /&gt;
| } &lt;br /&gt;
|-&lt;br /&gt;
| filter_info || Equiprobable 1-bit ||&lt;br /&gt;
|-&lt;br /&gt;
| }&lt;br /&gt;
|-&lt;br /&gt;
| if (frame_mode == 0 &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; filter_info == 0x1) {&lt;br /&gt;
|-&lt;br /&gt;
| filter_mode1 || Equiprobable 1-bit ||&lt;br /&gt;
|-&lt;br /&gt;
| if (filter_mode1 == 0x1) {&lt;br /&gt;
|-&lt;br /&gt;
| filter_threshold1 || Equiprobable 5-bit ||&lt;br /&gt;
|-&lt;br /&gt;
| filter_motion_param || Equiprobable 3-bit ||&lt;br /&gt;
|-&lt;br /&gt;
| } else {&lt;br /&gt;
|-&lt;br /&gt;
| filter_mode2 || Equiprobable 1-bit ||&lt;br /&gt;
|-&lt;br /&gt;
| }&lt;br /&gt;
|-&lt;br /&gt;
| filter_mode3 || Equiprobable 4-bit ||&lt;br /&gt;
|-&lt;br /&gt;
| } &lt;br /&gt;
|-&lt;br /&gt;
| marker2 || Equiprobable 1-bit || Secondary buffer encoding algorithm. 0=Range coding, 1=Huffman coding.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the secondary buffer is present, coeffient symbols are read from the secondary buffer using the algorithm indicated by marker2. VP60 has &amp;quot;the ability to switch to a faster entropy encoding strategy to ensure smooth playback&amp;quot; and &amp;quot;the ability to decode different parts of the bitstream on different sub-processors (for instance the vlx and the core), to ensure better overall system utilization&amp;quot; [http://www.on2.com/cms-data/pdf/1125607149174329.pdf].&lt;br /&gt;
&lt;br /&gt;
=== Entropy Coding ===&lt;br /&gt;
&lt;br /&gt;
Described here is the decoding process for the arithmetically-coded (AC) parts of the bitstream.  VP6 uses a 16-bit [http://en.wikipedia.org/wiki/Range_encoding range coding] scheme to code binary symbols.&lt;br /&gt;
&lt;br /&gt;
The AC decoder maintains three state variables:  ''code'', ''mask'' and ''high''.  &lt;br /&gt;
&lt;br /&gt;
====Initialization====&lt;br /&gt;
&lt;br /&gt;
At initialization, the first two bytes of the AC bitstream are shifted into ''code''.  The variable ''high'' is set to 0xff00.  The variable ''mask'' is set to 0xffff.&lt;br /&gt;
&lt;br /&gt;
====Decoding a Binary Value====&lt;br /&gt;
&lt;br /&gt;
Each binary symbol has an associated probability ''p'' in the range 0 to 0xff.  &lt;br /&gt;
&lt;br /&gt;
A threshold, ''t'', is computed thus:&lt;br /&gt;
&lt;br /&gt;
: ''t'' = 0x100 + ( 0xff00 &amp;amp; ( ( (''high''-0x100) * ''p'' ) &amp;gt;&amp;gt; 8 ) )&lt;br /&gt;
&lt;br /&gt;
Equiprobable binary symbols are treated somewhat differently:&lt;br /&gt;
&lt;br /&gt;
: ''t'' = 0xff00 &amp;amp; ( (''high''+0x100) &amp;gt;&amp;gt; 1 )&lt;br /&gt;
&lt;br /&gt;
The binary value may then be decoded by comparing ''code'' and ''t''.  If ''code'' is less than ''t'', the binary value is decoded as 0.  If ''code'' is equal to or greater than ''t'', the binary value is decoded as 1.&lt;br /&gt;
&lt;br /&gt;
If a 1 was decoded, then&lt;br /&gt;
&lt;br /&gt;
: ''high'' = ''high'' - ''t''&lt;br /&gt;
: ''code'' = ''code'' - ''t''&lt;br /&gt;
&lt;br /&gt;
If a 0 was decoded, then&lt;br /&gt;
&lt;br /&gt;
: ''high'' = ''t''&lt;br /&gt;
&lt;br /&gt;
The following renormalization is now repeated while (''high'' &amp;amp; 0x8000) is non-zero.&lt;br /&gt;
&lt;br /&gt;
: ''high'' = 2 * ''high''&lt;br /&gt;
: ''code'' = 2 * ''code''&lt;br /&gt;
: ''mask'' = 2 * ''mask''&lt;br /&gt;
: if ((''mask'' &amp;amp; 0xff) == 0x00) {&lt;br /&gt;
:: ''code'' = ''code'' | &amp;lt;i&amp;gt;next byte from bitstream&amp;lt;/i&amp;gt;&lt;br /&gt;
:: ''mask'' = ''mask'' | 0xff&lt;br /&gt;
:}&lt;br /&gt;
&lt;br /&gt;
====Decoding an Equiprobable n-bit Integer Value====&lt;br /&gt;
&lt;br /&gt;
Integer values are coded as a big-endian sequence of equiprobable binary values.  To decode an n-bit equiprobable integer value, n equiprobable binary values should be decoded using the sequence above and left-shifted into an integral result variable.&lt;br /&gt;
&lt;br /&gt;
=== Inverse DCT ===&lt;br /&gt;
&lt;br /&gt;
Inverse DCT is performed on 8x8 blocks of pixels. The algorithm used is the same (or a small variation) of the one used for the [[On2 VP3|VP3]] decoder in [[FFmpeg]] [http://www1.mplayerhq.hu/cgi-bin/cvsweb.cgi/ffmpeg/libavcodec/vp3dsp.c?rev=1.9&amp;amp;content-type=text/x-cvsweb-markup&amp;amp;cvsroot=FFMpeg], the original vp3 iDCT code is here [http://svn.xiph.org/trunk/vp32/CoreLibs/CDXV/Vp31/dx/generic/IDctPart.c].&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Codecs]]&lt;br /&gt;
[[Category:Incomplete Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Audible_Audio&amp;diff=11906</id>
		<title>Audible Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Audible_Audio&amp;diff=11906"/>
		<updated>2009-08-20T22:55:12Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Company: Audible.com&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/audible/&lt;br /&gt;
&lt;br /&gt;
Proprietary container format from audible.com.  There is no published specification.  It may contain one of five different encodings which are numbered 1 thru 5.  1-3 are rumored to be [[ACELP.net]] at varying bitrates.  #4 is [[MP3]].  #5 is some unknown Sony format.&lt;br /&gt;
&lt;br /&gt;
* [http://www.digitalpreservation.gov/formats/fdd/fdd000103.shtml Description of the format from the US Library of Congress]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Audible.com Wikipedia entry]&lt;br /&gt;
&lt;br /&gt;
To find files, use Google &amp;quot;filetype:aa audible&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Apparently this project knows everything below this: [http://code.google.com/p/pyaudibletags/source/browse/trunk/pyaudibletags.py PyAudibleTags]&lt;br /&gt;
&lt;br /&gt;
=== File format ===&lt;br /&gt;
&lt;br /&gt;
The file is built up of 5 parts:&lt;br /&gt;
* general header&lt;br /&gt;
* text based metadata&lt;br /&gt;
* some codec related header&lt;br /&gt;
* offset table&lt;br /&gt;
* data&lt;br /&gt;
&lt;br /&gt;
==== General header ====&lt;br /&gt;
&lt;br /&gt;
First 4 bytes is the file size including these four bytes.&lt;br /&gt;
&lt;br /&gt;
==== Text based metadata ====&lt;br /&gt;
&lt;br /&gt;
  number_of_entires (32)&lt;br /&gt;
  skip (8)&lt;br /&gt;
  &lt;br /&gt;
  key_length (32)&lt;br /&gt;
  value_length (32)&lt;br /&gt;
  key (key_length)&lt;br /&gt;
  value (value_length+1)&lt;br /&gt;
&lt;br /&gt;
==== Offset table ====&lt;br /&gt;
  number_of_entries (32)&lt;br /&gt;
&lt;br /&gt;
  type (32) [0 - meta?, 1 - meta?, 2 - audio packets, 3 - meta?, 4 - meta?]&lt;br /&gt;
  offset (32) [must be relative, as the first entry in the list is always 0]&lt;br /&gt;
&lt;br /&gt;
==== Parsing the file ====&lt;br /&gt;
&lt;br /&gt;
This following Ruby code works for parsing the known parts:&lt;br /&gt;
&lt;br /&gt;
  video = File.new(ARGV[0])&lt;br /&gt;
  puts &amp;quot;File size: #{video.read(4).unpack('N')[0].to_i}&amp;quot;&lt;br /&gt;
  video.read(0xb4) # skip header&lt;br /&gt;
  sizes = video.read(4).unpack('N')&lt;br /&gt;
  puts &amp;quot;Number of entires: #{sizes[0].to_i}&amp;quot;&lt;br /&gt;
  video.read(1) # skip&lt;br /&gt;
  (1..sizes[0].to_i).each { |x|&lt;br /&gt;
    sizes = video.read(8).unpack('NN')&lt;br /&gt;
    key = video.read(sizes[0].to_i)&lt;br /&gt;
    value = video.read(sizes[0].to_i+1)&lt;br /&gt;
    puts &amp;quot;#{x} key(#{sizes[0].to_i})=#{key} value(#{sizes[0].to_i)=#{value}&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  video.read(0x6f) # skip&lt;br /&gt;
  sizes = video.read(4).unpack('N')&lt;br /&gt;
  puts &amp;quot;Number of packet table entries: #{sizes[0].to_i}&amp;quot;&lt;br /&gt;
  (1..sizes[0].to_i).each {&lt;br /&gt;
    sizes = video.read(8).unpack('NN')&lt;br /&gt;
    puts &amp;quot;type=#{sizes[0].to_i} offset=#{sizes[1].to_i}&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Sample output (stripped):&lt;br /&gt;
&lt;br /&gt;
  File size: 5762745&lt;br /&gt;
  Number of entries: 19&lt;br /&gt;
  ...&lt;br /&gt;
  13 key(5)=codec value(7)=acelp85&lt;br /&gt;
  16 key(10)=HeaderSeed value(10)=1158166611&lt;br /&gt;
  18 key(9)=HeaderKey value(43)=3759801365 1641076194 2988088058 4282540117&lt;br /&gt;
  19 key(15)=EncryptedBlocks value(5)=39333&lt;br /&gt;
  ...&lt;br /&gt;
  Number of packet table entries: 5461&lt;br /&gt;
  type=0 offset=0&lt;br /&gt;
  type=0 offset=1045&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
[[Category: Container Formats]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=YLC&amp;diff=11894</id>
		<title>YLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=YLC&amp;diff=11894"/>
		<updated>2009-08-20T01:14:15Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Website: http://spring-fragrance.mints.ne.jp/aviutl/ (Japanese)&lt;br /&gt;
* FourCC: YLC0&lt;br /&gt;
&lt;br /&gt;
The website names it as &amp;quot;YUY2 Lossless Codec&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Codecs]]&lt;br /&gt;
[[Category:Lossless Video Codecs]]&lt;br /&gt;
[[Category:Undiscovered Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Audible_Audio&amp;diff=11893</id>
		<title>Audible Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Audible_Audio&amp;diff=11893"/>
		<updated>2009-08-20T00:16:16Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Company: Audible.com&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/audible/&lt;br /&gt;
&lt;br /&gt;
Proprietary container format from audible.com.  There is no published specification.  It may contain one of five different encodings which are numbered 1 thru 5.  1-3 are rumored to be [[ACELP.net]] at varying bitrates.  #4 is [[MP3]].  #5 is some unknown Sony format.&lt;br /&gt;
&lt;br /&gt;
* [http://www.digitalpreservation.gov/formats/fdd/fdd000103.shtml Description of the format from the US Library of Congress]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Audible.com Wikipedia entry]&lt;br /&gt;
&lt;br /&gt;
To find files, use Google &amp;quot;filetype:aa audible&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== File format ===&lt;br /&gt;
&lt;br /&gt;
The file is built up of 5 parts:&lt;br /&gt;
* general header&lt;br /&gt;
* text based metadata&lt;br /&gt;
* some codec related header&lt;br /&gt;
* offset table&lt;br /&gt;
* data&lt;br /&gt;
&lt;br /&gt;
==== General header ====&lt;br /&gt;
&lt;br /&gt;
First 4 bytes is the file size including these four bytes.&lt;br /&gt;
&lt;br /&gt;
==== Text based metadata ====&lt;br /&gt;
&lt;br /&gt;
  number_of_entires (32)&lt;br /&gt;
  skip (8)&lt;br /&gt;
  &lt;br /&gt;
  key_length (32)&lt;br /&gt;
  value_length (32)&lt;br /&gt;
  key (key_length)&lt;br /&gt;
  value (value_length+1)&lt;br /&gt;
&lt;br /&gt;
==== Offset table ====&lt;br /&gt;
  number_of_entries (32)&lt;br /&gt;
&lt;br /&gt;
  type (32) [0 - meta?, 1 - meta?, 2 - audio packets, 3 - meta?, 4 - meta?]&lt;br /&gt;
  offset (32) [must be relative, as the first entry in the list is always 0]&lt;br /&gt;
&lt;br /&gt;
==== Parsing the file ====&lt;br /&gt;
&lt;br /&gt;
This following Ruby code works for parsing the known parts:&lt;br /&gt;
&lt;br /&gt;
  video = File.new(ARGV[0])&lt;br /&gt;
  puts &amp;quot;File size: #{video.read(4).unpack('N')[0].to_i}&amp;quot;&lt;br /&gt;
  video.read(0xb4) # skip header&lt;br /&gt;
  sizes = video.read(4).unpack('N')&lt;br /&gt;
  puts &amp;quot;Number of entires: #{sizes[0].to_i}&amp;quot;&lt;br /&gt;
  video.read(1) # skip&lt;br /&gt;
  (1..sizes[0].to_i).each { |x|&lt;br /&gt;
    sizes = video.read(8).unpack('NN')&lt;br /&gt;
    key = video.read(sizes[0].to_i)&lt;br /&gt;
    value = video.read(sizes[0].to_i+1)&lt;br /&gt;
    puts &amp;quot;#{x} key(#{sizes[0].to_i})=#{key} value(#{sizes[0].to_i)=#{value}&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  video.read(0x6f) # skip&lt;br /&gt;
  sizes = video.read(4).unpack('N')&lt;br /&gt;
  puts &amp;quot;Number of packet table entries: #{sizes[0].to_i}&amp;quot;&lt;br /&gt;
  (1..sizes[0].to_i).each {&lt;br /&gt;
    sizes = video.read(8).unpack('NN')&lt;br /&gt;
    puts &amp;quot;type=#{sizes[0].to_i} offset=#{sizes[1].to_i}&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Sample output (stripped):&lt;br /&gt;
&lt;br /&gt;
  File size: 5762745&lt;br /&gt;
  Number of entries: 19&lt;br /&gt;
  ...&lt;br /&gt;
  13 key(5)=codec value(7)=acelp85&lt;br /&gt;
  16 key(10)=HeaderSeed value(10)=1158166611&lt;br /&gt;
  18 key(9)=HeaderKey value(43)=3759801365 1641076194 2988088058 4282540117&lt;br /&gt;
  19 key(15)=EncryptedBlocks value(5)=39333&lt;br /&gt;
  ...&lt;br /&gt;
  Number of packet table entries: 5461&lt;br /&gt;
  type=0 offset=0&lt;br /&gt;
  type=0 offset=1045&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
[[Category: Container Formats]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Audible_Audio&amp;diff=11892</id>
		<title>Audible Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Audible_Audio&amp;diff=11892"/>
		<updated>2009-08-20T00:07:32Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Company: Audible.com&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/audible/&lt;br /&gt;
&lt;br /&gt;
Proprietary container format from audible.com.  There is no published specification.  It may contain one of five different encodings which are numbered 1 thru 5.  1-3 are rumored to be [[ACELP.net]] at varying bitrates.  #4 is [[MP3]].  #5 is some unknown Sony format.&lt;br /&gt;
&lt;br /&gt;
* [http://www.audible.com/formats Audible.com FAQ]&lt;br /&gt;
* [http://www.digitalpreservation.gov/formats/fdd/fdd000103.shtml Description of the format from the US Library of Congress]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Audible.com Wikipedia entry]&lt;br /&gt;
&lt;br /&gt;
=== File format ===&lt;br /&gt;
&lt;br /&gt;
The file is built up of 5 parts:&lt;br /&gt;
* general header&lt;br /&gt;
* text based metadata&lt;br /&gt;
* some codec related header&lt;br /&gt;
* offset table&lt;br /&gt;
* data&lt;br /&gt;
&lt;br /&gt;
==== General header ====&lt;br /&gt;
&lt;br /&gt;
First 4 bytes is the file size including these four bytes.&lt;br /&gt;
&lt;br /&gt;
==== Text based metadata ====&lt;br /&gt;
&lt;br /&gt;
  number_of_entires (32)&lt;br /&gt;
  skip (8)&lt;br /&gt;
  &lt;br /&gt;
  key_length (32)&lt;br /&gt;
  value_length (32)&lt;br /&gt;
  key (key_length)&lt;br /&gt;
  value (value_length+1)&lt;br /&gt;
&lt;br /&gt;
==== Offset table ====&lt;br /&gt;
  number_of_entries (32)&lt;br /&gt;
&lt;br /&gt;
  type (32) [0 - meta?, 1 - meta?, 2 - audio packets, 3 - meta?, 4 - meta?]&lt;br /&gt;
  offset (32) [must be relative, as the first entry in the list is always 0]&lt;br /&gt;
&lt;br /&gt;
==== Parsing the file ====&lt;br /&gt;
&lt;br /&gt;
This following Ruby code works for parsing the known parts:&lt;br /&gt;
&lt;br /&gt;
  video = File.new(ARGV[0])&lt;br /&gt;
  puts &amp;quot;File size: #{video.read(4).unpack('N')[0].to_i}&amp;quot;&lt;br /&gt;
  video.read(0xb4) # skip header&lt;br /&gt;
  sizes = video.read(4).unpack('N')&lt;br /&gt;
  puts &amp;quot;Number of entires: #{sizes[0].to_i}&amp;quot;&lt;br /&gt;
  video.read(1) # skip&lt;br /&gt;
  (1..sizes[0].to_i).each { |x|&lt;br /&gt;
    sizes = video.read(8).unpack('NN')&lt;br /&gt;
    key = video.read(sizes[0].to_i)&lt;br /&gt;
    value = video.read(sizes[0].to_i+1)&lt;br /&gt;
    puts &amp;quot;#{x} key(#{sizes[0].to_i})=#{key} value(#{sizes[0].to_i)=#{value}&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  video.read(0x6f) # skip&lt;br /&gt;
  sizes = video.read(4).unpack('N')&lt;br /&gt;
  puts &amp;quot;Number of packet table entries: #{sizes[0].to_i}&amp;quot;&lt;br /&gt;
  (1..sizes[0].to_i).each {&lt;br /&gt;
    sizes = video.read(8).unpack('NN')&lt;br /&gt;
    puts &amp;quot;type=#{sizes[0].to_i} offset=#{sizes[1].to_i}&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Sample output (stripped):&lt;br /&gt;
&lt;br /&gt;
  File size: 5762745&lt;br /&gt;
  Number of entries: 19&lt;br /&gt;
  ...&lt;br /&gt;
  13 key(5)=codec value(7)=acelp85&lt;br /&gt;
  16 key(10)=HeaderSeed value(10)=1158166611&lt;br /&gt;
  18 key(9)=HeaderKey value(43)=3759801365 1641076194 2988088058 4282540117&lt;br /&gt;
  19 key(15)=EncryptedBlocks value(5)=39333&lt;br /&gt;
  ...&lt;br /&gt;
  Number of packet table entries: 5461&lt;br /&gt;
  type=0 offset=0&lt;br /&gt;
  type=0 offset=1045&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
[[Category: Container Formats]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Audible_Audio&amp;diff=11891</id>
		<title>Audible Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Audible_Audio&amp;diff=11891"/>
		<updated>2009-08-20T00:06:23Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Company: Audible.com&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/audible/&lt;br /&gt;
&lt;br /&gt;
Proprietary container format from audible.com.  There is no published specification.  It may contain one of five different encodings which are numbered 1 thru 5.  1-3 are rumored to be [[ACELP.net]] at varying bitrates.  #4 is [[MP3]].  #5 is some unknown Sony format.&lt;br /&gt;
&lt;br /&gt;
* [http://www.audible.com/formats Audible.com FAQ]&lt;br /&gt;
* [http://www.digitalpreservation.gov/formats/fdd/fdd000103.shtml Description of the format from the US Library of Congress]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Audible.com Wikipedia entry]&lt;br /&gt;
&lt;br /&gt;
=== File format ===&lt;br /&gt;
&lt;br /&gt;
The file is built up of 5 parts:&lt;br /&gt;
* general header&lt;br /&gt;
* text based metadata&lt;br /&gt;
* some codec related header&lt;br /&gt;
* offset table&lt;br /&gt;
* data&lt;br /&gt;
&lt;br /&gt;
==== General header ====&lt;br /&gt;
&lt;br /&gt;
First 4 bytes is the file size including these four bytes.&lt;br /&gt;
&lt;br /&gt;
==== Text based metadata ====&lt;br /&gt;
&lt;br /&gt;
  number_of_entires (32)&lt;br /&gt;
  skip (8)&lt;br /&gt;
  &lt;br /&gt;
  key_length (32)&lt;br /&gt;
  value_length (32)&lt;br /&gt;
  key (key_length)&lt;br /&gt;
  value (value_length+1)&lt;br /&gt;
&lt;br /&gt;
==== Offset table ====&lt;br /&gt;
  number_of_entries (32)&lt;br /&gt;
&lt;br /&gt;
  type (32) [0 - meta?, 1 - meta?, 2 - audio packets, 3 - meta?, 4 - meta?]&lt;br /&gt;
  offset (32) [must be relative, as the first entry in the list is always 0]&lt;br /&gt;
&lt;br /&gt;
==== Parsing the file ====&lt;br /&gt;
&lt;br /&gt;
This following Ruby code works for parsing the known parts:&lt;br /&gt;
&lt;br /&gt;
  video = File.new(ARGV[0])&lt;br /&gt;
  puts &amp;quot;File size: #{video.read(4).unpack('N')[0].ti_i}&amp;quot;&lt;br /&gt;
  video.read(0xb4) # skip header&lt;br /&gt;
  sizes = video.read(4).unpack('N')&lt;br /&gt;
  puts &amp;quot;Number of entires: #{sizes[0].to_i}&amp;quot;&lt;br /&gt;
  video.read(1) # skip&lt;br /&gt;
  (1..sizes[0].to_i).each { |x|&lt;br /&gt;
    sizes = video.read(8).unpack('NN')&lt;br /&gt;
    key = video.read(sizes[0].to_i)&lt;br /&gt;
    value = video.read(sizes[0].to_i+1)&lt;br /&gt;
    puts &amp;quot;#{x} key(#{sizes[0].to_i})=#{key} value(#{sizes[0].to_i)=#{value}&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  video.read(0x6f) # skip&lt;br /&gt;
  sizes = video.read(4).unpack('N')&lt;br /&gt;
  puts &amp;quot;Number of packet table entries: #{sizes[0].to_i}&amp;quot;&lt;br /&gt;
  (1..sizes[0].to_i).each {&lt;br /&gt;
    sizes = video.read(8).unpack('NN')&lt;br /&gt;
    puts &amp;quot;type=#{sizes[0].to_i} offset=#{sizes[1].to_i}&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Sample output (stripped):&lt;br /&gt;
&lt;br /&gt;
  13 key(5)=codec value(7)=acelp85&lt;br /&gt;
  16 key(10)=HeaderSeed value(10)=1158166611&lt;br /&gt;
  18 key(9)=HeaderKey value(43)=3759801365 1641076194 2988088058 4282540117&lt;br /&gt;
  19 key(15)=EncryptedBlocks value(5)=39333&lt;br /&gt;
&lt;br /&gt;
Probably a seek table starts at 0x5f8:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Container Formats]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Audible_Audio&amp;diff=11890</id>
		<title>Audible Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Audible_Audio&amp;diff=11890"/>
		<updated>2009-08-19T23:38:54Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Company: Audible.com&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/audible/&lt;br /&gt;
&lt;br /&gt;
Proprietary container format from audible.com.  There is no published specification.  It may contain one of five different encodings which are numbered 1 thru 5.  1-3 are rumored to be [[ACELP.net]] at varying bitrates.  #4 is [[MP3]].  #5 is some unknown Sony format.&lt;br /&gt;
&lt;br /&gt;
* [http://www.audible.com/formats Audible.com FAQ]&lt;br /&gt;
* [http://www.digitalpreservation.gov/formats/fdd/fdd000103.shtml Description of the format from the US Library of Congress]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Audible.com Wikipedia entry]&lt;br /&gt;
&lt;br /&gt;
==== Parsing metadata ====&lt;br /&gt;
&lt;br /&gt;
This following Ruby code works for parsing the metadata on the only sample available. This table starts at 0xb8.&lt;br /&gt;
&lt;br /&gt;
  video = File.new(ARGV[0])&lt;br /&gt;
  video.read(184) # skip header&lt;br /&gt;
  sizes = video.read(4).unpack('N')&lt;br /&gt;
  puts &amp;quot;Number of entires: #{sizes[0].to_i}&amp;quot;&lt;br /&gt;
  video.read(1) # skip&lt;br /&gt;
  (1..sizes[0].to_i).each { |x|&lt;br /&gt;
    sizes = video.read(8).unpack('NN')&lt;br /&gt;
    key = video.read(sizes[0].to_i)&lt;br /&gt;
    value = video.read(sizes[0].to_i+1)&lt;br /&gt;
    puts &amp;quot;#{x} key(#{sizes[0].to_i})=#{key} value(#{sizes[0].to_i)=#{value}&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Sample output (stripped):&lt;br /&gt;
&lt;br /&gt;
  13 key(5)=codec value(7)=acelp85&lt;br /&gt;
  16 key(10)=HeaderSeed value(10)=1158166611&lt;br /&gt;
  18 key(9)=HeaderKey value(43)=3759801365 1641076194 2988088058 4282540117&lt;br /&gt;
  19 key(15)=EncryptedBlocks value(5)=39333&lt;br /&gt;
&lt;br /&gt;
Probably a seek table starts at 0x5f8:&lt;br /&gt;
&lt;br /&gt;
  type(32) [1 - meta?, 2 - audio packets, 3 - meta?, 4 - meta?]&lt;br /&gt;
  offset(32) [must be relative, as the first entry in the list is always 0]&lt;br /&gt;
&lt;br /&gt;
[[Category: Container Formats]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Audible_Audio&amp;diff=11889</id>
		<title>Audible Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Audible_Audio&amp;diff=11889"/>
		<updated>2009-08-19T23:37:56Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Company: Audible.com&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/audible/&lt;br /&gt;
&lt;br /&gt;
Proprietary container format from audible.com.  There is no published specification.  It may contain one of five different encodings which are numbered 1 thru 5.  1-3 are rumored to be [[ACELP.net]] at varying bitrates.  #4 is [[MP3]].  #5 is some unknown Sony format.&lt;br /&gt;
&lt;br /&gt;
* [http://www.audible.com/formats Audible.com FAQ]&lt;br /&gt;
* [http://www.digitalpreservation.gov/formats/fdd/fdd000103.shtml Description of the format from the US Library of Congress]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Audible.com Wikipedia entry]&lt;br /&gt;
&lt;br /&gt;
==== Parsing metadata ====&lt;br /&gt;
&lt;br /&gt;
This following Ruby code works for parsing the metadata on the only sample available. This table starts at 0xb8.&lt;br /&gt;
&lt;br /&gt;
  video = File.new(ARGV[0])&lt;br /&gt;
&lt;br /&gt;
  video.read(184) # skip header&lt;br /&gt;
  sizes = video.read(4).unpack('N')&lt;br /&gt;
  puts &amp;quot;Number of entires: #{sizes[0].to_i}&amp;quot;&lt;br /&gt;
  video.read(1) # skip&lt;br /&gt;
&lt;br /&gt;
  (1..sizes[0].to_i).each { |x|&lt;br /&gt;
    sizes = video.read(8).unpack('NN')&lt;br /&gt;
    key = video.read(sizes[0].to_i)&lt;br /&gt;
    value = video.read(sizes[0].to_i+1)&lt;br /&gt;
    puts &amp;quot;#{x} key(#{sizes[0].to_i})=#{key} value(#{sizes[0].to_i)=#{value}&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Sample output (stripped):&lt;br /&gt;
&lt;br /&gt;
  13 key(5)=codec value(7)=acelp85&lt;br /&gt;
  16 key(10)=HeaderSeed value(10)=1158166611&lt;br /&gt;
  18 key(9)=HeaderKey value(43)=3759801365 1641076194 2988088058 4282540117&lt;br /&gt;
  19 key(15)=EncryptedBlocks value(5)=39333&lt;br /&gt;
&lt;br /&gt;
Probably a seek table starts at 0x5f8:&lt;br /&gt;
&lt;br /&gt;
  type(32) [1 - meta?, 2 - audio packets, 3 - meta?, 4 - meta?]&lt;br /&gt;
  offset(32) [must be relative, as the first entry in the list is always 0]&lt;br /&gt;
&lt;br /&gt;
[[Category: Container Formats]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Audible_Audio&amp;diff=11888</id>
		<title>Audible Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Audible_Audio&amp;diff=11888"/>
		<updated>2009-08-19T23:26:57Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Company: Audible.com&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/audible/&lt;br /&gt;
&lt;br /&gt;
Proprietary container format from audible.com.  There is no published specification.  It may contain one of five different encodings which are numbered 1 thru 5.  1-3 are rumored to be [[ACELP.net]] at varying bitrates.  #4 is [[MP3]].  #5 is some unknown Sony format.&lt;br /&gt;
&lt;br /&gt;
* [http://www.audible.com/formats Audible.com FAQ]&lt;br /&gt;
* [http://www.digitalpreservation.gov/formats/fdd/fdd000103.shtml Description of the format from the US Library of Congress]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Audible.com Wikipedia entry]&lt;br /&gt;
&lt;br /&gt;
==== Parsing metadata ====&lt;br /&gt;
&lt;br /&gt;
This following Ruby code works for parsing the metadata on the only sample available. This table starts at 0xbd.&lt;br /&gt;
&lt;br /&gt;
  video = File.new(ARGV[0])&lt;br /&gt;
  video.read(189) # skip header&lt;br /&gt;
  (1..19).each { |x|&lt;br /&gt;
    sizes = video.read(8).unpack('NN')&lt;br /&gt;
    key = video.read(sizes[0].to_i)&lt;br /&gt;
    value = video.read(sizes[0].to_i+1)&lt;br /&gt;
    puts &amp;quot;#{x} key(#{sizes[0].to_i})=#{key} value(#{sizes[0].to_i)=#{value}&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Sample output (stripped):&lt;br /&gt;
&lt;br /&gt;
  13 key(5)=codec value(7)=acelp85&lt;br /&gt;
  16 key(10)=HeaderSeed value(10)=1158166611&lt;br /&gt;
  18 key(9)=HeaderKey value(43)=3759801365 1641076194 2988088058 4282540117&lt;br /&gt;
  19 key(15)=EncryptedBlocks value(5)=39333&lt;br /&gt;
&lt;br /&gt;
Probably a seek table starts at 0x5f8:&lt;br /&gt;
&lt;br /&gt;
  type(32) [1 - meta?, 2 - audio packets, 3 - meta?, 4 - meta?]&lt;br /&gt;
  offset(32) [must be relative, as the first entry in the list is always 0]&lt;br /&gt;
&lt;br /&gt;
[[Category: Container Formats]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Audible_Audio&amp;diff=11887</id>
		<title>Audible Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Audible_Audio&amp;diff=11887"/>
		<updated>2009-08-19T23:08:40Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Company: Audible.com&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/audible/&lt;br /&gt;
&lt;br /&gt;
Proprietary container format from audible.com.  There is no published specification.  It may contain one of five different encodings which are numbered 1 thru 5.  1-3 are rumored to be [[ACELP.net]] at varying bitrates.  #4 is [[MP3]].  #5 is some unknown Sony format.&lt;br /&gt;
&lt;br /&gt;
* [http://www.audible.com/formats Audible.com FAQ]&lt;br /&gt;
* [http://www.digitalpreservation.gov/formats/fdd/fdd000103.shtml Description of the format from the US Library of Congress]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Audible.com Wikipedia entry]&lt;br /&gt;
&lt;br /&gt;
==== Parsing metadata ====&lt;br /&gt;
&lt;br /&gt;
This following Ruby code works for parsing the metadata on the only sample available:&lt;br /&gt;
&lt;br /&gt;
  video = File.new(ARGV[0])&lt;br /&gt;
  video.read(189) # skip header&lt;br /&gt;
  (1..19).each { |x|&lt;br /&gt;
    sizes = video.read(8).unpack('NN')&lt;br /&gt;
    key = video.read(sizes[0].to_i)&lt;br /&gt;
    value = video.read(sizes[0].to_i+1)&lt;br /&gt;
    puts &amp;quot;#{x} key(#{sizes[0].to_i})=#{key} value(#{sizes[0].to_i)=#{value}&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Sample output (stripped):&lt;br /&gt;
&lt;br /&gt;
  13 key(5)=codec value(7)=acelp85&lt;br /&gt;
  16 key(10)=HeaderSeed value(10)=1158166611&lt;br /&gt;
  18 key(9)=HeaderKey value(43)=3759801365 1641076194 2988088058 4282540117&lt;br /&gt;
  19 key(15)=EncryptedBlocks value(5)=39333&lt;br /&gt;
&lt;br /&gt;
[[Category: Container Formats]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Audible_Audio&amp;diff=11886</id>
		<title>Audible Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Audible_Audio&amp;diff=11886"/>
		<updated>2009-08-19T23:07:04Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Proprietary container format from audible.com.  There is no published specification.  It may contain one of five different encodings which are numbered 1 thru 5.  1-3 are rumored to be [[ACELP.net]] at varying bitrates.  #4 is [[MP3]].  #5 is some unknown Sony format.&lt;br /&gt;
&lt;br /&gt;
* [http://www.audible.com/formats Audible.com FAQ]&lt;br /&gt;
* [http://www.digitalpreservation.gov/formats/fdd/fdd000103.shtml Description of the format from the US Library of Congress]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Audible.com Wikipedia entry]&lt;br /&gt;
&lt;br /&gt;
==== Parsing metadata ====&lt;br /&gt;
&lt;br /&gt;
This following Ruby code works for parsing the metadata on the only sample available:&lt;br /&gt;
&lt;br /&gt;
  video = File.new(ARGV[0])&lt;br /&gt;
  video.read(189) # skip header&lt;br /&gt;
  (1..19).each { |x|&lt;br /&gt;
    sizes = video.read(8).unpack('NN')&lt;br /&gt;
    key = video.read(sizes[0].to_i)&lt;br /&gt;
    value = video.read(sizes[0].to_i+1)&lt;br /&gt;
    puts &amp;quot;#{x} key(#{sizes[0].to_i})=#{key} value(#{sizes[0].to_i)=#{value}&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Sample output (stripped):&lt;br /&gt;
&lt;br /&gt;
  13 key(5)=codec value(7)=acelp85&lt;br /&gt;
  16 key(10)=HeaderSeed value(10)=1158166611&lt;br /&gt;
  18 key(9)=HeaderKey value(43)=3759801365 1641076194 2988088058 4282540117&lt;br /&gt;
  19 key(15)=EncryptedBlocks value(5)=39333&lt;br /&gt;
&lt;br /&gt;
[[Category: Container Formats]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=VGM_Video&amp;diff=10959</id>
		<title>VGM Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=VGM_Video&amp;diff=10959"/>
		<updated>2009-01-24T21:28:41Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Company: [[XVD|XVD Corporation (DigitalStream-USA)]]&lt;br /&gt;
* FourCC: VGMV&lt;br /&gt;
&lt;br /&gt;
VGM Video (aka VT2k aka BigBits) is video codec for realtime encoding.&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Codecs]] &lt;br /&gt;
[[Category:Undiscovered Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Muzip&amp;diff=10958</id>
		<title>Muzip</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Muzip&amp;diff=10958"/>
		<updated>2009-01-24T18:07:49Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Extensions: mzp, dat, tlp&lt;br /&gt;
* Company: [[XVD|Alaris (XVD Corporation)]]&lt;br /&gt;
* Sample: http://www.ila-ila.com/xvd-hist/sites/lab1454/eng/products/NCitySng12.mzp&lt;br /&gt;
&lt;br /&gt;
This format is similar to wav but not same.&lt;br /&gt;
&lt;br /&gt;
Decoder is here: http://www.ila-ila.com/xvd-hist/sites/lab1454/eng/products/muzip1.jar&lt;br /&gt;
&lt;br /&gt;
==Header==&lt;br /&gt;
 0..3 &amp;quot;RIFF&amp;quot;&lt;br /&gt;
 4..7 unknown (file size? seems not)&lt;br /&gt;
 8..11 &amp;quot;WAVE&amp;quot;&lt;br /&gt;
 12..15 &amp;quot;fmt\0&amp;quot; (note: not space, it's null)&lt;br /&gt;
 16..19 unknown (fmt\0 size? seems not)&lt;br /&gt;
 20..21 unknown (format id? &amp;quot;0301&amp;quot;. seems not)&lt;br /&gt;
 22 number of channels&lt;br /&gt;
 23 unknown (rest of number of channels?)&lt;br /&gt;
 24..27 sampling rate&lt;br /&gt;
 28..31 (byte per sec?)&lt;br /&gt;
 32..33 (block size?)&lt;br /&gt;
 34..35 (bit per sample?)&lt;br /&gt;
 36..(\0) codec name (&amp;quot;CTP03&amp;quot;, &amp;quot;CTP04&amp;quot;, &amp;quot;CTP05&amp;quot;, &amp;quot;CTP06&amp;quot;)&lt;br /&gt;
 42..43 unknown (rest of codec name or not?)&lt;br /&gt;
 44 coefficients(compression ratio) (8-13 -&amp;gt; [8,12,15,16,24,10])&lt;br /&gt;
 45 key frame&lt;br /&gt;
 46 variable bitrate&lt;br /&gt;
 47 reserved&lt;br /&gt;
 48..51 unknown&lt;br /&gt;
 52..55 &amp;quot;data&amp;quot;&lt;br /&gt;
 56..59 total size&lt;br /&gt;
&lt;br /&gt;
[[Category:Audio Codecs]] &lt;br /&gt;
[[Category:Undiscovered Audio Codecs]]&lt;br /&gt;
[[Category:Formats missing in FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Alaris_VideoGramPiX&amp;diff=10957</id>
		<title>Alaris VideoGramPiX</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Alaris_VideoGramPiX&amp;diff=10957"/>
		<updated>2009-01-24T18:06:08Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* FourCCs: VGPX, VTLP&lt;br /&gt;
* Company: [[Alaris]]&lt;br /&gt;
* Samples: &lt;br /&gt;
** VTLP: http://samples.mplayerhq.hu/V-codecs/VTLP-VGPX/&lt;br /&gt;
&lt;br /&gt;
Sample Java player available here: http://www.ila-ila.com/xvd-hist/sites/vgram/index.htm&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Codecs]]&lt;br /&gt;
[[Category:Undiscovered Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Alaris&amp;diff=10956</id>
		<title>Alaris</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Alaris&amp;diff=10956"/>
		<updated>2009-01-24T18:05:38Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[XVD]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=XVD&amp;diff=10955</id>
		<title>XVD</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=XVD&amp;diff=10955"/>
		<updated>2009-01-24T18:05:31Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.ila-ila.com/xvd-hist/ Unofficial history of XVD] including a [http://www.ila-ila.com/xvd-hist/timeline.html timeline] and saved pages of the companies.&lt;br /&gt;
&lt;br /&gt;
XVD is connected to Alaris, Rightbits and Videogram. Alaris' most known codec is [[VGPX|VideoGram]]&lt;br /&gt;
&lt;br /&gt;
== XVD Video Codecs ==&lt;br /&gt;
&lt;br /&gt;
* [[VGM Video]]&lt;br /&gt;
&lt;br /&gt;
== XVD Audio Codecs ==&lt;br /&gt;
&lt;br /&gt;
* [[VGM Audio]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Multimedia-related Companies]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=XVD&amp;diff=10954</id>
		<title>XVD</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=XVD&amp;diff=10954"/>
		<updated>2009-01-24T18:04:05Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.ila-ila.com/xvd-hist/ Unofficial history of XVD] including a [http://www.ila-ila.com/xvd-hist/timeline.html timeline] and saved pages of the companies.&lt;br /&gt;
&lt;br /&gt;
XVD is connected to Alaris, Rightbits and Videogram.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XVD Video Codecs ==&lt;br /&gt;
&lt;br /&gt;
* [[VGM Video]]&lt;br /&gt;
&lt;br /&gt;
== XVD Audio Codecs ==&lt;br /&gt;
&lt;br /&gt;
* [[VGM Audio]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Multimedia-related Companies]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Alaris_VideoGramPiX&amp;diff=10953</id>
		<title>Alaris VideoGramPiX</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Alaris_VideoGramPiX&amp;diff=10953"/>
		<updated>2009-01-24T18:03:15Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* FourCCs: VGPX, VTLP&lt;br /&gt;
* Company: [[Alaris]]&lt;br /&gt;
* Samples: &lt;br /&gt;
** VTLP: http://samples.mplayerhq.hu/V-codecs/VTLP-VGPX/&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Codecs]]&lt;br /&gt;
[[Category:Undiscovered Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Alaris_VideoGramPiX&amp;diff=10952</id>
		<title>Alaris VideoGramPiX</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Alaris_VideoGramPiX&amp;diff=10952"/>
		<updated>2009-01-24T18:02:52Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* FourCCs: VGPX, VTLP&lt;br /&gt;
* Company: [Alaris]&lt;br /&gt;
* Samples: &lt;br /&gt;
** VTLP: http://samples.mplayerhq.hu/V-codecs/VTLP-VGPX/&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Codecs]]&lt;br /&gt;
[[Category:Undiscovered Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=VGM_Video&amp;diff=10951</id>
		<title>VGM Video</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=VGM_Video&amp;diff=10951"/>
		<updated>2009-01-24T17:50:15Z</updated>

		<summary type="html">&lt;p&gt;Alex: VT2k = BigBits&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Company: XVD Corporation (DigitalStream-USA)&lt;br /&gt;
* FourCC: VGMV&lt;br /&gt;
&lt;br /&gt;
VGM Video (aka VT2k aka BigBits) is video codec for realtime encoding.&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Codecs]] &lt;br /&gt;
[[Category:Undiscovered Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Metal_Gear_Solid_VP3&amp;diff=10950</id>
		<title>Metal Gear Solid VP3</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Metal_Gear_Solid_VP3&amp;diff=10950"/>
		<updated>2009-01-24T17:37:50Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Extension: ''none (extracted from a game resource file)''&lt;br /&gt;
* Company: Silicon Knights&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/game-formats/mgs1-vp3/&lt;br /&gt;
&lt;br /&gt;
The GameCube version of Konami's [http://www.mobygames.com/game/gamecube/metal-gear-solid-the-twin-snakes Metal Gear Solid: The Twin Snakes], developed by Silicon Knights, uses files that are suspected to contain [[VP3]] video data. Be advised that the file format described here explains files as extracted by [http://sourceforge.net/projects/extractor-gtk Extractor-GTK].&lt;br /&gt;
&lt;br /&gt;
== File Format ==&lt;br /&gt;
All multi-byte numbers are big-endian. &lt;br /&gt;
&lt;br /&gt;
The files are comprised of a series of chunks. Each chunk has the following layout:&lt;br /&gt;
&lt;br /&gt;
 bytes 0-3    0x0000000E&lt;br /&gt;
 bytes 4-7    total length of the chunk&lt;br /&gt;
 bytes 8-11   unknown; might be reserved and set to 0&lt;br /&gt;
 bytes 12-15  length of the payload&lt;br /&gt;
 bytes 16..   payload&lt;br /&gt;
&lt;br /&gt;
Note that the chunks are 0-padded to 16-byte boundaries. Thus, the length of the payload + 16 does not necessarily equal the total length of the chunk.&lt;br /&gt;
&lt;br /&gt;
The first chunk contains header information which has the following format:&lt;br /&gt;
&lt;br /&gt;
 bytes 0-3    close to the total size of the file, but not exact and should not be used&lt;br /&gt;
 bytes 4-19   unknown&lt;br /&gt;
 bytes 20-23  video width in pixels&lt;br /&gt;
 bytes 24-27  video height in pixels&lt;br /&gt;
 bytes 28-35  unknown&lt;br /&gt;
 bytes 36-39  possibly the frame rate (18 fps?)&lt;br /&gt;
 bytes 40-43  video codec FourCC ('13PV', VP31 spelled backwards)&lt;br /&gt;
 bytes 44-63  unknown&lt;br /&gt;
&lt;br /&gt;
The remainder of the chunks apparently contain raw VP31 data.&lt;br /&gt;
&lt;br /&gt;
[[Category:Game Formats]]&lt;br /&gt;
[[Category:Formats missing in FFmpeg]]&lt;br /&gt;
[[Category:Undiscovered Game Formats]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=ACT&amp;diff=9107</id>
		<title>ACT</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=ACT&amp;diff=9107"/>
		<updated>2007-11-20T02:43:57Z</updated>

		<summary type="html">&lt;p&gt;Alex: G729A wikipedia link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Samples: http://samples.mplayerhq.hu/A-codecs/act/&lt;br /&gt;
* Working decoder: http://www.netac.com/Download/C635/C635%20Driver&amp;amp;Tools.zip&lt;br /&gt;
&lt;br /&gt;
ACT files are created by [http://en.wikipedia.org/wiki/Chinese_MP4/MTV_Player '''Chinese-made portable MP3 players'''] when recording from the internal microphone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ACT files uses the [http://en.wikipedia.org/wiki/G.729a G729A] speech compression codec. There are 3 different ways to record to this format from a player.&lt;br /&gt;
&lt;br /&gt;
*Fine Rec&lt;br /&gt;
*Long Rec&lt;br /&gt;
*Long Vox, in this mode the player will record when voice activated.&lt;br /&gt;
&lt;br /&gt;
==ACT File Format==&lt;br /&gt;
&lt;br /&gt;
=== Bitstream ===&lt;br /&gt;
&lt;br /&gt;
These 3 modes map to 2 bitstream formats, the Fine and Long bitstream formats.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;border-collapse: collapse; border-style: dashed; border-color: #2f6fab;&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#f0f0f0&amp;quot; |&lt;br /&gt;
! Name!! Sample rate!! Frame size!! Frames per chunk !! Chunk size !! Padding bytes&lt;br /&gt;
|-&lt;br /&gt;
|Fine||8000||10||51||510||2&lt;br /&gt;
|-&lt;br /&gt;
|Long||4400||22||23||506||6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Files are always aligned to 512 bytes boundary and contains 512 byte header and chunks of the same size. Each chunk consists of fixed number of frames and padding bytes.&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;border-collapse: collapse; border-style: dashed; border-color: #2f6fab;&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#f0f0f0&amp;quot; |&lt;br /&gt;
! Name !! Offset !! Bytes !! Description&lt;br /&gt;
|-&lt;br /&gt;
|riff tag||0||4||'RIFF'&lt;br /&gt;
|-&lt;br /&gt;
|riff size||4||4||data_size + 36&lt;br /&gt;
|-&lt;br /&gt;
|wave tag||8||4||'WAVE'&lt;br /&gt;
|-&lt;br /&gt;
|fmt tag||12||4||'fmt '&lt;br /&gt;
|-&lt;br /&gt;
|wave header size||16||4||Always 0x10&lt;br /&gt;
|-&lt;br /&gt;
|wave format||20||2||PCM's 0x01&amp;lt;ref name=&amp;quot;pcm&amp;quot;&amp;gt;This collides with the values for regular 16bits PCM&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|channels||22||2||0x01(mono)&lt;br /&gt;
|-&lt;br /&gt;
|sample rate||24||4||8000 or 4400&lt;br /&gt;
|-&lt;br /&gt;
|bit rate||28||4||16000 or ?&lt;br /&gt;
|-&lt;br /&gt;
|block align||32||2||Always 0x02&lt;br /&gt;
|-&lt;br /&gt;
|bits per sample||34||2||Always 16&lt;br /&gt;
|-&lt;br /&gt;
|data_tag||36||4||'data'&lt;br /&gt;
|-&lt;br /&gt;
|data_size||40||4||chunks_count * 8 * chunk_size&amp;lt;ref name=&amp;quot;chunk_size&amp;quot;&amp;gt; chunk_size is determined from the bitstream table.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|reserved||44||212||filled by zero&lt;br /&gt;
|-&lt;br /&gt;
|act tag||256||1||Always 0x84&lt;br /&gt;
|-&lt;br /&gt;
|millisec||257||2||milliseconds part of duration value&lt;br /&gt;
|-&lt;br /&gt;
|seconds||259||1||seconds part of duration value&lt;br /&gt;
|-&lt;br /&gt;
|minutes||260||4||minutes part of duration value&lt;br /&gt;
|-&lt;br /&gt;
|reserved||264||248||filled by zero&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frame format ===&lt;br /&gt;
&lt;br /&gt;
First half of ACT frame contains odd bytes, while the second contains even bytes of encoded G.729 frame.&lt;br /&gt;
&lt;br /&gt;
 for(i=0 ; i&amp;lt;frame_size/2; i++)&lt;br /&gt;
 {&lt;br /&gt;
     g729_data[2*i]=act_data[i]&lt;br /&gt;
     g729_data[2*i+1]=act_data[frame_size/2+i]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== G.729A Codec parameters ===&lt;br /&gt;
&lt;br /&gt;
Table of transmitted parameters indices. For each parameter, the Most Significant Bit (MSB) is transmitted first.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;border-collapse: collapse; border-style: dashed; border-color: #2f6fab;&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#f0f0f0&amp;quot; |&lt;br /&gt;
! Symbol !! Description !! Bits (Fine) !! Bits (Long)&lt;br /&gt;
|-&lt;br /&gt;
| L0 || Switched MA predictor of LSP quantizer || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| L1 || First stage vector of quantizer || 7 || 7&lt;br /&gt;
|-&lt;br /&gt;
| L2 || Second stage lower vector of LSP quantizer || 5 || 5&lt;br /&gt;
|-&lt;br /&gt;
| L3 || Second stage higher vector of LSP quantizer || 5 || 5&lt;br /&gt;
|-&lt;br /&gt;
| P1 || Pitch delay first subframe || 8 || 8&lt;br /&gt;
|-&lt;br /&gt;
| P0 || Parity bit for Pitch delay || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| C1 || Fixed codebook first subframe || 13 || 12&lt;br /&gt;
|-&lt;br /&gt;
| S1 || Signs of fixed-codebook pulses 1st subframe || 4 || 9&lt;br /&gt;
|-&lt;br /&gt;
| GA1 || Gain codebook (stage 1) 1st subframe || 3 || 3&lt;br /&gt;
|-&lt;br /&gt;
| GB1 || Gain codebook (stage 1) 1st subframe || 4 || 4&lt;br /&gt;
|-&lt;br /&gt;
| P2 || Pitch delay second subframe || 5 || 5&lt;br /&gt;
|-&lt;br /&gt;
| C2 || Fixed codebook 2nd subframe || 13 || 12&lt;br /&gt;
|-&lt;br /&gt;
| S2 || Signs of fixed-codebook pulses 2nd subframe || 4 || 9&lt;br /&gt;
|-&lt;br /&gt;
| GA2 || Gain codebook (stage 1) 2nd subframe || 3 || 3&lt;br /&gt;
|-&lt;br /&gt;
| GB2 || Gain codebook (stage 1) 2nd subframe || 4 || 4&lt;br /&gt;
|-&lt;br /&gt;
! !! Total !! 80 !! 88&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In Long mode 2 ACT frames form a G.729 frame.&lt;br /&gt;
&lt;br /&gt;
[[Category:Audio Codecs]]&lt;br /&gt;
[[Category:Undiscovered Audio Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Talk:ClearVideo&amp;diff=9106</id>
		<title>Talk:ClearVideo</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Talk:ClearVideo&amp;diff=9106"/>
		<updated>2007-11-20T02:40:50Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Which RealVideo codecs are based on this?&lt;br /&gt;
&lt;br /&gt;
Also based on some of their patents, it looks like they switched to wavelets for UCOD, while their original image compression (called FIF files) were &amp;quot;fractal based&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Vividas_VIV&amp;diff=9105</id>
		<title>Vividas VIV</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Vividas_VIV&amp;diff=9105"/>
		<updated>2007-11-19T03:45:48Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Extension: viv&lt;br /&gt;
* MIME type: video/vividas&lt;br /&gt;
* Company: [http://www.vividas.com/ Vividas Pty Ltd]&lt;br /&gt;
* Samples: [http://video.vividas.com/sales/Honda_CRV_TVC_sales_048i.viv TBD]&lt;br /&gt;
&lt;br /&gt;
VIV is a proprietary web audio/video streaming format used by the Vividas Player. The player, available for Win32, Mac OSX and Sun platforms, is distributed as native binary and installed on-demand via Java or ActiveX.&lt;br /&gt;
&lt;br /&gt;
Developer blog: &amp;quot;Vividas is the company behind 'Vividas Player' (Suprise!) which is a video streaming platform (powered by VP6/VP7) which is very much like (to dumb things down) quicktime or Windows Media Player for streaming content, only with a twist. Its ultra fast, compact, installation-requiremente-requireded-no and very bandwidth efficient... The decoder - written in C/C++ with a healthy mix of ASM - is around 250-300Kb. Most of the internals is hush hush so I cant reveal much, but what is interesting is the uptake of broadband across the globe and the future prospects of HD-Quality video streaming and where this technology is headed&amp;quot; [http://blogs.developerfusion.co.uk/blogs/thushan/archive/2005/08/11/821.aspx]&lt;br /&gt;
&lt;br /&gt;
Actually the decoder is a 800kb DLL.&lt;br /&gt;
&lt;br /&gt;
The player has support for Speex, Vorbis and VP6.&lt;br /&gt;
&lt;br /&gt;
Layout of the file:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;border-collapse: collapse; border-style: dashed; border-color: #2f6fab;&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#f0f0f0&amp;quot; |&lt;br /&gt;
! Size !! Meaning !! Default value&lt;br /&gt;
|-&lt;br /&gt;
|9 bytes || Magic || &amp;quot;vividas03&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|1 byte || Unknown || 84 or 85 in most files&lt;br /&gt;
|-&lt;br /&gt;
|1 byte || Unknown || 20, 62, 65 in most files&lt;br /&gt;
|-&lt;br /&gt;
|1 byte || Unknown || Always 1 ?&lt;br /&gt;
|-&lt;br /&gt;
|1 byte || Length of name field&lt;br /&gt;
|-&lt;br /&gt;
|x bytes || Name field&lt;br /&gt;
|-&lt;br /&gt;
| || Encrypted data here&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Altought data is encrypted, an index table is recognizable just after the header.&lt;br /&gt;
&lt;br /&gt;
===External Resources===&lt;br /&gt;
Extended company and product description is available on [http://en.wikipedia.org/wiki/Vividas Wikipedia].&lt;br /&gt;
&lt;br /&gt;
[http://www.on2.com/company/news-room/press-releases/?id=254 &amp;quot;Vividas Licenses TrueMotion VP7 for Mass Distribution of High Quality Video&amp;quot;] January 13th, 2005&lt;br /&gt;
&lt;br /&gt;
[http://www.vividas.com/footer/opensource.html Vividas - Open Source Acknowledgement]&lt;br /&gt;
[[Category:Container Formats]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Flash_screen_video&amp;diff=9104</id>
		<title>Flash screen video</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Flash_screen_video&amp;diff=9104"/>
		<updated>2007-11-19T03:38:34Z</updated>

		<summary type="html">&lt;p&gt;Alex: Add into Screen Capture category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* FOURCC: FSV1&lt;br /&gt;
* Company: [[Adobe]]&lt;br /&gt;
&lt;br /&gt;
This is a simple screen capture codec. The screen is divided into x*16 * y*16 pixel blocks. &lt;br /&gt;
Then only the &amp;quot;changed since last frame&amp;quot; blocks are transmitted zlib-compressed. The video is contained in [[Flash Video]] files.&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Codecs]]&lt;br /&gt;
[[Category:Lossless Video Codecs]]&lt;br /&gt;
[[Category:Screen Capture Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Vividas_VIV&amp;diff=9103</id>
		<title>Vividas VIV</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Vividas_VIV&amp;diff=9103"/>
		<updated>2007-11-19T02:21:36Z</updated>

		<summary type="html">&lt;p&gt;Alex: Initial format description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Extension: viv&lt;br /&gt;
* MIME type: video/vividas&lt;br /&gt;
* Company: [http://www.vividas.com/ Vividas Pty Ltd]&lt;br /&gt;
* Samples: [http://video.vividas.com/sales/Honda_CRV_TVC_sales_048i.viv TBD]&lt;br /&gt;
&lt;br /&gt;
VIV is a proprietary web audio/video streaming format used by the Vividas Player. The player, available for Win32, Mac OSX and Sun platforms, is distributed as native binary and installed on-demand via Java or ActiveX.&lt;br /&gt;
&lt;br /&gt;
Developer blog: &amp;quot;Vividas is the company behind 'Vividas Player' (Suprise!) which is a video streaming platform (powered by VP6/VP7) which is very much like (to dumb things down) quicktime or Windows Media Player for streaming content, only with a twist. Its ultra fast, compact, installation-requiremente-requireded-no and very bandwidth efficient... The decoder - written in C/C++ with a healthy mix of ASM - is around 250-300Kb. Most of the internals is hush hush so I cant reveal much, but what is interesting is the uptake of broadband across the globe and the future prospects of HD-Quality video streaming and where this technology is headed&amp;quot; [http://blogs.developerfusion.co.uk/blogs/thushan/archive/2005/08/11/821.aspx]&lt;br /&gt;
&lt;br /&gt;
Actually the decoder is a 800kb DLL.&lt;br /&gt;
&lt;br /&gt;
The player has support for Speex and Vorbis.&lt;br /&gt;
&lt;br /&gt;
Layout of the file:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;border-collapse: collapse; border-style: dashed; border-color: #2f6fab;&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#f0f0f0&amp;quot; |&lt;br /&gt;
! Size !! Meaning !! Default value&lt;br /&gt;
|-&lt;br /&gt;
|9 bytes || Magic || &amp;quot;vividas03&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|3 bytes || Unknown&lt;br /&gt;
|-&lt;br /&gt;
|1 byte || Length of name field&lt;br /&gt;
|-&lt;br /&gt;
|x bytes || Name field&lt;br /&gt;
|-&lt;br /&gt;
| || Data here&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===External Resources===&lt;br /&gt;
Extended company and product description is available on [http://en.wikipedia.org/wiki/Vividas Wikipedia].&lt;br /&gt;
&lt;br /&gt;
[http://www.on2.com/company/news-room/press-releases/?id=254 &amp;quot;Vividas Licenses TrueMotion VP7 for Mass Distribution of High Quality Video&amp;quot;] January 13th, 2005&lt;br /&gt;
&lt;br /&gt;
[http://www.vividas.com/footer/opensource.html Vividas - Open Source Acknowledgement]&lt;br /&gt;
[[Category:Container Formats]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Vividas_VIV&amp;diff=9102</id>
		<title>Vividas VIV</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Vividas_VIV&amp;diff=9102"/>
		<updated>2007-11-19T01:48:01Z</updated>

		<summary type="html">&lt;p&gt;Alex: Speex/Vorbis&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Extension: viv&lt;br /&gt;
* MIME type: video/vividas&lt;br /&gt;
* Company: [http://www.vividas.com/ Vividas Pty Ltd]&lt;br /&gt;
* Samples: [http://video.vividas.com/sales/Honda_CRV_TVC_sales_048i.viv TBD]&lt;br /&gt;
&lt;br /&gt;
VIV is a proprietary web audio/video streaming format used by the Vividas Player. The player, available for Win32, Mac OSX and Sun platforms, is distributed as native binary and installed on-demand via Java or ActiveX.&lt;br /&gt;
&lt;br /&gt;
Developer blog: &amp;quot;Vividas is the company behind 'Vividas Player' (Suprise!) which is a video streaming platform (powered by VP6/VP7) which is very much like (to dumb things down) quicktime or Windows Media Player for streaming content, only with a twist. Its ultra fast, compact, installation-requiremente-requireded-no and very bandwidth efficient... The decoder - written in C/C++ with a healthy mix of ASM - is around 250-300Kb. Most of the internals is hush hush so I cant reveal much, but what is interesting is the uptake of broadband across the globe and the future prospects of HD-Quality video streaming and where this technology is headed&amp;quot; [http://blogs.developerfusion.co.uk/blogs/thushan/archive/2005/08/11/821.aspx]&lt;br /&gt;
&lt;br /&gt;
Actually the decoder is a 800kb DLL.&lt;br /&gt;
&lt;br /&gt;
The player has support for Speex and Vorbis.&lt;br /&gt;
&lt;br /&gt;
===External Resources===&lt;br /&gt;
Extended company and product description is available on [http://en.wikipedia.org/wiki/Vividas Wikipedia].&lt;br /&gt;
&lt;br /&gt;
[http://www.on2.com/company/news-room/press-releases/?id=254 &amp;quot;Vividas Licenses TrueMotion VP7 for Mass Distribution of High Quality Video&amp;quot;] January 13th, 2005&lt;br /&gt;
&lt;br /&gt;
[http://www.vividas.com/footer/opensource.html Vividas - Open Source Acknowledgement]&lt;br /&gt;
[[Category:Container Formats]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=NCT_Soft_ALF2CD_ACM&amp;diff=9101</id>
		<title>NCT Soft ALF2CD ACM</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=NCT_Soft_ALF2CD_ACM&amp;diff=9101"/>
		<updated>2007-11-19T01:07:46Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Codec ID: 0x1FC4&lt;br /&gt;
* Website: http://www.nctsoft.com/&lt;br /&gt;
* Author: Lev Bannov / leksei Myasnikov&lt;br /&gt;
&lt;br /&gt;
Almost nothing is known about this audio codec.&lt;br /&gt;
&lt;br /&gt;
[[Category:Audio Codecs]]&lt;br /&gt;
[[Category:Undiscovered Audio Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Dakx_Wav&amp;diff=9100</id>
		<title>Dakx Wav</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Dakx_Wav&amp;diff=9100"/>
		<updated>2007-11-19T00:31:24Z</updated>

		<summary type="html">&lt;p&gt;Alex: Add website, patent, simple source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Description: [http://www.rjamorim.com/rrw/daxwav.html Dakx Wav]&lt;br /&gt;
* Website: http://www.dakx.com/&lt;br /&gt;
* Patent: [[http://www.google.com/patents?vid=USPAT5825830 USPAT 5,825,830]&lt;br /&gt;
* Simple decoder/encoder: http://www.dakx.com/software/simdaxg.c&lt;br /&gt;
&lt;br /&gt;
[[Category: Audio Codecs]]&lt;br /&gt;
[[Category: Lossless Audio Codecs]]&lt;br /&gt;
[[Category: Undiscovered Audio Codecs]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=SBC&amp;diff=9099</id>
		<title>SBC</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=SBC&amp;diff=9099"/>
		<updated>2007-11-18T20:45:26Z</updated>

		<summary type="html">&lt;p&gt;Alex: Add category listing.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The name SBC is used among more speech codecs.&lt;br /&gt;
&lt;br /&gt;
Known codecs named SBC:&lt;br /&gt;
* The oldest codec probably is the Lernout &amp;amp; Hauspie SBC family, which is shipped with standard Windows versions.&lt;br /&gt;
* The Bluetooth group standardised a speech codec named [[Bluetooth SBC|SBC]].&lt;br /&gt;
* [[Octel SBC]] was created at Lucent and is used at Vodafone for Voicemail services.&lt;br /&gt;
&lt;br /&gt;
[[Category:Audio Codecs]]&lt;br /&gt;
[[Category:Vocoders]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=SBC&amp;diff=9097</id>
		<title>SBC</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=SBC&amp;diff=9097"/>
		<updated>2007-11-18T20:43:34Z</updated>

		<summary type="html">&lt;p&gt;Alex: General SBC article, linking to the three known ones.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The name SBC is used among more speech codecs.&lt;br /&gt;
&lt;br /&gt;
Known codecs named SBC:&lt;br /&gt;
* The oldest codec probably is the Lernout &amp;amp; Hauspie SBC family, which is shipped with standard Windows versions.&lt;br /&gt;
* The Bluetooth group standardised a speech codec named [[Bluetooth SBC|SBC]].&lt;br /&gt;
* [[Octel SBC]] was created at Lucent and is used at Vodafone for Voicemail services.&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Octel_SBC&amp;diff=9091</id>
		<title>Octel SBC</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Octel_SBC&amp;diff=9091"/>
		<updated>2007-11-18T16:53:42Z</updated>

		<summary type="html">&lt;p&gt;Alex: Samples URL changed to Octel-SBC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* mime-type: audio/vnd.octel.sbc&lt;br /&gt;
* samples: http://samples.mplayerhq.hu/A-codecs/Octel-SBC/&lt;br /&gt;
&lt;br /&gt;
According to the [http://www.iana.org/assignments/media-types/audio/vnd.octel.sbc IANA vnc.octel.sbc] submission: &amp;quot;The data is a binary format with no header or trailer.  The compression algorithm is a proprietary speech compression algorithm developed by the Octel Messaging Division of Lucent Technologies.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Category:Audio Codecs]]&lt;br /&gt;
[[Category:Vocoders]]&lt;br /&gt;
[[Category:Formats missing in FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Talk:Bluetooth_SBC&amp;diff=9085</id>
		<title>Talk:Bluetooth SBC</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Talk:Bluetooth_SBC&amp;diff=9085"/>
		<updated>2007-11-18T16:35:08Z</updated>

		<summary type="html">&lt;p&gt;Alex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The name of the page should be Bluetooth_SBC. Any administrators there?&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Bluetooth_SBC&amp;diff=9084</id>
		<title>Bluetooth SBC</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Bluetooth_SBC&amp;diff=9084"/>
		<updated>2007-11-18T16:31:38Z</updated>

		<summary type="html">&lt;p&gt;Alex: vnd.octel.sbc and the samples are not the Bluetooth SBC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* LGPL SBC library: http://www.holtmann.org/linux/bluetooth/sbc.html&lt;br /&gt;
&lt;br /&gt;
The Bluetooth low-complexity, subband codec (SBC) is described in the specification of the Advanced Audio Distribution Profile (A2DP) in appendix B (page 50). SBC is an audio coding system specially designed for Bluetooth audio and video applications to obtain high quality audio at medium bitrates, and having a low computational complexity. It uses 4 or 8 subbands, an adaptive bit allocation algorithm and simple adaptive block PCM quantizers. The SBC audio coding system is based on an earlier system: F. de Bont, M. Groenewegen and W. Oomen, &amp;quot;A High Quality Audio-Coding System at 128 kb/s&amp;quot;,&lt;br /&gt;
98th AES Convention, Febr. 25-28, 1995.&lt;br /&gt;
&lt;br /&gt;
The A2DP test specification contains a reference encoder and decoder for the SBC codec. These programs are only available for Windows and only in binary form.&lt;br /&gt;
&lt;br /&gt;
[[Category:Audio Codecs]]&lt;br /&gt;
[[Category:Vocoders]]&lt;br /&gt;
[[Category:Formats missing in FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Octel_SBC&amp;diff=9083</id>
		<title>Octel SBC</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Octel_SBC&amp;diff=9083"/>
		<updated>2007-11-18T16:31:22Z</updated>

		<summary type="html">&lt;p&gt;Alex: Forget to place category listing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* mime-type: audio/vnd.octel.sbc&lt;br /&gt;
* samples: http://samples.mplayerhq.hu/A-codecs/SBC/&lt;br /&gt;
&lt;br /&gt;
According to the [http://www.iana.org/assignments/media-types/audio/vnd.octel.sbc IANA vnc.octel.sbc] submission: &amp;quot;The data is a binary format with no header or trailer.  The compression algorithm is a proprietary speech compression algorithm developed by the Octel Messaging Division of Lucent Technologies.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Category:Audio Codecs]]&lt;br /&gt;
[[Category:Vocoders]]&lt;br /&gt;
[[Category:Formats missing in FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
</feed>