IM: im_format_avi.h Source File

IM - An Imaging Tool

im_format_avi.h

Go to the documentation of this file.
00001 /** \file
00002  * \brief Register the AVI Format
00003  *
00004  * See Copyright Notice in im_lib.h
00005  */
00006 
00007 #ifndef __IM_FORMAT_AVI_H
00008 #define __IM_FORMAT_AVI_H
00009 
00010 #if defined(__cplusplus)
00011 extern "C" {
00012 #endif
00013 
00014 /** \defgroup avi AVI - Windows Audio-Video Interleaved RIFF
00015  * \section Description
00016  * 
00017  * \par
00018  * Windows Copyright Microsoft Corporation.
00019  * \par
00020  * Access to the AVI format uses Windows AVIFile library. Available in Windows Only. \n
00021  * When writing a new file you must use an ".avi" extension, or the Windows API will fail. \n
00022  * You must link the application with "im_avi.lib" 
00023  * and you must call the function \ref imFormatRegisterAVI once 
00024  * to register the format into the IM core library. \n
00025  * Depends also on the VFW library (vfw32.lib).
00026  * When using the "im_avi.dll" this extra library is not necessary. \n
00027  * If using Cygwin or MingW must link with "-lvfw32". 
00028  * Old versions of Cygwin and MingW use the "-lvfw_ms32" and "-lvfw_avi32". 
00029  * \par
00030  * See \ref im_format_avi.h
00031  *
00032  * \section Features
00033  *
00034 \verbatim
00035     Data Types: Byte
00036     Color Spaces: RGB, MAP and Binary (Gray saved as MAP)
00037     Compressions (installed in Windows XP by default):
00038       NONE     - no compression [default]
00039       RLE      - Microsoft RLE (8bpp only)
00040       CINEPACK - Cinepak Codec by Radius
00041       MSVC     - Microsoft Video 1 (old)
00042       M261     - Microsoft H.261 Video Codec
00043       M263     - Microsoft H.263 Video Codec
00044       I420     - Intel 4:2:0 Video Codec (same as M263)
00045       IV32     - Intel Indeo Video Codec 3.2 (old)
00046       IV41     - Intel Indeo Video Codec 4.5 (old)
00047       IV50     - Intel Indeo Video 5.1
00048       IYUV     - Intel IYUV Codec
00049       MPG4     - Microsoft MPEG-4 Video Codec V1 (not MPEG-4 compliant) (old)
00050       MP42     - Microsoft MPEG-4 Video Codec V2 (not MPEG-4 compliant)
00051       CUSTOM   - (show compression dialog)
00052       DIVX     - DivX 5.0.4 Codec (DivX must be installed)
00053       (others, must be the 4 charaters of the fourfcc code)
00054     Can have more than one image. 
00055     Can have an alpha channel (only for RGB)
00056     Internally the components are always packed.
00057     Lines arranged from top down to bottom or bottom up to top. But are saved always as bottom up.
00058     Handle(0) returns NULL. imBinFile is not supported.
00059     Handle(1) returns PAVIFILE.
00060     Handle(2) returns PAVISTREAM.
00061  
00062     Attributes:
00063       FPS IM_FLOAT (1) (should set when writing, default 15)
00064       AVIQuality IM_INT (1) [1-10000, default -1] (write only)
00065       KeyFrameRate IM_INT (1) (write only) [key frame frequency, if 0 not using key frames, default 15]
00066       DataRate IM_INT (1) (write only) [kilobits/second, default 2400]
00067 
00068     Comments:
00069       Reads only the first video stream. Other streams are ignored.
00070       All the images have the same size, you must call imFileReadImageInfo/imFileWriteImageInfo 
00071         at least once.
00072       For codecs comparsion and download go to:
00073         http://graphics.lcs.mit.edu/~tbuehler/video/codecs/
00074         http://www.fourcc.org
00075 \endverbatim
00076  * \ingroup format */
00077  
00078 /** Register the AVI Format 
00079  * \ingroup avi */
00080 void imFormatRegisterAVI(void);
00081 
00082 #if defined(__cplusplus)
00083 }
00084 #endif
00085 
00086 #endif