Stub implementations for DrawDibChangePalette, DrawDibGetBuffer,
DrawDibTime, ICSeqCompressFrame{,End,Start}.
Forward GetOpenFileNamePreview to GetOpenFileNamePreviewA.

diff --git a/dlls/msvideo/drawdib.c b/dlls/msvideo/drawdib.c
index 47dd99c..6773212 100644
--- a/dlls/msvideo/drawdib.c
+++ b/dlls/msvideo/drawdib.c
@@ -383,6 +383,15 @@
 }
 
 /***********************************************************************
+ *              DrawDibChangePalette       [MSVFW32.@]
+ */
+BOOL VFWAPI DrawDibChangePalette(HDRAWDIB hdd, int iStart, int iLen, LPPALETTEENTRY lppe)
+{
+    FIXME("(%p, 0x%08x, 0x%08x, %p), stub\n", hdd, iStart, iLen, lppe);
+    return TRUE;
+}
+
+/***********************************************************************
  *              DrawDibSetPalette       [MSVFW32.@]
  */
 BOOL VFWAPI DrawDibSetPalette(HDRAWDIB hdd, HPALETTE hpal) 
@@ -406,6 +415,15 @@
 }
 
 /***********************************************************************
+ *              DrawDibGetBuffer       [MSVFW32.@]
+ */
+LPVOID VFWAPI DrawDibGetBuffer(HDRAWDIB hdd, LPBITMAPINFOHEADER lpbi, DWORD dwSize, DWORD dwFlags)
+{
+    FIXME("(%p, %p, 0x%08lx, 0x%08lx), stub\n", hdd, lpbi, dwSize, dwFlags);   
+    return NULL;
+}
+
+/***********************************************************************
  *              DrawDibGetPalette       [MSVFW32.@]
  */
 HPALETTE VFWAPI DrawDibGetPalette(HDRAWDIB hdd) 
@@ -451,6 +469,18 @@
     return ret;
 }
 
+/***********************************************************************
+ *              DrawDibTime          [MSVFW32.@]
+ */
+BOOL VFWAPI DrawDibTime(HDRAWDIB hdd, LPDRAWDIBTIME lpddtime)
+{
+    FIXME("(%p, %p) stub\n", hdd, lpddtime);
+    return FALSE;
+}
+
+/***********************************************************************
+ *              DrawDibProfileDisplay          [MSVFW32.@]
+ */
 DWORD VFWAPI DrawDibProfileDisplay(LPBITMAPINFOHEADER lpbi)
 {
     FIXME("(%p) stub\n", lpbi);
diff --git a/dlls/msvideo/msvfw32.spec b/dlls/msvideo/msvfw32.spec
index 9590f91..dde1b9d 100644
--- a/dlls/msvideo/msvfw32.spec
+++ b/dlls/msvideo/msvfw32.spec
@@ -4,11 +4,11 @@
 2 stdcall VideoForWindowsVersion()
 
 @ stdcall DrawDibBegin(long long long long ptr long long long)
-@ stub    DrawDibChangePalette
+@ stdcall DrawDibChangePalette(long long long ptr)
 @ stdcall DrawDibClose(long)
 @ stdcall DrawDibDraw(long long long long long long ptr ptr long long long long long)
 @ stdcall DrawDibEnd(long)
-@ stub    DrawDibGetBuffer
+@ stdcall DrawDibGetBuffer(long ptr long long)
 @ stdcall DrawDibGetPalette(long)
 @ stdcall DrawDibOpen()
 @ stdcall DrawDibProfileDisplay(ptr)
@@ -16,8 +16,8 @@
 @ stdcall DrawDibSetPalette(long long)
 @ stdcall DrawDibStart(long long)
 @ stdcall DrawDibStop(long)
-@ stub    DrawDibTime
-@ stub    GetOpenFileNamePreview
+@ stdcall DrawDibTime(long ptr)
+@ stdcall GetOpenFileNamePreview(ptr) GetOpenFileNamePreviewA
 @ stdcall GetOpenFileNamePreviewA(ptr)
 @ stdcall GetOpenFileNamePreviewW(ptr)
 @ stdcall GetSaveFileNamePreviewA(ptr)
@@ -41,9 +41,9 @@
 @ stdcall ICOpenFunction(long long long ptr)
 @ stdcall ICRemove(long long long)
 @ stdcall ICSendMessage(long long long long)
-@ stub    ICSeqCompressFrame
-@ stub    ICSeqCompressFrameEnd
-@ stub    ICSeqCompressFrameStart
+@ stdcall ICSeqCompressFrame(ptr long ptr ptr ptr)
+@ stdcall ICSeqCompressFrameEnd(ptr)
+@ stdcall ICSeqCompressFrameStart(ptr ptr)
 @ cdecl   MCIWndCreate (long long long str) MCIWndCreateA
 @ cdecl   MCIWndCreateA (long long long str)
 @ cdecl   MCIWndCreateW (long long long wstr)
diff --git a/dlls/msvideo/msvideo_main.c b/dlls/msvideo/msvideo_main.c
index 14e5aeb..032dff1 100644
--- a/dlls/msvideo/msvideo_main.c
+++ b/dlls/msvideo/msvideo_main.c
@@ -702,7 +702,6 @@
 	return ret;
 }
 
-
 /***********************************************************************
  *		ICCompressorChoose   [MSVFW32.@]
  */
@@ -1114,6 +1113,35 @@
 	return (HANDLE)hMem;
 }
 
+/***********************************************************************
+ *      ICSeqCompressFrame   [MSVFW32.@]
+ */
+LPVOID VFWAPI ICSeqCompressFrame(PCOMPVARS pc, UINT uiFlags, LPVOID lpBits, BOOL *pfKey, LONG *plSize)
+{
+    FIXME("(%p, 0x%08x, %p, %p, %p), stub!\n", pc, uiFlags, lpBits, pfKey, plSize);
+    return NULL;
+}
+
+/***********************************************************************
+ *      ICSeqCompressFrameEnd   [MSVFW32.@]
+ */
+void VFWAPI ICSeqCompressFrameEnd(PCOMPVARS pc)
+{
+    FIXME("(%p), stub!\n", pc);
+}
+
+/***********************************************************************
+ *      ICSeqCompressFrameEnd   [MSVFW32.@]
+ */
+BOOL VFWAPI ICSeqCompressFrameStart(PCOMPVARS pc, LPBITMAPINFO lpbiIn)
+{
+    FIXME("(%p, %p), stub!\n", pc, lpbiIn);
+    return TRUE;
+}
+
+/***********************************************************************
+ *      GetFileNamePreview   [MSVFW32.@]
+ */
 static BOOL GetFileNamePreview(LPVOID lpofn,BOOL bSave,BOOL bUnicode)
 {
   CHAR    szFunctionName[20];
diff --git a/include/vfw.h b/include/vfw.h
index f70499a..9dec2c7 100644
--- a/include/vfw.h
+++ b/include/vfw.h
@@ -1554,6 +1554,17 @@
  * DrawDib declarations
  */
 
+typedef struct
+{ 
+    LONG    timeCount; 
+    LONG    timeDraw; 
+    LONG    timeDecompress; 
+    LONG    timeDither; 
+    LONG    timeStretch; 
+    LONG    timeBlt; 
+    LONG    timeSetDIBits; 
+} DRAWDIBTIME, *LPDRAWDIBTIME; 
+
 HDRAWDIB VFWAPI DrawDibOpen( void );
 UINT VFWAPI DrawDibRealize(HDRAWDIB hdd, HDC hdc, BOOL fBackground);
 
@@ -1595,6 +1606,7 @@
 
 BOOL VFWAPI DrawDibEnd(HDRAWDIB hdd);
 BOOL VFWAPI DrawDibClose(HDRAWDIB hdd);
+BOOL VFWAPI DrawDibTime(HDRAWDIB hdd, LPDRAWDIBTIME lpddtime);
 
 /* display profiling */
 #define PD_CAN_DRAW_DIB         0x0001