Sunday, February 20, 2011

Video Codec - Xvid

Contain information from Wikipedia and Wikipedia Chinese and 百度百科 and Xvid.org: Home of the Xvid Codec

Introduction

Xvid (formerly "XviD") is a video codec library following the MPEG-4 standard, specifically MPEG-4 Part 2 Advanced Simple Profile (ASP). It uses ASP features such as b-frames, global and quarter pixel motion compensation, lumi masking, trellis quantization, and H.263, MPEG and custom quantization matrices.
Xvid is a primary competitor of the DivX Pro Codec. In contrast with the DivX codec, which is proprietary software developed by DivX, Inc., Xvid is free software distributed under the terms of the GNU General Public License.This also means that unlike the DivX codec, which is only available for a limited number of platforms, Xvid can be used on all platforms and operating systems for which the source code can be compiled.

History
In January 2001, DivXNetworks founded OpenDivX as part of Project Mayo which was intended to be a home for open source multimedia projects. OpenDivX was an open-source MPEG-4 video codec based on a stripped down version of the MoMuSys reference MPEG-4 encoder. The source code, however, was placed under a restrictive license and only members of the DivX Advanced Research Centre (DARC) had write access to the project CVS. In early 2001, DARC member Sparky wrote an improved version of the encoding core called encore2. This was updated several times before, in April, it was removed from CVS without warning. The explanation given by Sparky was "We (our bosses) decided that we are not ready to have it in public yet."
In July 2001, developers started complaining about a lack of activity in the project; the last CVS commit was several months before, bugfixes were being ignored, and promised documentation had not been written. Soon after, DARC released a beta version of their closed-source commercial DivX 4 codec, which was based on encore2, saying that "what the community really wants is a Winamp, not a Linux". It was after this that a fork of OpenDivX was created, using the latest version of encore2 that was downloaded before it was removed. Since then, all the OpenDivX code has been replaced and Xvid has been published under the GNU General Public License.

Playing Xvid encoded files

Primarily due to concerns over patents, the official Xvid web site does not provide binary versions of the Xvid codec. However, it does link to supporting web sites that provide Video for Windows codecs (and DirectShow decoding filters) for Microsoft Windows.
Xvid is not a video format – it is a program (codec) for compressing and decompressing to the MPEG-4 ASP format. Since Xvid uses MPEG-4 Advanced Simple Profile (ASP) compression, any video that is encoded with it is termed "MPEG-4 ASP video" – not "Xvid video" – and can therefore be decoded with all MPEG-4 ASP compliant decoders. This includes a large number of media players and decoders, in particular all the ones based on the free/open source libavcodec library from FFmpeg (for example, MPlayer, VLC, ffdshow or Perian).
Xvid encoded files can be written to a CD or DVD and played in a DivX compatible DVD player. However, Xvid can optionally encode video with advanced features that most DivX Certified set-top players do not support. Files encoded with global motion compensation, Qpel, MPEG quantization, multiple B-frames or files that exceed the VBV limitations may not play back properly on DivX Certified hardware devices.

For example, Xvid specifies three warp points for its implementation of global motion compensation as opposed to the single warp point implementation of DivX. Enabling some of the more advanced encoding features can compromise player compatibility. Some issues exist with the custom quantization matrices used in tools such as AutoGK that automate encoding with Xvid. This can (depending on the decoder chipset of the set-top player in question) produce videos that have unstable playback and artifacts. However, most recent model DivX compatible DVD players have improved support for custom quantization matrices.



No comments:

Post a Comment