projects
/
reactos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[ICCVID] Sync with Wine Staging 3.3. CORE-14434
[reactos.git]
/
dll
/
win32
/
iccvid
/
iccvid.c
diff --git
a/dll/win32/iccvid/iccvid.c
b/dll/win32/iccvid/iccvid.c
index
f588b47
..
3977d95
100644
(file)
--- 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/
* ------------------------------------------------------------------------ */
* 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 <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 "iccvid_private.h"
-#include <wine/debug.h>
+#include "wine/debug.h"
+#include "wine/heap.h"
WINE_DEFAULT_DEBUG_CHANNEL(iccvid);
WINE_DEFAULT_DEBUG_CHANNEL(iccvid);
@@
-85,16
+82,6
@@
typedef struct _ICCVID_Info
cinepak_info *cvinfo;
} 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;
/* ------------------------------------------------------------------------ */
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,
/* ------------------------------------------------------------------------ */
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;
}
break;
}
- frm_stride =
out_width * bpp
;
+ frm_stride =
get_stride(out_width, bpp * 8)
;
frm_ptr = output;
if(frame.length != size)
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 );
if( out )
{
memcpy( out, in, size );
+ out->bmiHeader.biBitCount = 24;
out->bmiHeader.biCompression = BI_RGB;
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;
return ICERR_OK;
}
return size;