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. 00025 * In Lua call require"imlua_avi". \n 00026 * Depends also on the VFW library (vfw32.lib). 00027 * When using the "im_avi.dll" this extra library is not necessary. \n 00028 * If using Cygwin or MingW must link with "-lvfw32". 00029 * Old versions of Cygwin and MingW use the "-lvfw_ms32" and "-lvfw_avi32". 00030 * \par 00031 * See \ref im_format_avi.h 00032 * 00033 * \section Features 00034 * 00035 \verbatim 00036 Data Types: Byte 00037 Color Spaces: RGB, MAP and Binary (Gray saved as MAP) 00038 Compressions (installed in Windows XP by default): 00039 NONE - no compression [default] 00040 RLE - Microsoft RLE (8bpp only) 00041 CINEPACK - Cinepak Codec by Radius 00042 MSVC - Microsoft Video 1 (old) 00043 M261 - Microsoft H.261 Video Codec 00044 M263 - Microsoft H.263 Video Codec 00045 I420 - Intel 4:2:0 Video Codec (same as M263) 00046 IV32 - Intel Indeo Video Codec 3.2 (old) 00047 IV41 - Intel Indeo Video Codec 4.5 (old) 00048 IV50 - Intel Indeo Video 5.1 00049 IYUV - Intel IYUV Codec 00050 MPG4 - Microsoft MPEG-4 Video Codec V1 (not MPEG-4 compliant) (old) 00051 MP42 - Microsoft MPEG-4 Video Codec V2 (not MPEG-4 compliant) 00052 CUSTOM - (show compression dialog) 00053 DIVX - DivX 5.0.4 Codec (DivX must be installed) 00054 (others, must be the 4 charaters of the fourfcc code) 00055 Can have more than one image. 00056 Can have an alpha channel (only for RGB) 00057 Internally the components are always packed. 00058 Lines arranged from top down to bottom or bottom up to top. But are saved always as bottom up. 00059 Handle(0) returns NULL. imBinFile is not supported. 00060 Handle(1) returns PAVIFILE. 00061 Handle(2) returns PAVISTREAM. 00062 00063 Attributes: 00064 FPS IM_FLOAT (1) (should set when writing, default 15) 00065 AVIQuality IM_INT (1) [1-10000, default -1] (write only) [unsed if compression=CUSTOM] 00066 KeyFrameRate IM_INT (1) (write only) [key frame frequency, if 0 not using key frames, default 15, unsed if compression=CUSTOM] 00067 DataRate IM_INT (1) (write only) [kilobits/second, default 2400, unsed if compression=CUSTOM] 00068 00069 Comments: 00070 Reads only the first video stream. Other streams are ignored. 00071 All the images have the same size, you must call imFileReadImageInfo/imFileWriteImageInfo 00072 at least once. 00073 For codecs comparsion and download go to: 00074 http://graphics.lcs.mit.edu/~tbuehler/video/codecs/ 00075 http://www.fourcc.org 00076 \endverbatim 00077 * \ingroup format */ 00078 00079 /** Register the AVI Format. \n 00080 * In Lua, when using require"imlua_avi" this function will be automatically called. 00081 * \ingroup avi */ 00082 void imFormatRegisterAVI(void); 00083 00084 #if defined(__cplusplus) 00085 } 00086 #endif 00087 00088 #endif