1 /* 2 * Copyright 2002 Michael Günnewig 3 * 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. 8 * 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. 13 * 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 17 */ 18 19 #ifndef __MSRLE32_PRIVATE_H 20 #define __MSRLE32_PRIVATE_H 21 22 #define WIN32_NO_STATUS 23 #define _INC_WINDOWS 24 #define COM_NO_WINDOWS_H 25 26 #ifndef RC_INVOKED 27 #include <stdarg.h> 28 #endif 29 30 #include <windef.h> 31 #include <winbase.h> 32 //#include "mmsystem.h" 33 #include <wingdi.h> 34 //#include "winuser.h" 35 #include <vfw.h> 36 37 #define IDS_NAME 100 38 #define IDS_DESCRIPTION 101 39 #define IDS_ABOUT 102 40 41 #define MSRLE32_DEFAULTQUALITY (85 * ICQUALITY_HIGH) / 100 42 43 #define FOURCC_RLE mmioFOURCC('R','L','E',' ') 44 #define FOURCC_RLE4 mmioFOURCC('R','L','E','4') 45 #define FOURCC_RLE8 mmioFOURCC('R','L','E','8') 46 #define FOURCC_MRLE mmioFOURCC('M','R','L','E') 47 48 #define WIDTHBYTES(i) ((WORD)((i+31u)&(~31u))/8u) /* ULONG aligned ! */ 49 #define DIBWIDTHBYTES(bi) WIDTHBYTES((WORD)(bi).biWidth * (WORD)(bi).biBitCount) 50 51 typedef struct _CodecInfo { 52 FOURCC fccHandler; 53 54 BOOL bCompress; 55 LONG nPrevFrame; 56 LPWORD pPrevFrame; 57 LPWORD pCurFrame; 58 59 BOOL bDecompress; 60 LPBYTE palette_map; 61 } CodecInfo; 62 63 typedef const BITMAPINFOHEADER * LPCBITMAPINFOHEADER; 64 65 #endif 66