AltiVec optimized library for MJPEG tools MPEG-1/2 Video Encoder
-----------------------------------------------------------------------------

Copyright (C) 2002  James Klicman <james@klicman.org>

Performance statistics for these optimizations are available at
http://klicman.org/altivec/.


Platform specific comments:

    Linux:
    
	AltiVec enabled compilers are now widely distributed.  However,
	the AltiVec support in the GNU GCC 3.1, 3.2 and even the latest
	3.3.1 release all have known bugs which cause invalid code or
	compile failures. It is likely that release GCC 3.3.2 will
	be a functional compiler for this AltiVec code. Until then,
	gcc 2.96.4 with the Motorola AltiVec patches works just fine
	and may even provide better AltiVec instruction scheduling.
	There are AltiVec enabled GCC compilers maintained by Kaoru
	Fukui at ftp://ppc.linux.or.jp/pub/users/fukui/.

        You will also need a recent binutils package. I've verified that
        binutils-2.12.90.0.7 works. It is also the recommended version
        for GCC 3.1. There may also be suitable binutils packages at
        Kaoru's FTP site.
    
    Mac OS X:
    
        If you have the developer tools, you're all set.


General comments:

    Additional performance can be gained by setting the -mcpu option. For
    GCC 2.95.* use -mcpu=750, for GCC 3.1 and higher try -mcpu=7400 or
    -mcpu=7450.

    This option can be added during configuration by setting the CFLAGS
    environment variable.  Since the encoder (mpeg2enc) and multiplexor
    (mplex) are now written in C++ the CXXFLAGS environment variable should
    also be set.  For example:

    env CFLAGS="-O2 -mcpu=750" CXXFLAGS="-O2 -mcpu=750" ./configure
