https://git.reactos.org/?p=reactos.git;a=commitdiff;h=7546f9fee829bf1eb6b6ef...
commit 7546f9fee829bf1eb6b6efc0ca9bc688effec83f Author: Amine Khaldi amine.khaldi@reactos.org AuthorDate: Thu Mar 15 12:25:00 2018 +0100 Commit: Amine Khaldi amine.khaldi@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