Initial release | 2001 | (as XviD)
---|---|
Stable release | 1.3.7 (December 28, 2019 ) [±] |
Preview release | SVN [±] |
Repository | websvn |
Written in | C |
Operating system | Cross-platform |
Size | 11 MB |
Standard(s) | MPEG-4 ASP |
Type | Video codec |
License | GNU General Public License, version 2 (SPDX identifier: GPL-2.0-or-later) |
Website | www |
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.
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.
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.
The last US patents expired in November 2023. The only patents left worldwide are in Brazil. The Fedora Project, a community backed by Red Hat, has imported xvidcore to its repositories on January 24, 2023. [6]
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]
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 [update] , 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.
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. |
A video codec is software or hardware that compresses and decompresses digital video. In the context of video compression, codec is a portmanteau of encoder and decoder, while a device that only compresses is typically called an encoder, and one that only decompresses is a decoder.
DivX is a brand of video codec products developed by DivX, LLC. There are three DivX codecs: the original MPEG-4 Part 2 DivX codec, the H.264/MPEG-4 AVC DivX Plus HD codec and the High Efficiency Video Coding DivX HEVC Ultra HD codec. The most recent version of the codec itself is version 6.9.2, which is several years old. New version numbers on the packages now reflect updates to the media player, converter, etc.
Dirac is an open and royalty-free video compression format, specification and software video codec developed by BBC Research & Development. Dirac aimed to provide high-quality video compression for Ultra HDTV and competed with existing formats such as H.264.
VLC media player is a free and open-source, portable, cross-platform media player software and streaming media server developed by the VideoLAN project. VLC is available for desktop operating systems and mobile platforms, such as Android, iOS and iPadOS. VLC is also available on digital distribution platforms such as Apple's App Store, Google Play, and Microsoft Store.
ffdshow is an open-source unmaintained codec library that is mainly used for decoding of video in the MPEG-4 ASP and H.264/MPEG-4 AVC video formats, but it supports numerous other video and audio formats as well. It is free software released under GNU General Public License 2.0, runs on Windows, and is implemented as a Video for Windows (VFW) codec and a DirectShow filter.
x264 is a free and open-source software library and a command-line utility developed by VideoLAN for encoding video streams into the H.264/MPEG-4 AVC video coding format. It is released under the terms of the GNU General Public License.
MPEG-4 Part 2, MPEG-4 Visual is a video compression format developed by the Moving Picture Experts Group (MPEG). It belongs to the MPEG-4 ISO/IEC standards. It uses block-wise motion compensation and a discrete cosine transform (DCT), similar to previous standards such as MPEG-1 Part 2 and H.262/MPEG-2 Part 2.
These tables compare features of multimedia container formats, most often used for storing or streaming digital video or digital audio content. To see which multimedia players support which container format, look at comparison of media players.
FAAC is a software project which includes the AAC encoder FAAC and decoder FAAD2. It supports MPEG-2 AAC as well as MPEG-4 AAC. It supports several MPEG-4 Audio object types, file formats, multichannel and gapless encoding/decoding and MP4 metadata tags. The encoder and decoder is compatible with standard-compliant audio applications using one or more of these object types and facilities. It also supports Digital Radio Mondiale.
Global motion compensation(GMC) is a motion compensation 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.
Flash Video is a container file format used to deliver digital video content over the Internet using Adobe Flash Player version 6 and newer. Flash Video content may also be embedded within SWF files. There are two different Flash Video file formats: FLV and F4V. The audio and video data within FLV files are encoded in the same way as SWF files. The F4V file format is based on the ISO base media file format, starting with Flash Player 9 update 3. Both formats are supported in Adobe Flash Player and developed by Adobe Systems. FLV was originally developed by Macromedia. In the early 2000s, Flash Video was the de facto standard for web-based streaming video. Users include Hulu, VEVO, Yahoo! Video, metacafe, Reuters.com, and many other news providers.
libavcodec is a free and open-source library of codecs for encoding and decoding video and audio data.
Quarter-pixel motion(also known as Q-pel motion or Qpel motion) refers to using a quarter of the distance between pixels as the motion vector precision for motion estimation and motion compensation in video compression schemes. It is used in many modern video coding formats such as MPEG-4 ASP and H.264/AVC. Though higher precision motion vectors take more bits to encode, they can sometimes result in more efficient compression overall, by increasing the quality of the prediction signal.
Α video codec is software or a device that provides encoding and decoding for digital video, and which may or may not include the use of video compression and/or decompression. Most codecs are typically implementations of video coding formats.
Video Acceleration API (VA-API) is an open source application programming interface that allows applications such as VLC media player or GStreamer to use hardware video acceleration capabilities, usually provided by the graphics processing unit (GPU). It is implemented by the free and open-source library libva, combined with a hardware-specific driver, usually provided together with the GPU driver.
X-Video Bitstream Acceleration (XvBA), designed by AMD Graphics for its Radeon GPU and APU, is an arbitrary extension of the X video extension (Xv) for the X Window System on Linux operating-systems. XvBA API allows video programs to offload portions of the video decoding process to the GPU video-hardware. Currently, the portions designed to be offloaded by XvBA onto the GPU are currently motion compensation (MC) and inverse discrete cosine transform (IDCT), and variable-length decoding (VLD) for MPEG-2, MPEG-4 ASP, MPEG-4 AVC (H.264), WMV3, and VC-1 encoded video.
MediaInfo is a free, cross-platform and open-source program that displays technical information about media files, as well as tag information for many audio and video files. It is used in many programs such as XMedia Recode, MediaCoder, eMule, and K-Lite Codec Pack. It can be easily integrated into any program using a supplied MediaInfo.dll. MediaInfo supports popular video formats as well as lesser known or emerging formats. In 2012 MediaInfo 0.7.57 was also distributed in the PortableApps format.
Crystal HD is Broadcom's hardware semiconductor intellectual property (SIP) core that performs video decoding.
Xvid is Free Software and published under the GNU GPL license.
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."
{{cite web}}
: CS1 maint: unfit URL (link)