[Scummvm-cvs-logs] SF.net SVN: scummvm: [24845] tools/trunk/encode_dxa.cpp
kirben at users.sourceforge.net
kirben at users.sourceforge.net
Mon Dec 11 23:52:35 CET 2006
Revision: 24845
http://scummvm.svn.sourceforge.net/scummvm/?rev=24845&view=rev
Author: kirben
Date: 2006-12-11 14:52:34 -0800 (Mon, 11 Dec 2006)
Log Message:
-----------
Add cyx's patch for endian issues in DXA encoder
Modified Paths:
--------------
tools/trunk/encode_dxa.cpp
Modified: tools/trunk/encode_dxa.cpp
===================================================================
--- tools/trunk/encode_dxa.cpp 2006-12-11 22:48:57 UTC (rev 24844)
+++ tools/trunk/encode_dxa.cpp 2006-12-11 22:52:34 UTC (rev 24845)
@@ -487,13 +487,17 @@
*codeB++ = 30 + count;
memcpy(dataB, pixels, count);
dataB += count;
- memcpy(maskB, &code, codeSize);
+ if (codeSize == 2) {
+ WRITE_BE_UINT16(maskB, code);
+ } else {
+ WRITE_BE_UINT32(maskB, code);
+ }
maskB += codeSize;
} else {
if (diff.count <= 12) {
/* difference map */
*codeB++ = 1;
- *(uint16*)maskB = diff.map;
+ WRITE_BE_UINT16(maskB, diff.map);
maskB += 2;
memcpy(dataB, diff.pixels, diff.count);
dataB += diff.count;
@@ -513,13 +517,13 @@
int size;
size = dataB - _dataBuf;
- memcpy(outb, &size, 4);
+ WRITE_BE_UINT32(outb, size);
outb += 4;
size = motB - _motBuf;
- memcpy(outb, &size, 4);
+ WRITE_BE_UINT32(outb, size);
outb += 4;
size = maskB - _maskBuf;
- memcpy(outb, &size, 4);
+ WRITE_BE_UINT32(outb, size);
outb += 4;
/* this size is always constant throughout a DXA */
@@ -738,7 +742,7 @@
char strbuf[512];
int width, height, framerate, frames;
ScaleMode scaleMode;
-
+
/* compression mode */
gCompMode = kMP3Mode;
int i = 1;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list