XviD
Encyclopedia
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.
. 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 old, 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
.
, Xvid uses many patented technologies. For this reason, Xvid 0.9.x versions were not licensed in countries where these software patent
s are recognized. With the 1.0.x releases, a GNU GPL v2 license is used with no explicit geographical restriction. However, the legal usage of Xvid may still be restricted by local laws.
released an MPEG-4 video codec called the REALmagic MPEG-4 Video Codec. Before long, people testing this new codec found that it contained considerable portions of Xvid code. Sigma Designs was contacted and confirmed that a programmer had based REALmagic on Xvid, but assured that all GPL code would be replaced to avoid copyright infringement. When Sigma Designs released the supposedly rewritten REALmagic codec, the Xvid developers immediately disassembled it and concluded that it still contained Xvid code, only rearranged in an attempt to disguise
its presence. The Xvid developers decided to stop work and go public to force Sigma Designs to respect the terms of the GPL. After articles were published in Slashdot
and The Inquirer
, in August 2002 Sigma Designs agreed to publish their source code.
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 some (not all) DivX compatible DVD players and media players. However, Xvid can optionally encode video with advanced MPEG-4 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.
|-
! Operating systems
! Software
! Comment
|-
| Windows
| VirtualDub
, DVDx
, xvid encraw, AutoGK etc.
| And all other applications that support encoding through the VfW
framework.
|-
| Mac OS X
, Linux
, BSD
, and Windows
| MEncoder
, Transcode
, Avidemux
, VLC
, etc.
| These platform and framework independent applications access the Xvid library directly.
|}
Video codec
A video codec is a device or software that enables video compression and/or decompression for digital video. The compression usually employs lossy data compression. Historically, video was stored as an analog signal on magnetic tape...
library following the MPEG-4
MPEG-4
MPEG-4 is a method of defining compression of audio and visual digital data. It was introduced in late 1998 and designated a standard for a group of audio and video coding formats and related technology agreed upon by the ISO/IEC Moving Picture Experts Group under the formal standard ISO/IEC...
standard, specifically MPEG-4 Part 2 Advanced Simple Profile (ASP)
MPEG-4 Part 2
MPEG-4 Part 2, MPEG-4 Visual is a video compression technology developed by MPEG. It belongs to the MPEG-4 ISO/IEC standards. It is a discrete cosine transform compression standard, similar to previous standards such as MPEG-1 and MPEG-2...
. It uses ASP features such as b-frames, global and quarter pixel motion compensation
Motion compensation
Motion compensation is an algorithmic technique employed in the encoding of video data for video compression, for example in the generation of MPEG-2 files. Motion compensation describes a picture in terms of the transformation of a reference picture to the current picture. The reference picture...
, lumi masking
Lumi masking
Lumi masking is a technique used by video compression software, which reduces quality in very bright or very dark areas of the picture, as quality loss in these areas is less likely to be visible. It is also known as "psychovisual enhancements" or "adaptive quantization"...
, trellis quantization
Trellis quantization
Trellis quantization is an algorithm that can improve data compression in DCT-based encoding methods. It is used to optimize residual DCT coefficients after motion estimation in lossy video compression encoders such as Xvid and x264. Trellis quantization reduces the size of some DCT coefficients...
, and H.263
H.263
H.263 is a video compression standard originally designed as a low-bitrate compressed format for videoconferencing. It was developed by the ITU-T Video Coding Experts Group in a project ending in 1995/1996 as one member of the H.26x family of video coding standards in the domain of the ITU-T.H.263...
, MPEG and custom quantization matrices
Quantization (image processing)
Quantization, involved in image processing, is a lossy compression technique achieved by compressing a range of values to a single quantum value. When the number of discrete symbols in a given stream is reduced, the stream becomes more compressible. For example, reducing the number of colors...
.
Xvid is a primary competitor of the DivX
DivX
DivX is a brand name of products created by DivX, Inc. , including the DivX Codec which has become popular due to its ability to compress lengthy video segments into small sizes while maintaining relatively high visual quality.There are two DivX codecs; the regular MPEG-4 Part 2 DivX codec and the...
Pro Codec. In contrast with the DivX codec, which is proprietary software
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...
developed by DivX, Inc.
DivX, Inc.
DivX, Inc. , based in San Diego, California, now part of Sonic Solutions, a division of Rovi, was the corporation behind the MPEG-4 Part 2-based codec, DivX. The company's codec has been downloaded over 240 million times since January 2003...
, Xvid is free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
distributed under the terms of the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
. 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 CVSConcurrent Versions System
The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...
. 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 old, 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
Winamp
Winamp is a media player for Windows-based PCs and Android devices, written by Nullsoft, now a subsidiary of AOL. It is proprietary freeware/shareware, multi-format, extensible with plug-ins and skins, and is noted for its graphical sound visualization, playlist, and media library features.Winamp...
, not a Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
." 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
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
.
Patent issues
As an implementation of MPEG-4 Part 2MPEG-4 Part 2
MPEG-4 Part 2, MPEG-4 Visual is a video compression technology developed by MPEG. It belongs to the MPEG-4 ISO/IEC standards. It is a discrete cosine transform compression standard, similar to previous standards such as MPEG-1 and MPEG-2...
, Xvid uses many patented technologies. For this reason, Xvid 0.9.x versions were not licensed in countries where these software patent
Software patent
Software patent does not have a universally accepted definition. One definition suggested by the Foundation for a Free Information Infrastructure is that a software patent is a "patent on any performance of a computer realised by means of a computer program".In 2005, the European Patent Office...
s are recognized. With the 1.0.x releases, a GNU GPL v2 license is used with no explicit geographical restriction. However, the legal usage of Xvid may still be restricted by local laws.
Sigma Designs controversy
In July 2002, Sigma DesignsSigma Designs
Sigma Designs is an American public corporation that designs and builds high-performance system-on-a-chip semiconductor technologies for Internet-based set-top boxes, DVD players/recorders, high-definition televisions, media processors, digital media adapters, portable media players and home...
released an MPEG-4 video codec called the REALmagic MPEG-4 Video Codec. Before long, people testing this new codec found that it contained considerable portions of Xvid code. Sigma Designs was contacted and confirmed that a programmer had based REALmagic on Xvid, but assured that all GPL code would be replaced to avoid copyright infringement. When Sigma Designs released the supposedly rewritten REALmagic codec, the Xvid developers immediately disassembled it and concluded that it still contained Xvid code, only rearranged in an attempt to disguise
Obfuscated code
Obfuscated code is source or machine code that has been made difficult to understand for humans. Programmers may deliberately obfuscate code to conceal its purpose or its logic to prevent tampering, deter reverse engineering, or as a puzzle or recreational challenge for someone reading the source...
its presence. The Xvid developers decided to stop work and go public to force Sigma Designs to respect the terms of the GPL. After articles were published in Slashdot
Slashdot
Slashdot is a technology-related news website owned by Geeknet, Inc. The site, which bills itself as "News for Nerds. Stuff that Matters", features user-submitted and ‑evaluated current affairs news stories about science- and technology-related topics. Each story has a comments section...
and The Inquirer
The Inquirer
The Inquirer is a British technology tabloid website founded by Mike Magee after his departure from The Register in 2001. In 2006 the site was acquired by Dutch publisher Verenigde Nederlandse Uitgeverijen...
, in August 2002 Sigma Designs agreed to publish their source code.
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 WindowsVideo for Windows
Video for Windows was a multimedia framework developed by Microsoft that allowed Microsoft Windows to play digital video.-Overview:...
codecs (and DirectShow
DirectShow
DirectShow , codename Quartz, is a multimedia framework and API produced by Microsoft for software developers to perform various operations with media files or streams. It is the replacement for Microsoft's earlier Video for Windows technology...
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
MPEG-4
MPEG-4 is a method of defining compression of audio and visual digital data. It was introduced in late 1998 and designated a standard for a group of audio and video coding formats and related technology agreed upon by the ISO/IEC Moving Picture Experts Group under the formal standard ISO/IEC...
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
Libavcodec
libavcodec is a free software/open source LGPL-licensed library of codecs for encoding and decoding video and audio data. Same name but incompatible libraries are provided from both FFmpeg project and Libav project....
library from FFmpeg
FFmpeg
FFmpeg is a free software project that produces libraries and programs for handling multimedia data. The most notable parts of FFmpeg are libavcodec, an audio/video codec library used by several other projects, libavformat, an audio/video container mux and demux library, and the ffmpeg command line...
(for example, MPlayer
MPlayer
MPlayer is a free and open source media player. The program is available for all major operating systems, including Linux and other Unix-like systems, Microsoft Windows and Mac OS X. Versions for OS/2, Syllable, AmigaOS and MorphOS are also available. The Windows version works, with some minor...
, VLC
VLC media player
VLC media player is a free and open source media player and multimedia framework written by the VideoLAN project.VLC is a portable multimedia player, encoder, and streamer supporting many audio and video codecs and file formats as well as DVDs, VCDs, and various streaming protocols. It is able to...
, ffdshow
Ffdshow
ffdshow is a media decoder and encoder mainly used for the fast and high-quality decoding of video in the MPEG-4 ASP and AVC formats, but it supports numerous other video and audio formats as well...
or Perian
Perian
Perian is an open source QuickTime component that enables Apple Inc.’s QuickTime to play several popular video formats not supported natively by QuickTime on Mac OS X...
).
Xvid encoded files can be written to a CD or DVD
DVD
A DVD is an optical disc storage media format, invented and developed by Philips, Sony, Toshiba, and Panasonic in 1995. DVDs offer higher storage capacity than Compact Discs while having the same dimensions....
and played in some (not all) DivX compatible DVD players and media players. However, Xvid can optionally encode video with advanced MPEG-4 features that most DivX Certified set-top players do not support. Files encoded with global motion compensation
Global Motion Compensation
Global motion compensation is a technique used in video compression to reduce the bitrate required to encode video. It is most commonly used in MPEG-4 ASP, such as with the DivX and Xvid codecs.-Operation:...
, Qpel
Qpel
Quarter pixel refers to a quarter of a standard pixel. It is used in many modern video encoding standards such as MPEG-4 ASP and H.264/AVC to refer to quarter pixel precision in motion estimation and motion compensation...
, MPEG quantization
Quantization (image processing)
Quantization, involved in image processing, is a lossy compression technique achieved by compressing a range of values to a single quantum value. When the number of discrete symbols in a given stream is reduced, the stream becomes more compressible. For example, reducing the number of colors...
, multiple B-frames or files that exceed the VBV
Video buffering verifier
The video buffering verifier is a theoretical MPEG video buffer model used to ensure that an encoded video stream can be correctly buffered and played back at the decoder device....
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.
Encoding applications
{|{| class="wikitable" style="text-align: center; width: 100%; font-size: normal;"|-
! Operating systems
! Software
! Comment
|-
| Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
| VirtualDub
VirtualDub
VirtualDub is a video capture and video processing utility for Microsoft Windows written by Avery Lee.It is designed to process linear video streams, including filtering and recompression...
, DVDx
DVDx
DVDx is a free video encoding application that allows the user to convert a DVD-Video to VCD 2.0 or SVCD 1.0 or AVI or Windows Media in one step . It produces reasonably good quality movies in AVI/MPEG/MPEG2/WMV9 format. DVDx has been designed especially for inexperienced users.-External links:* ...
, xvid encraw, AutoGK etc.
| And all other applications that support encoding through the VfW
Video for Windows
Video for Windows was a multimedia framework developed by Microsoft that allowed Microsoft Windows to play digital video.-Overview:...
framework.
|-
| Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, BSD
Berkeley Software Distribution
Berkeley Software Distribution is a Unix operating system derivative developed and distributed by the Computer Systems Research Group of the University of California, Berkeley, from 1977 to 1995...
, and Windows
| MEncoder
MEncoder
MEncoder is a free command line video decoding, encoding and filtering tool released under the GNU General Public License. It is a close sibling to MPlayer and can convert all the formats that MPlayer understands into a variety of compressed and uncompressed formats using different codecs.MEncoder...
, Transcode
Transcode (software)
Transcode is a free audio/video transcoder with a command-line interface for Unix-like operating systems. It uses FFmpeg's libavcodec library, and supports numerous formats . It also includes a variety of pre/post filters for denoising, deinterlacing, smoothing, sharpening, etc...
, Avidemux
Avidemux
Avidemux is a free and open-source video editing program designed for video editing and video processing. It is written in C++, and uses either the GTK+ or Qt.- Features :...
, VLC
VLC media player
VLC media player is a free and open source media player and multimedia framework written by the VideoLAN project.VLC is a portable multimedia player, encoder, and streamer supporting many audio and video codecs and file formats as well as DVDs, VCDs, and various streaming protocols. It is able to...
, etc.
| These platform and framework independent applications access the Xvid library directly.
|}
See also
- Xvid Qf
- List of codecs
- Comparison of video codecsComparison of video codecsA video codec is software or a device that provides encoding and decoding which may or may not include the use of video compression and/or decompression for digital video....
External links
- Xvid.org web site
- Xvid Setup/Reference Guide @ Digital Digest
- Xvid Binary Download Page - Links to Windows/Linux binaries on the official site
- Xvid Source Code Download Page - includes daily snapshots on the official site
- Xvid QuickTime Component - unofficial Xvid component for MacOS X