在1998年以前,PC 上唯一能用的 MPEG-4 編碼器是由微軟所開發的,包括 MS MPEG4 V1、MS MPEG4 V2、MS MPEG4 V3 的系列編碼核心。其中前面兩種都可以用來製作 AVI 檔案,至今都作為 Windows 的默認組件。不過 V1 和 V2 的編碼質量都還不太好,直到 MS MPEG4 V3 開始,畫面質量有了顯著的進步。不過微軟卻決定將這個 MS MPEG4 V3 的視頻編碼核心封閉在 Windows Media 流媒體技術——也就是我們熟知的 ASF 格式之中,不再能用於 AVI 格式。ASF 格式當然有一些好處,但是過於封閉甚至不能被編輯,惹惱了天不怕地不怕的電影駭客。很快便有小組修改了微軟的 MS MPEG4 V3,解除了不能用於 AVI 格式的限制,並開放了其中一些壓縮參數,由此,也就誕生了我們今天所熟悉的 MPEG4 編碼器 DivX;-)3.11。
DivX廣泛流行,成為 DVDRip 的標準,問題是,它的基礎技術是非法盜用微軟的,只能在地下里流傳卻上不了台面,無法進行更廣泛的產品化,更無法生產硬體播放機。在這種情況下,一些精通視頻編碼的工程師 (包括原 DivX 3.11 的開發者) 成立了一家名為 DivX Networks Inc. 的公司,簡稱 DXN。DXN 發起一個開放原始碼項目 Project Mayo,目標是開發一套全新的、開放原始碼的 MPEG4 編碼軟體。特別是完全符合 ISO MPEG4 標準的 Open DivX CODEC 吸引了許多軟體高手參與,並很快開發出Open DivX 編碼器和解碼器原型,之後又開發出更高性能的編碼器 Encore 2 等等。這一時期,主要編碼工作是 DXN 的人在做,而許多技術難關的解決得力於來自開放原始碼社會的幫助。
就在一切都看]起來進展順利的時候,好戲上演了。Project Mayo 當然是開放原始碼,但不是依據 GPL (通用公共許可證,一種開放原始碼項目中常用的保障自由使用和自由修改軟體權利的協定)而是LGPL協定(LGPL協定:次級GPL(Lesser GPL),與GPL一樣,是一種公共許可證。與GPL的最大不同是它允許私有。)。DXN 在設計授權協定時留了一手,2001 年 7 月,就在 Encore 2 基本成型,差不多可以產品化的時候,DXN 另搞了一個 DIVX 網站,封閉了原始代碼,發布了他們自己的 DivX 4。DivX 4 的基礎就是 Open DivX中的 Encore 2,但利用了 DivX 的牌號,出乎意料的擺了所有人預料。由於DXN 不再參與,Project Mayo 陷於停頓,Encore 2 的原始代碼也被 DXN 從伺服器上撤下。經過激烈的爭論,DXN 當然承認 Encore 2 在法律上是開放的,但仍然拒絕把它放回伺服器。開源社區就這樣被狠狠地涮了一回。
Open DivX 尚不能實際使用,而 DivX 4 (以及後續的收費版本DivX 5) 等成了私有財產,許多人為打破微軟壟斷而無償付出的智慧型和勞動僅僅是幫助了 DXN 公司發財。這種結果當然是不能被接受的,因此,整個 0dayz 組織永遠的拒絕了 DXN 公司的 DivX4/5,而原 Open DivX 開發組中的倖存者,逐漸重新聚攏開發力量,在最後一個 Open DivX 版本的基礎上,發展出了 XviD。
劫後餘生的 XviD 到現在又度過了近 1 年時間,它繼承並發展了 Open DivX Encore 2,性能得到極大提高,被認為目前世界上速度最快的 MPEG4 CODEC。XviD重寫了所有代碼,並吸取前車之鑑依照 GPL 發布 (注意不再是 LGPL,所以誰要是想用它做成產品而不開放原始碼是非法的)。不過,因為 MPEG4 還存在專利權的問題,所以 XviD 只能仿照 LAME 的做法,僅僅作為對如何實現 ISO MPEG-4 標準的一種研究交流,網站上只提供原始碼,如果要使用就要自己編譯原始碼或者到第三方網站下載編譯好的可運行版本。
想當初Gaj 之流的幾個傢伙搞 Open DivX 的時候,一開始是很像一個像模像樣的開放原始碼項目,很多人都被吸引過去一起開發,測試。直到後來,那幾個傢伙一夜之間露出騙子的本來面目了,把 Open DivX 的成果一股腦帶走,變成了封閉原始碼的 DivX4,而後進一步變成現在的收費的 DivX 5 了。本來很好的 Open DivX 被逼流產,不過也就促成了今天 XviD 的誕生、發展和壯大。現在的 XviD 更可以說超越了 DivX 5,以更好的質量,更強的功能挑戰著新一代的 MPEG4 套用戰場。
另一個 XviD 中引人注目的技術發展,就是 B 幀。我們知道 I 幀就是關鍵幀,P 幀在關鍵幀之間,只儲存與之前一幅已解壓畫面的差值。B 幀與 P 幀的原理一樣,但除了三者之前解壓了的畫面外,亦會參考後面一幀中的畫面信息。因此 B 幀解壓出來的畫面比P幀就要來的好。
之前的 MPEG4 編碼核心都僅僅使用了 I 幀和 P 幀存儲畫面。如果能在此基礎上使用 B 幀技術,自然可以在畫質和壓縮比上更上一層樓。目前 XviD 已經為開發人員提供了測試性質 B 幀體驗版的 XviD 編碼核心,相信不久的將來,XviD 就可以把 MPEG4 編碼的優勢發揮到極致,成為網上視頻記錄格式的盟主。