01: #ifndef __INCLUDE_AVIPLAY_H__
02: #define __INCLUDE_AVIPLAY_H__
03: //-----------------------------------------------------------------
04: #define ID_OPEN 1000   // ファイル選択
05: #define ID_AVI1 1001   // コマ送り
06: #define ID_AVI2 1002   // 連続再生
07: #define ID_SAVE 1003   // 保存ボタン
08: //-----------------------------------------------------------------
09: typedef struct AVI_STREAM_INFO {
10:     TCHAR      in_path[MAX_PATH];
11:     PAVIFILE   in_file;
12:     PAVISTREAM in_video;
13:     PGETFRAME  in_frame;
14:     AVISTREAMINFO info;
15:     LPBITMAPINFOHEADER lpSrcFmt,lpDecFmt;
16:     LPBYTE lpSrc;
17:     HIC hicd;
18:     LONG lLength,dwLength,SPF,biSize,v_index;
19:     int codec;
20:     RECT dRgn;
21: } AviInfo;
22: //-----------------------------------------------------------------
23: BOOL InitApp(HINSTANCE hInst, LPCSTR szClassName);
24: BOOL InitInstance(HINSTANCE hInst,LPCSTR szClassName,
25:                   LPSTR lpsCmdLine,int nCmdShow);
26: LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
27: void SetWTitle(LPTSTR tstr);
28: char *getfps(void);
29: void set_window(LPBITMAPINFOHEADER bih);
30: UINT OpenFile(LPTSTR lpFname);
31: UINT SaveFile(LPTSTR lpFname);
32: UINT SaveBMP(LPCTSTR lpFname,LPBYTE lpBuf);
33: void AviInit();
34: int  AviOpen();
35: int  codecOpen();
36: void AviReadFrame(int vidx);
37: void AviClose();
38: void AviNext();
39: void AviView();
40: DWORD th_Proc();
41: //-----------------------------------------------------------------
42: 
43: #endif //__INCLUDE_AVIPLAY_H__