summaryrefslogtreecommitdiff
path: root/include/im_format_avi.h
diff options
context:
space:
mode:
authorscuri <scuri>2008-10-17 06:10:15 +0000
committerscuri <scuri>2008-10-17 06:10:15 +0000
commit5a422aba704c375a307a902bafe658342e209906 (patch)
tree5005011e086bb863d8fb587ad3319bbec59b2447 /include/im_format_avi.h
First commit - moving from LuaForge to SourceForge
Diffstat (limited to 'include/im_format_avi.h')
-rw-r--r--include/im_format_avi.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/include/im_format_avi.h b/include/im_format_avi.h
new file mode 100644
index 0000000..32eb7fa
--- /dev/null
+++ b/include/im_format_avi.h
@@ -0,0 +1,87 @@
+/** \file
+ * \brief Register the AVI Format
+ *
+ * See Copyright Notice in im_lib.h
+ */
+
+#ifndef __IM_FORMAT_AVI_H
+#define __IM_FORMAT_AVI_H
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+/** \defgroup avi AVI - Windows Audio-Video Interleaved RIFF
+ * \section Description
+ *
+ * \par
+ * Windows Copyright Microsoft Corporation.
+ * \par
+ * Access to the AVI format uses Windows AVIFile library. Available in Windows Only. \n
+ * When writing a new file you must use an ".avi" extension, or the Windows API will fail. \n
+ * You must link the application with "im_avi.lib"
+ * and you must call the function \ref imFormatRegisterAVI once
+ * to register the format into the IM core library. \n
+ * Depends also on the VFW library (vfw32.lib).
+ * When using the "im_avi.dll" this extra library is not necessary. \n
+ * If using Cygwin or MingW must link with "-lvfw32".
+ * Old versions of Cygwin and MingW use the "-lvfw_ms32" and "-lvfw_avi32".
+ * \par
+ * See \ref im_format_avi.h
+ *
+ * \section Features
+ *
+\verbatim
+ Data Types: Byte
+ Color Spaces: RGB, MAP and Binary (Gray saved as MAP)
+ Compressions (installed in Windows XP by default):
+ NONE - no compression [default]
+ RLE - Microsoft RLE (8bpp only)
+ CINEPACK - Cinepak Codec by Radius
+ MSVC - Microsoft Video 1 (old)
+ M261 - Microsoft H.261 Video Codec
+ M263 - Microsoft H.263 Video Codec
+ I420 - Intel 4:2:0 Video Codec (same as M263)
+ IV32 - Intel Indeo Video Codec 3.2 (old)
+ IV41 - Intel Indeo Video Codec 4.5 (old)
+ IV50 - Intel Indeo Video 5.1
+ IYUV - Intel IYUV Codec
+ MPG4 - Microsoft MPEG-4 Video Codec V1 (not MPEG-4 compliant) (old)
+ MP42 - Microsoft MPEG-4 Video Codec V2 (not MPEG-4 compliant)
+ CUSTOM - (show compression dialog)
+ DIVX - DivX 5.0.4 Codec (DivX must be installed)
+ (others, must be the 4 charaters of the fourfcc code)
+ Can have more than one image.
+ Can have an alpha channel (only for RGB)
+ Internally the components are always packed.
+ Lines arranged from top down to bottom or bottom up to top. But are saved always as bottom up.
+ Handle(0) returns NULL. imBinFile is not supported.
+ Handle(1) returns PAVIFILE.
+ Handle(2) returns PAVISTREAM.
+
+ Attributes:
+ FPS IM_FLOAT (1) (should set when writing, default 15)
+ AVIQuality IM_INT (1) [1-10000, default -1] (write only)
+ KeyFrameRate IM_INT (1) (write only) [key frame frequency, if 0 not using key frames, default 15]
+ DataRate IM_INT (1) (write only) [kilobits/second, default 2400]
+
+ Comments:
+ Reads only the first video stream. Other streams are ignored.
+ All the images have the same size, you must call imFileReadImageInfo/imFileWriteImageInfo
+ at least once.
+ For codecs comparsion and download go to:
+ http://graphics.lcs.mit.edu/~tbuehler/video/codecs/
+ http://www.fourcc.org
+\endverbatim
+ * \ingroup format */
+
+/** Register the AVI Format. \n
+ * In Lua, when using require"imlua_avi" this function will be automatically called.
+ * \ingroup avi */
+void imFormatRegisterAVI(void);
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif