Software:Xvid

From HandWiki
Short description: Video codec library
Xvid
Xvid logo
Initial release2001; 23 years ago (2001) (as XviD)
Stable release1.3.7 (December 28, 2019; 4 years ago (2019-12-28)) [±]
Repositorywebsvn.xvid.org
Written inC
Operating systemCross-platform
Size11 MB
Standard(s)MPEG-4 ASP
TypeVideo codec
LicenseGNU General Public License, version 2
(SPDX identifier: GPL-2.0-or-later)
Websitewww.xvid.com

Xvid (formerly "XviD") is a video codec library following the MPEG-4 video coding 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.[1] This also means that unlike the DivX codec, which is only available for a limited number of platforms,[2] 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's 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."[3]

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."[4] 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.

Patent issues

As an implementation of MPEG-4 Part 2, Xvid uses many patented technologies.[5] For this reason, Xvid 0.9.x versions were not licensed in countries where these software patents 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.[citation needed] Fortunately, the Fedora Project, a community backed by Red Hat, has imported xvidcore to its repositories on January 24, 2023.[6] The last US patents expired in November 2023. The only patents left worldwide are in Brazil.

Sigma Designs controversy

In July 2002, Sigma Designs 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[7] and The Inquirer,[8] in August 2002 Sigma Designs agreed to publish their source code.[9]

Playing Xvid encoded files

Encoder and decoder configuration dialog

Xvid is not a video format; it is a program for compressing to and decompressing from (hence the name codec) the MPEG-4 ASP format. Since Xvid uses MPEG-4 Advanced Simple Profile (ASP) compression, video encoded with Xvid is MPEG-4 ASP video (not "Xvid video"), and can therefore theoretically be decoded with all ASP-compliant decoders. This includes a large number of media players and decoders based on libavcodec (such as MPlayer, VLC, ffdshow or Perian). (As of 2016), xvid.com carries binaries for using the codec.[10] However, early versions of the codec had a bug that prevented XviD-encoded files from being decoded with DivX, even when they were encoded using the DivX fourcc.

Xvid encoded files can be written to a CD or DVD and played in some (but 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 Video buffering verifier 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

Operating systems Software Comment
Windows VirtualDub, DVDx, xvid encraw, AutoGK, MeGUI etc. And all other applications that support encoding through the VfW framework.
Mac OS X, Linux, BSD, and Windows MEncoder, Avidemux, VLC,[11] WinFF (graphical front-end based on FFmpeg), etc. These platform and framework independent applications access the Xvid library directly.

See also

References

  1. "Questions and Answers". https://www.xvid.com/faq/. "Xvid is Free Software and published under the GNU GPL license." 
  2. "DivX Software". http://www.divx.com/en/software/divx. 
  3. Sibaud, Benedict, ed (June 11, 2004). "Interview de l'équipe XviD et sortie de la version 1.0.1" (in fr). http://linuxfr.org/news/interview-de-l%C3%A9quipe-xvid-et-sortie-de-la-version-101. "In March 2001, a rewritten encoder library was committed to the CVS (by a DivXNetworks staff). The rewritten library was removed shortly after, with DivXNetworks citing that "We (our bosses) decided that we are not ready to have it in public yet."" 
  4. Lai, Hongli (August 17, 2001). "[vorbis Vorbis ACM codec"]. http://lists.xiph.org/pipermail/vorbis/2001-August/004220.html. 
  5. "MPEG-4 Visual Patent Portfolio License" (PDF). July 1, 2008. http://www.mpegla.com/m4v/M4VCrossRef.pdf. 
  6. "Commit - rpms/xvidcore - c2e9c5f2f1892766720b6f2eda245112c17049bb - src.fedoraproject.org". https://src.fedoraproject.org/rpms/xvidcore/c/c2e9c5f2f1892766720b6f2eda245112c17049bb?branch=rawhide. 
  7. michael (August 22, 2002). "Sigma Designs Accused of Copyright Infringement". https://slashdot.org/story/02/08/22/193237/sigma-designs-accused-of-copyright-infringement. 
  8. Magee, Mike (August 22, 2002). "XVID asks Sigma to stop copyright breach". http://www.theinquirer.net/inquirer/news/1029663/xvid-sigma-stop-copyright-breach. 
  9. Lowe, Ken; Porter, Stephanie (August 22, 2002). "SIGMA MAKES SOURCE CODE AVAILABLE FOR ITS MPEG-4 VIDEO CODEC" (PDF). California, United States. http://www.sigmadesigns.com/news/press_releases/pr_pdf/020822.pdf. 
  10. "Download". https://www.xvid.com/download/. 
  11. Barranco, Iñigo Lopez (November 25, 2004). "[vlc Can VLC play MPEG2-ES a live.com RTP streaming?"]. https://mailman.videolan.org/pipermail/vlc/2004-November/009603.html. 

External links