DOSBox-X
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator
src/libs/zmbv/zmbv_vfw.h
00001 //
00002 // Huffyuv v2.1.1, by Ben Rudiak-Gould.
00003 // http://www.math.berkeley.edu/~benrg/huffyuv.html
00004 //
00005 // This file is copyright 2000 Ben Rudiak-Gould, and distributed under
00006 // the terms of the GNU General Public License, v2 or later.  See
00007 // http://www.gnu.org/copyleft/gpl.html.
00008 //
00009 // I edit these files in 10-point Verdana, a proportionally-spaced font.
00010 // You may notice formatting oddities if you use a monospaced font.
00011 //
00012 
00013 
00014 #include <windows.h>
00015 #include <vfw.h>
00016 #include <zlib.h>
00017 #include "zmbv.h"
00018 #pragma hdrstop
00019 
00020 extern HMODULE hmoduleCodec;
00021 
00022 
00023 // huffyuv.cpp
00024 
00025 class CodecInst {
00026 private:
00027         VideoCodec * codec;
00028 public:
00029   CodecInst();
00030   ~CodecInst();
00031 
00032   BOOL QueryAbout();
00033   DWORD About(HWND hwnd);
00034 
00035   BOOL QueryConfigure();
00036   DWORD Configure(HWND hwnd);
00037 
00038   DWORD GetState(LPVOID pv, DWORD dwSize);
00039   DWORD SetState(LPVOID pv, DWORD dwSize);
00040 
00041   DWORD GetInfo(ICINFO* icinfo, DWORD dwSize);
00042 
00043   DWORD CompressQuery(LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut);
00044   DWORD CompressGetFormat(LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut);
00045   DWORD CompressBegin(LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut);
00046   DWORD CompressGetSize(LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut);
00047   DWORD Compress(ICCOMPRESS* icinfo, DWORD dwSize);
00048   DWORD CompressEnd();
00049 
00050   DWORD DecompressQuery(LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut);
00051   DWORD DecompressGetFormat(LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut);
00052   DWORD DecompressBegin(LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut);
00053   
00054   DWORD Decompress(ICDECOMPRESS* icinfo, DWORD dwSize);
00055   DWORD DecompressGetPalette(LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut);
00056   DWORD DecompressEnd();
00057 };
00058 
00059 CodecInst* Open(ICOPEN* icinfo);
00060 DWORD Close(CodecInst* pinst);
00061