[MPlayer-dev-eng] DivX4/DivX5 codecs documentation

Arpi arpi at thot.banki.hu
Thu Mar 28 22:18:32 CET 2002


Hi,

>   Using it is a bit tricky. As it conflicts with the old OpenDivX (its
>   API is very similar to OpenDivX's), OpenDivX code is disabled, and
>   the OpenDivX driver calls this library too.
> 
> Here is what I would make of it:
> 
>   Using it is a bit tricky. As it conflicts with the old OpenDivX (its
>   API is very similar to the new OpenDivX), the new OpenDivX code is
>   disabled, and the OpenDivX driver calls the OpenDivX library, too.

bad

> Still not making much sense, is it?  Can somebody enlighten me on the
> relationship between old and new OpenDivX code?  What should I put in

ok.
start with some history
2001 januar:
project mayo released the source of divx4, called opendivx 0.47
some weeks later: they released opendivx 0.48
2001 march:
they have changed API (interface) of opendivx a bit, now its' incompatible
with latest stable version 0.48, but the cvs version with the new api is
randomly crashing
2001 april:
project mayo closed the source of divx4, renamed itself to divx.com
and released divx4linux (more or less the same as opendivx cvs was)
they've also introduced a new api interface, whiel keeping teh old one.
the old one is the same as opendivx cvs, it exports the yv12 buffers.
the new one is win32-like, it does direct rendering method-2 (rtfm tech/dr-methods.txt)

now:
there is opendivx 0.48 and divx4linux, their interface is very (90%) similar.
they are very similar. they are conflicting because of still using the same
function name (encore() and decore()) so cannot be linked to the same
program at the same time. so, mplayer can have either opendivx or divx4linux
(or xvid, which is the continued development of opendivx cvs) not both.

the current detection ordre in mplayer (afaik):
default: opendivx 0.48 (included with mplayer, will be removed soon)
divx4linux
xvid

so, if the user has xvid, it will be used. if he has no xvid but has
divx4linux, it will eb used. if he has no xvid nor divx4linux (or they are
disabled by --disable-...) then opendivx will be used.

now. mplayer supports both interfaces, the old opendivx-compatible one (-vc
odivx) and the new oen introduced by divx4linux (-vc divx4).
but, as divx4linux supports both interfaces, it works wiht both -vc odivx
and -vc divx4, but different way. odivx: yv12 exporting, divx4: yuy2/rgb
directrendering.

ah, and there is xvid too.
it has a third interface (not yet supported by mplayer) but keeps
compatibility with opendivx (-vc odivx) and divx4linux (-vc divx4).

i doubt you understand now, but i tried to explain :)


A'rpi / Astral & ESP-team

--
Developer of MPlayer, the Movie Player for Linux - http://www.MPlayerHQ.hu



More information about the MPlayer-dev-eng mailing list