Alpha release:

This is an alpha release.  There are significant known problems.
I expect there to be signifigant unknown problems.

I don't actually know of any real bugs in the program, mostly
just missing features and lack of things in the build process.

Features:

Reads raw PPM images and produces either a rgb24 AVI file (basically
uncompressed), or a CRAM16 AVI file (somewhat compressed, unfortunately,
also lossy).  The AVI file is written as each frame is processed,
so relatively little memory is needed to create *huge* animations.

Requirements:

A C++ compiler.  I don't use any exotic C++ classes.  ANSI C libraries
and headers that can be used from C++ (I use normal C stdio for image
output, and C++ streams just for the status output).

You also need something to create raw PPM images.  POVRAY 3.0 can
generate them as a native output format.  The NETPBM package can
convert most image formats into PPM files, and "pnmnoraw" (in
NETPBM) can make sure they are raw PPM files.

Other then the Makefile there should be no BSDI or BSD4.4 dependencies.
I don't think there are any "Unix" dependencies, either.  There
are no byte order dependencies, nor struct packing dependencies.
There are some dependencies on the minimum size of int (I think I
require at least 16 bits, but I could have messed up), or long (at
least 32 bits).

Build process:

If you are on a machine with a BSD4.4 style make (aka "pmake"), type make and
you are done.

If you are not on a machine with a BSD4.4 style make you will have
to build your own make file.  If you create a relatively portable one
send me a copy & I'll include it in the next release (maybe).

Test process:

I don't distribute a test data set, so there isn't really a test
process.

Usage:

 mkavi [-codec cram16|rgb24] [-file output-file] ppm-raw-images ...

mkavi will read in the ppm images specified on the command line
and write image frames to the output file.  The output file will
default to new.avi if none is specified.  The output format will
default to cram16 if none is specified.

mkavi will send a huge amount of status information to stderr.

Problem reports:

Before you try contacting me please make sure you have the
current version (which you should allways be able to find
at ftp://www.va.pubnix.com/staff/stripes/code/mkavi.tar.gz ).

If you have trouble compiling (or unpacking) this program don't
ask me for help (however if you have patches, that's good!).  That
may sound harsh, but I don't have a whole lot of free time *and*
this is an alpha release.  That means "Work In Progress, Expected
to Explode".  When I get to a real release then I will be more
willing to offer help.

If you have requests for more features I am again not very interested.
(For the same reasons *and* because I have lots of features of my
own I would like to add.)  However if you have a patch that implements
new features, then I am interested.

If you think you have found a bug and you can either supply lots
of information about it (including exact error messages) or can
supply data needed to reproduce the error, then I would like to
know about the bug.

If the bug is "when I try to play the animation with FOO I get 'bad
animation'", I am not all that interested, unless FOO was good enough
to say what it thought was wrong with the animation, in which case
please let me know the exact error message.

If you want to contact me please send the mail to "stripes@pix.com",
and include "mkavi" in the subject line.

Copyright:

Copyright (C) 1996 by Josh Osborne
All rights reserved.

This software may be freely copied, modified and redistributed without
fee for non-commercial purposes provided that this copyright notice is
preserved intact on all copies and modified copies.

There is no warranty or other guarantee of fitness of this software.
It is provided solely "as is". The author(s) disclaim(s) all
responsibility and liability with respect to this software's usage
or its effect upon hardware, computer systems, other software, or
anything else.
