2 * Copyright 2002 Michael Günnewig
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __AVIFILE_PRIVATE_H
20 #define __AVIFILE_PRIVATE_H
25 #define WIN32_NO_STATUS
27 #define COM_NO_WINDOWS_H
36 #include <wine/debug.h>
37 #include <wine/unicode.h>
39 #include "extrachunk.h"
42 WINE_DEFAULT_DEBUG_CHANNEL(avifile
);
44 #ifndef MAX_AVISTREAMS
45 #define MAX_AVISTREAMS 8
49 #define WIDTHBYTES(i) (((i+31)&(~31))/8)
50 #define DIBWIDTHBYTES(bi) WIDTHBYTES((bi).biWidth * (bi).biBitCount)
54 #define DIBPTR(lp) ((LPBYTE)(lp) + (lp)->biSize + \
55 (lp)->biClrUsed * sizeof(RGBQUAD))
58 DEFINE_AVIGUID(CLSID_ICMStream
, 0x00020001, 0, 0);
59 DEFINE_AVIGUID(CLSID_WAVFile
, 0x00020003, 0, 0);
60 DEFINE_AVIGUID(CLSID_ACMStream
, 0x0002000F, 0, 0);
62 extern HMODULE AVIFILE_hModule DECLSPEC_HIDDEN
;
64 extern HRESULT
AVIFILE_CreateAVIFile(IUnknown
*pUnkOuter
, REFIID riid
, LPVOID
*ppobj
) DECLSPEC_HIDDEN
;
65 extern HRESULT
AVIFILE_CreateWAVFile(IUnknown
*outer_unk
, REFIID riid
, void **ret_iface
) DECLSPEC_HIDDEN
;
66 extern HRESULT
AVIFILE_CreateACMStream(REFIID riid
, LPVOID
*ppobj
) DECLSPEC_HIDDEN
;
67 extern HRESULT
AVIFILE_CreateICMStream(REFIID riid
, LPVOID
*ppobj
) DECLSPEC_HIDDEN
;
68 extern PAVIEDITSTREAM
AVIFILE_CreateEditStream(PAVISTREAM pstream
) DECLSPEC_HIDDEN
;
69 extern PGETFRAME
AVIFILE_CreateGetFrame(PAVISTREAM pstream
) DECLSPEC_HIDDEN
;
70 extern PAVIFILE
AVIFILE_CreateAVITempFile(int nStreams
, const PAVISTREAM
*ppStreams
) DECLSPEC_HIDDEN
;
72 extern LPCWSTR
AVIFILE_BasenameW(LPCWSTR szFileName
) DECLSPEC_HIDDEN
;
74 #endif /* __AVIFILE_PRIVATE_H */