[MPlayer-dev-eng] OpenDivX is not closed source (Documentation bug)

Alex Kloss alex at pc01249.Jura.Uni-Marburg.DE
Wed Dec 11 13:53:15 CET 2002


Hello, MPlayer developers!

I know you're busy at making MPlayer even better than it's now (doing the
almost impossible) :-) So I want to keep it short. Your Docs say that
Project Mayo's OpenDivX is closed source, which is not true. What IS true
is following: you can't easily compile it with Linux and you've gotta get
the CVS Version (and their docs about how to access the CVS are outdated)
so you may want to include the following lines into your docs:

--snip

Project Mayo's OpenDivX was considered closed source, but is open source
(though it's not clear under which license): 'We consulted our vice pre-
sident of strategy - the magic eight ball - one night and asked if we
should open up the OpenDivX source. It said "it is decided so", and you
can't argue with that."... I guess it's LGPL or BSD style license (if
you actually care about it, ask the developers).

Project Mayo's OpenDivX codec are mostly useful for encoding, so grab the
binaries here (http://avifile.sourceforge.net or http://divx.com) or get
the CVS version of the core library:

cvs -d:pserver:anonymous at cvs.projectmayo.com:/cvsroot login
cvs -d:pserver:anonymous at cvs.projectmayo.com:/cvsroot co divxcore

This core library is splitted into decore and encore library; both have
to be compiled solitary. For the decore Library, simply type

cd divxcore/decore/build/linux
make
cp libdivxdecore.so /usr/local/lib 
ln -s /usr/local/lib/libdivxdecore.so /usr/local/lib/libdivxdecore.so.0 
cp ../../src/decore.h /usr/local/include

Alas, for the encore library there's no Linux Makefile available, and the
mmx optimized code works only on Win32. You can still compile it, though,
by using the following Makefile (attached):

cd ../../../encore/build
mkdir linux
cd linux
cp <where the Makefile is> .
make
cp libdivxencore.so /usr/local/lib
ln -s /usr/local/lib/libdivxdecore.so /usr/local/lib/libdivxdecore.so.0
cp ../../src/encore.h /usr/local/include

And do not forget to run

ldconfig

afterwards. Decoding as well as encoding works for me this way. Anyway,
libavcodec is faster for decoding for me.

--snap

Add stuff of your current documentation at free will.

btw., I'm the author of the LFS mplayer hint. If you've got any 
suggestions or like me to contribute to your documentation, well,
you've got my reply-to-address.

Thanks for listening :-)

Alex Kloss
--
MHz measures the million times your CPU does nothing...--/me
-------------- next part --------------
CC=gcc

SRCDIR=../../src

CFLAGS_INTEL=-D_ATT_SYNTAX -I$(SRCDIR)

CFLAGS=-g -fPIC -Wall -DLINUX -D_DECORE -I$(SRCDIR) $(CFLAGS_PLATFORM)

SOURCES=$(SRCDIR)/_test_main.c $(SRCDIR)/encore.c \
    $(SRCDIR)/bitstream.c $(SRCDIR)/mom_access.c $(SRCDIR)/mom_util.c \
    $(SRCDIR)/mot_code.c $(SRCDIR)/mot_est_comp.c $(SRCDIR)/mot_est_mb.c \
    $(SRCDIR)/mot_util.c $(SRCDIR)/putvlc.c $(SRCDIR)/rate_ctl.c \
    $(SRCDIR)/text_bits.c $(SRCDIR)/text_code.c $(SRCDIR)/text_code_mb.c \
    $(SRCDIR)/text_dct.c $(SRCDIR)/vop_code.c

    
OBJECTS=$(SOURCES:.c=.o) $(SOURCES_PLATFORM:.c=.o)

all: libdivxencore.so

libdivxencore.so: $(OBJECTS)
	$(CC) -shared -lc -lm $^ -o $@

clean:
	rm -f libdivxencore.so $(OBJECTS)


More information about the MPlayer-dev-eng mailing list