Jump to content

AMV video format

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Ὁ οἶστρος (talk | contribs) at 11:50, 24 September 2013 (WP:MoS > MoS:PUNCT > MoS:HYPHEN & MoS:DASH). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

AMV is a proprietary video file format, produced for MP4 players, as well as S1 MP3 players with video playback. There are now two different MTV formats: the older one for the Actions chip, and a newer one for ALi’s M5661 chip. This format for ALi one was ALIAVI.

AMV
Filename extension
.amv, .mtv
Internet media typevideo/x-amv
Container forAudio, video
Extended fromAVI and Motion JPEG
Standardproprietary

Format

The container is a modified version of AVI.[1] The video format is a variant of Motion JPEG, with fixed rather than variable quantisation tables.[2] The audio format is a variant of IMA ADPCM, where the first 8 bytes of each frame are origin (16 bits), index (16 bits) and number of encoded 16-bit samples (32 bits); all known AMV files run sound at 22050 samples/second.[1]

Low decoder overhead is paramount as the S1 MP3 players have very low-end processors (a Z80 variant). Video compression ratio is low – around 4 pixels/byte, compared with over 10 pixels/byte for MPEG-2[1] – though as the files are of low resolution (96×96 up to 208×176) and frame rate (10, 12, or 16 frame/s), file sizes are small in bytes per second. With a resolution of 128×96 pixels and a framerate of 12 frame/s, a 30-minute video will be compressed into 80 MB.

Documentation

Documentation for this format is not publicly available, but Dobrica Pavlinušić reverse engineered the format[1] to produce a Perl-based decoder[3] and Pavlinušić, Tom Van Braeckel and Vladimir Voroshilov produced a version of FFmpeg that works on AMV files.[4] The AMV code has been sent upstream to the main FFmpeg project[5] and the mainline version of FFmpeg now decodes and encodes AMV.

References

  1. ^ a b c d voroshil (2007-10-15). "AmvDocumentation". Google Code. Archived from the original on 23 March 2008. Retrieved 2008-04-06. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  2. ^ forcing mjpegenc to use fixed quantisation tables (Tom Van Braeckel, FFmpeg-devel mailing list, 28 October 2007)
  3. ^ AMV free decoder (Dobrica Pavlinušić, personal blog, 19 August 2007)
  4. ^ amv-codec-tools (Google Code)
  5. ^ What needs to be done – this is an asynchronous meeting by mailing list. (Tom Van Braeckel, AMV codec tools group mailing list, 26 October 2007)