/* * Copyright 2002 Michael Günnewig * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ #ifndef __AVIFILE_PRIVATE_H #define __AVIFILE_PRIVATE_H #ifndef MAX_AVISTREAMS #define MAX_AVISTREAMS 8 #endif #ifndef DIBWIDTHBYTES #define WIDTHBYTES(i) (((i+31)&(~31))/8) #define DIBWIDTHBYTES(bi) WIDTHBYTES((bi).biWidth * (bi).biBitCount) #endif #ifndef DIBPTR #define DIBPTR(lp) ((LPBYTE)(lp) + (lp)->biSize + \ (lp)->biClrUsed * sizeof(RGBQUAD)) #endif #define IDD_SAVEOPTIONS 0x0100 #define IDC_INTERLEAVE 0x0110 #define IDC_INTERLEAVEEVERY 0x0111 #define IDC_STREAM 0x0112 #define IDC_OPTIONS 0x0113 #define IDC_FORMATTEXT 0x0114 #define IDS_WAVESTREAMFORMAT 0x0100 #define IDS_WAVEFILETYPE 0x0101 #define IDS_ALLMULTIMEDIA 0x0184 #define IDS_ALLFILES 0x0185 #define IDS_VIDEO 0x0189 #define IDS_AUDIO 0x0190 #define IDS_AVISTREAMFORMAT 0x0191 #define IDS_AVIFILETYPE 0x0192 #define IDS_UNCOMPRESSED 0x0193 DEFINE_AVIGUID(CLSID_ICMStream, 0x00020001, 0, 0); DEFINE_AVIGUID(CLSID_WAVFile, 0x00020003, 0, 0); DEFINE_AVIGUID(CLSID_ACMStream, 0x0002000F, 0, 0); DEFINE_AVIGUID(IID_IEditStreamInternal, 0x0002000A,0,0); extern HMODULE AVIFILE_hModule; extern HRESULT AVIFILE_CreateAVIFile(REFIID riid, LPVOID *ppobj); extern HRESULT AVIFILE_CreateWAVFile(REFIID riid, LPVOID *ppobj); extern HRESULT AVIFILE_CreateACMStream(REFIID riid, LPVOID *ppobj); extern HRESULT AVIFILE_CreateICMStream(REFIID riid, LPVOID *ppobj); extern PAVIEDITSTREAM AVIFILE_CreateEditStream(PAVISTREAM pstream); extern PGETFRAME AVIFILE_CreateGetFrame(PAVISTREAM pstream); extern PAVIFILE AVIFILE_CreateAVITempFile(int nStreams,PAVISTREAM *ppStreams); extern LPCWSTR AVIFILE_BasenameW(LPCWSTR szFileName); #endif