https://git.reactos.org/?p=reactos.git;a=commitdiff;h=7546f9fee829bf1eb6b6e…
commit 7546f9fee829bf1eb6b6efc0ca9bc688effec83f
Author:     Amine Khaldi <amine.khaldi(a)reactos.org>
AuthorDate: Thu Mar 15 12:25:00 2018 +0100
Commit:     Amine Khaldi <amine.khaldi(a)reactos.org>
CommitDate: Thu Mar 15 12:25:00 2018 +0100
    [ICCVID] Sync with Wine Staging 3.3. CORE-14434
---
 dll/win32/iccvid/iccvid.c         | 41 +++++++++++++++------------------------
 dll/win32/iccvid/iccvid_private.h |  2 +-
 media/doc/README.WINE             |  2 +-
 3 files changed, 18 insertions(+), 27 deletions(-)
diff --git a/dll/win32/iccvid/iccvid.c b/dll/win32/iccvid/iccvid.c
index f588b47c55..3977d95a41 100644
--- a/dll/win32/iccvid/iccvid.c
+++ b/dll/win32/iccvid/iccvid.c
@@ -40,21 +40,18 @@
  *       Tim Ferguson: 
http://www.csse.monash.edu.au/~timf/
  * ------------------------------------------------------------------------ */
-#define WIN32_NO_STATUS
-#define _INC_WINDOWS
-#define COM_NO_WINDOWS_H
-
 #include <stdarg.h>
-#include <windef.h>
-#include <winbase.h>
-#include <wingdi.h>
-//#include "winuser.h"
-//#include "commdlg.h"
-#include <vfw.h>
-//#include "mmsystem.h"
+#include "windef.h"
+#include "winbase.h"
+#include "wingdi.h"
+#include "winuser.h"
+#include "commdlg.h"
+#include "vfw.h"
+#include "mmsystem.h"
 #include "iccvid_private.h"
-#include <wine/debug.h>
+#include "wine/debug.h"
+#include "wine/heap.h"
 WINE_DEFAULT_DEBUG_CHANNEL(iccvid);
@@ -85,16 +82,6 @@ typedef struct _ICCVID_Info
     cinepak_info *cvinfo;
 } ICCVID_Info;
-static inline void* __WINE_ALLOC_SIZE(1) heap_alloc(size_t size)
-{
-    return HeapAlloc(GetProcessHeap(), 0, size);
-}
-
-static inline BOOL heap_free(void *mem)
-{
-    return HeapFree(GetProcessHeap(), 0, mem);
-}
-
 /* ------------------------------------------------------------------------ */
 static unsigned char *in_buffer, uiclip[1024], *uiclp = NULL;
@@ -182,6 +169,10 @@ int x, y;
     }
 }
+static inline int get_stride(int width, int depth)
+{
+    return ((depth * width + 31) >> 3) & ~3;
+}
 /* ------------------------------------------------------------------------ */
 static void cvid_v4_32(unsigned char *frm, unsigned char *limit, int stride, BOOL
inverted,
@@ -463,7 +454,7 @@ static void decode_cinepak(cinepak_info *cvinfo, unsigned char *buf,
int size,
             break;
         }
-    frm_stride = out_width * bpp;
+    frm_stride = get_stride(out_width, bpp * 8);
     frm_ptr = output;
     if(frame.length != size)
@@ -848,9 +839,9 @@ static LRESULT ICCVID_DecompressGetFormat( ICCVID_Info *info,
LPBITMAPINFO in, L
     if( out )
     {
         memcpy( out, in, size );
+        out->bmiHeader.biBitCount = 24;
         out->bmiHeader.biCompression = BI_RGB;
-        out->bmiHeader.biSizeImage = in->bmiHeader.biHeight
-                                   * in->bmiHeader.biWidth *4;
+        out->bmiHeader.biSizeImage = get_stride(in->bmiHeader.biWidth, 24) *
in->bmiHeader.biHeight;
         return ICERR_OK;
     }
     return size;
diff --git a/dll/win32/iccvid/iccvid_private.h b/dll/win32/iccvid/iccvid_private.h
index 40319c2376..56b082d844 100644
--- a/dll/win32/iccvid/iccvid_private.h
+++ b/dll/win32/iccvid/iccvid_private.h
@@ -19,7 +19,7 @@
 #ifndef __ICCVID_PRIVATE_H
 #define __ICCVID_PRIVATE_H
-//#include <windef.h>
+#include <windef.h>
 #define IDS_NAME        100
 #define IDS_DESCRIPTION 101
diff --git a/media/doc/README.WINE b/media/doc/README.WINE
index e724dd87db..0fdb236751 100644
--- a/media/doc/README.WINE
+++ b/media/doc/README.WINE
@@ -73,7 +73,7 @@ reactos/dll/win32/hhctrl.ocx          # Synced to WineStaging-3.3
 reactos/dll/win32/hlink               # Synced to WineStaging-3.3
 reactos/dll/win32/hnetcfg             # Synced to WineStaging-3.3
 reactos/dll/win32/httpapi             # Synced to WineStaging-3.3
-reactos/dll/win32/iccvid              # Synced to Wine-3.0
+reactos/dll/win32/iccvid              # Synced to WineStaging-3.3
 reactos/dll/win32/ieframe             # Synced to Wine-3.0
 reactos/dll/win32/imaadp32.acm        # Synced to WineStaging-2.16
 reactos/dll/win32/imagehlp            # Synced to Wine-3.0