[DllImport("MSVFW32.dll")]
public static extern int ICLocate(
int fccType,
int fccHandler,
ref BITMAPINFOHEADER lpbiIn,
ref BITMAPINFOHEADER lpbiOut,
short wFlags
);
[DllImport("MSVFW32.dll"), PreserveSig]
public static extern int ICDecompressOpen(
int fccType,
int fccHandler,
ref BITMAPINFOHEADER lpbiIn,
ref BITMAPINFOHEADER lpbiOut
);
[DllImport("MSVFW32.dll")]
public static extern int ICClose(int hic);
[DllImport("MSVFW32.dll")]
public static extern int ICCompress(
int hic,
int dwFlags, // flags
ref BITMAPINFOHEADER lpbiOutput, // output format
IntPtr lpData, // output data
ref BITMAPINFOHEADER lpbiInput, // format of frame to compress
IntPtr lpBits, // frame data to compress
int lpckid, // ckid for data in AVI file
int lpdwFlags, // flags in the AVI index.
int lFrameNum, // frame number of seq.
int dwFrameSize, // reqested size in bytes. (if non zero)
int dwQuality, // quality within one frame
int lpbiPrev, // format of previous frame
int lpPrev // previous frame
);
[DllImport("MSVFW32.dll")]
public static extern int ICDecompress(
int hic,
//IntPtr hic,
//int dwFlags,
uint dwFlags,
ref BITMAPINFOHEADER lpbiFormat,
byte[] lpData,
ref BITMAPINFOHEADER lpbi,
byte[] lpBits
);
[DllImport("MSVFW32.dll")]
public static extern int ICSendMessage(int hic, int msg, ref BITMAPINFO dw1, ref BITMAPINFO dw2);
[DllImport("MSVFW32.dll")]
public static extern int ICSendMessage(int hic, int msg, int dw1, int dw2);
[DllImport("MSVFW32.dll")]
public static extern int ICSendMessage(int hic, int msg, ICINFO dw1, int dw2);
public static readonly int DRV_USER = 0x4000;
public static readonly int ICM_USER = (DRV_USER + 0x0000);
public static readonly int ICM_COMPRESS_BEGIN = (ICM_USER + 7); // begin a series of compress calls.
public static readonly int ICM_COMPRESS = (ICM_USER + 8); // compress a frame
public static readonly int ICM_COMPRESS_END = (ICM_USER + 9); // end of a series of compress calls.
public static readonly int ICM_COMPRESS_GET_FORMAT = (ICM_USER + 4);
public static readonly int ICM_DECOMPRESS_BEGIN = (ICM_USER + 12); // start a series of decompress calls
public static readonly int ICM_DECOMPRESS = (ICM_USER + 13); // decompress a frame
public static readonly int ICM_DECOMPRESS_END = (ICM_USER + 14);
public static readonly int ICERR_OK = 0x0;
#endregion
}
}