This directory contains indeo5 related files for FFmpeg.

Description of the files:
--------------------------

Indeo5 docs:
-------------

Basic indeo5 documentation is in the process of being produced at:
http://wiki.multimedia.cx/index.php?title=Indeo_5

Please be aware of the following important design specifics of the indeo5 codec:

1. Indeo5 operates on the pixels in the range [-128...127]. It was made in
   order to make the values compatible with the slant transform which requires
   both negative and positive numbers. The conversions look like this:

        encoder -> internal_pixel = pixel - 128;
        decoder -> pixel = clip((internal_pixel + 128), 0, 255);

2. The 5/3 wavelet filter used for splitting the signal into several bands
   requires at least 10-bit precision of the internal pixel values.
   Therefore my decoder operates completely on the 16-bit pixels by using the
   IDWTELEM data type. Only at the last step (output a plane) those pixels
   will be clipped to fit the 8-bit output values. This design requires
   special motion compensation routines operating on the IDWTELEM data type.
   The internal motion compensation routines (put_pixels stuff) cannot be
   used in this case!!!

3. The 5/3 wavelet filter of indeo5 differs from the standard one in that it
   scales the high-pass coefficients by the value -1/2. It should be possible
   to reuse Snow code (see snow.c:spatial_compose53i) which implements the
   same wavelet but upscale the indeo5 coefficients by -2 before calling this
   function. Maybe it will be possible to integrate the upscale step directly
   into this function...

4. Please work with debugging features (see "IVI_DEBUG" in my code)
   enabled in order to ensure you don't break anything!

For further details please read the source or ask me...
