Wave64 patch from Janne Hyvrinen <cse@sci.fi>.

GUID had one word incorrectly in little endian order.
diff --git a/src/flac/decode.c b/src/flac/decode.c
index 2f2c311..cc6bdc5 100644
--- a/src/flac/decode.c
+++ b/src/flac/decode.c
@@ -615,12 +615,12 @@
 				break;
 			case FORMAT_WAVE64:
 				/* RIFF GUID 66666972-912E-11CF-A5D6-28DB04C10000 */
-				if(flac__utils_fwrite("\x72\x69\x66\x66\x2E\x91\xCF\x11\xD6\xA5\x28\xDB\x04\xC1\x00\x00", 1, 16, f) != 16)
+				if(flac__utils_fwrite("\x72\x69\x66\x66\x2E\x91\xCF\x11\xA5\xD6\x28\xDB\x04\xC1\x00\x00", 1, 16, f) != 16)
 					return false;
 				if(!write_little_endian_uint64(f, iff_size))
 					return false;
 				/* WAVE GUID 65766177-ACF3-11D3-8CD1-00C04F8EDB8A */
-				if(flac__utils_fwrite("\x77\x61\x76\x65\xF3\xAC\xD3\x11\xD1\x8C\x00\xC0\x4F\x8E\xDB\x8A", 1, 16, f) != 16)
+				if(flac__utils_fwrite("\x77\x61\x76\x65\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 1, 16, f) != 16)
 					return false;
 				break;
 			case FORMAT_RF64:
@@ -676,7 +676,7 @@
 		}
 		else { /* Wave64 */
 			/* fmt GUID 20746D66-ACF3-11D3-8CD1-00C04F8EDB8A */
-			if(flac__utils_fwrite("\x66\x6D\x74\x20\xF3\xAC\xD3\x11\xD1\x8C\x00\xC0\x4F\x8E\xDB\x8A", 1, 16, f) != 16)
+			if(flac__utils_fwrite("\x66\x6D\x74\x20\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 1, 16, f) != 16)
 				return false;
 			/* chunk size (+16+8 for GUID and size fields) */
 			if(!write_little_endian_uint64(f, 16+8+(is_waveformatextensible?40:16)))
@@ -706,7 +706,7 @@
 		}
 		else { /* Wave64 */
 			/* data GUID 61746164-ACF3-11D3-8CD1-00C04F8EDB8A */
-			if(flac__utils_fwrite("\x64\x61\x74\x61\xF3\xAC\xD3\x11\xD1\x8C\x00\xC0\x4F\x8E\xDB\x8A", 1, 16, f) != 16)
+			if(flac__utils_fwrite("\x64\x61\x74\x61\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 1, 16, f) != 16)
 				return false;
 			/* +16+8 for GUID and size fields */
 			if(!write_little_endian_uint64(f, 16+8 + data_size))
diff --git a/src/flac/encode.c b/src/flac/encode.c
index 1b6a4d6..c3e470c 100644
--- a/src/flac/encode.c
+++ b/src/flac/encode.c
@@ -186,7 +186,7 @@
 
 	if(e->format == FORMAT_WAVE64) {
 		/*
-		 * lookahead[] already has "riff\x2E\x91\xCF\x11\xD6\xA5\x28\xDB", skip over remaining header
+		 * lookahead[] already has "riff\x2E\x91\xCF\x11\xA5\xD6\x28\xDB", skip over remaining header
 		 */
 		if(!fskip_ahead(e->fin, 16+8+16-12)) { /* riff GUID + riff size + WAVE GUID - lookahead */
 			flac__utils_printf(stderr, 1, "%s: ERROR during read while skipping over remaining \"riff\" header\n", e->inbasefilename);
@@ -252,7 +252,7 @@
 		}
 		else if(
 			!memcmp(chunk_id, "fmt ", 4) &&
-			(e->format!=FORMAT_WAVE64 || !memcmp(chunk_id, "fmt \xF3\xAC\xD3\x11\xD1\x8C\x00\xC0\x4F\x8E\xDB\x8A", 16))
+			(e->format!=FORMAT_WAVE64 || !memcmp(chunk_id, "fmt \xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 16))
 		) { /* format chunk */
 			FLAC__uint16 x;
 			FLAC__uint32 xx, data_bytes;
@@ -528,7 +528,7 @@
 		}
 		else if(
 			!memcmp(chunk_id, "data", 4) &&
-			(e->format!=FORMAT_WAVE64 || !memcmp(chunk_id, "data\xF3\xAC\xD3\x11\xD1\x8C\x00\xC0\x4F\x8E\xDB\x8A", 16))
+			(e->format!=FORMAT_WAVE64 || !memcmp(chunk_id, "data\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 16))
 		) { /* data chunk */
 			FLAC__uint32 xx;
 			FLAC__uint64 data_bytes;
diff --git a/src/flac/foreign_metadata.c b/src/flac/foreign_metadata.c
index b8e8b46..3015f1d 100644
--- a/src/flac/foreign_metadata.c
+++ b/src/flac/foreign_metadata.c
@@ -333,9 +333,9 @@
 	if(
 		fread(buffer, 1, 40, f) < 40 ||
 		/* RIFF GUID 66666972-912E-11CF-A5D6-28DB04C10000 */
-		memcmp(buffer, "\x72\x69\x66\x66\x2E\x91\xCF\x11\xD6\xA5\x28\xDB\x04\xC1\x00\x00", 16) ||
+		memcmp(buffer, "\x72\x69\x66\x66\x2E\x91\xCF\x11\xA5\xD6\x28\xDB\x04\xC1\x00\x00", 16) ||
 		/* WAVE GUID 65766177-ACF3-11D3-8CD1-00C04F8EDB8A */
-		memcmp(buffer+24, "\x77\x61\x76\x65\xF3\xAC\xD3\x11\xD1\x8C\x00\xC0\x4F\x8E\xDB\x8A", 16)
+		memcmp(buffer+24, "\x77\x61\x76\x65\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 16)
 	) {
 		if(error) *error = "unsupported Wave64 layout (002)";
 		return false;
@@ -364,7 +364,7 @@
 		if(size & 7)
 			size = (size+7) & (~((FLAC__uint64)7));
 		/* fmt GUID 20746D66-ACF3-11D3-8CD1-00C04F8EDB8A */
-		if(!memcmp(buffer, "\x66\x6D\x74\x20\xF3\xAC\xD3\x11\xD1\x8C\x00\xC0\x4F\x8E\xDB\x8A", 16)) {
+		if(!memcmp(buffer, "\x66\x6D\x74\x20\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 16)) {
 			if(fm->format_block) {
 				if(error) *error = "invalid Wave64 file: multiple \"fmt \" chunks (005)";
 				return false;
@@ -376,7 +376,7 @@
 			fm->format_block = fm->num_blocks;
 		}
 		/* data GUID 61746164-ACF3-11D3-8CD1-00C04F8EDB8A */
-		else if(!memcmp(buffer, "\x64\x61\x74\x61\xF3\xAC\xD3\x11\xD1\x8C\x00\xC0\x4F\x8E\xDB\x8A", 16)) {
+		else if(!memcmp(buffer, "\x64\x61\x74\x61\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 16)) {
 			if(fm->audio_block) {
 				if(error) *error = "invalid Wave64 file: multiple \"data\" chunks (007)";
 				return false;
@@ -387,7 +387,7 @@
 			}
 			fm->audio_block = fm->num_blocks;
 		}
-		if(!append_block_(fm, offset, memcmp(buffer, "\x64\x61\x74\x61\xF3\xAC\xD3\x11\xD1\x8C\x00\xC0\x4F\x8E\xDB\x8A", 16)? (FLAC__uint32)size : 16+8, error))
+		if(!append_block_(fm, offset, memcmp(buffer, "\x64\x61\x74\x61\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 16)? (FLAC__uint32)size : 16+8, error))
 			return false;
 		/* skip to next chunk */
 		if(fseeko(f, size-24, SEEK_CUR) < 0) {
diff --git a/src/flac/main.c b/src/flac/main.c
index dd03d5b..3880d09 100644
--- a/src/flac/main.c
+++ b/src/flac/main.c
@@ -1729,7 +1729,7 @@
 				input_format = FORMAT_WAVE;
 			else if(!memcmp(lookahead, "RF64", 4) && !memcmp(lookahead+8, "WAVE", 4))
 				input_format = FORMAT_RF64;
-			else if(!memcmp(lookahead, "riff\x2E\x91\xCF\x11\xD6\xA5\x28\xDB", 12)) /* just check 1st 12 bytes of GUID */
+			else if(!memcmp(lookahead, "riff\x2E\x91\xCF\x11\xA5\xD6\x28\xDB", 12)) /* just check 1st 12 bytes of GUID */
 				input_format = FORMAT_WAVE64;
 			else if(!memcmp(lookahead, "FORM", 4) && !memcmp(lookahead+8, "AIFF", 4))
 				input_format = FORMAT_AIFF;
diff --git a/src/test_streams/main.c b/src/test_streams/main.c
index 19fe760..4e68f0d 100644
--- a/src/test_streams/main.c
+++ b/src/test_streams/main.c
@@ -730,7 +730,7 @@
 			break;
 		case 2:
 			/* RIFF GUID 66666972-912E-11CF-A5D6-28DB04C10000 */
-			if(fwrite("\x72\x69\x66\x66\x2E\x91\xCF\x11\xD6\xA5\x28\xDB\x04\xC1\x00\x00", 1, 16, f) < 16)
+			if(fwrite("\x72\x69\x66\x66\x2E\x91\xCF\x11\xA5\xD6\x28\xDB\x04\xC1\x00\x00", 1, 16, f) < 16)
 				goto foo;
 			/* +(16+8) for RIFF GUID + size */
 			/* +16 for WAVE GUID */
@@ -739,7 +739,7 @@
 			if(!write_little_endian_uint64(f, (16+8) + 16 + 16+8+(waveformatextensible?40:16) + (16+8) + padded_size))
 				goto foo;
 			/* WAVE GUID 65766177-ACF3-11D3-8CD1-00C04F8EDB8A */
-			if(fwrite("\x77\x61\x76\x65\xF3\xAC\xD3\x11\xD1\x8C\x00\xC0\x4F\x8E\xDB\x8A", 1, 16, f) < 16)
+			if(fwrite("\x77\x61\x76\x65\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 1, 16, f) < 16)
 				goto foo;
 			break;
 		default:
@@ -769,7 +769,7 @@
 	}
 	else { /* wave64 */
 		/* fmt GUID 20746D66-ACF3-11D3-8CD1-00C04F8EDB8A */
-		if(fwrite("\x66\x6D\x74\x20\xF3\xAC\xD3\x11\xD1\x8C\x00\xC0\x4F\x8E\xDB\x8A", 1, 16, f) < 16)
+		if(fwrite("\x66\x6D\x74\x20\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 1, 16, f) < 16)
 			goto foo;
 		/* chunk size (+16+8 for GUID and size fields) */
 		if(!write_little_endian_uint64(f, 16+8+(waveformatextensible?40:16)))
@@ -807,7 +807,7 @@
 	}
 	else { /* wave64 */
 		/* data GUID 61746164-ACF3-11D3-8CD1-00C04F8EDB8A */
-		if(fwrite("\x64\x61\x74\x61\xF3\xAC\xD3\x11\xD1\x8C\x00\xC0\x4F\x8E\xDB\x8A", 1, 16, f) != 16)
+		if(fwrite("\x64\x61\x74\x61\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A", 1, 16, f) != 16)
 			goto foo;
 		/* +16+8 for GUID and size fields */
 		if(!write_little_endian_uint64(f, 16+8 + true_size))
@@ -923,26 +923,26 @@
 	FILE *f;
 	FLAC__byte wav[] = {
 		0x72,0x69,0x66,0x66,0x2E,0x91,0xCF,0x11, /* RIFF GUID */
-		0xD6,0xA5,0x28,0xDB,0x04,0xC1,0x00,0x00,
+		0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00,
 		 152,   0,   0,   0,   0,   0,   0,   0,
 		0x77,0x61,0x76,0x65,0xF3,0xAC,0xD3,0x11, /* WAVE GUID */
-		0xD1,0x8C,0x00,0xC0,0x4F,0x8E,0xDB,0x8A,
+		0x8C,0xD1,0x00,0xC0,0x4F,0x8E,0xDB,0x8A,
 		0x6A,0x75,0x6E,0x6B,0xF3,0xAC,0xD3,0x11, /* junk GUID */
-		0xD1,0x8C,0x00,0xC0,0x4F,0x8E,0xDB,0x8A,
+		0x8C,0xD1,0x00,0xC0,0x4F,0x8E,0xDB,0x8A,
 		  32,   0,   0,  0 ,   0,   0,   0,   0,
 		 'b', 'l', 'a', 'h', 'b', 'l', 'a', 'h',
 		0x66,0x6D,0x74,0x20,0xF3,0xAC,0xD3,0x11, /* fmt GUID */
-		0xD1,0x8C,0x00,0xC0,0x4F,0x8E,0xDB,0x8A,
+		0x8C,0xD1,0x00,0xC0,0x4F,0x8E,0xDB,0x8A,
 		  40,   0,   0,  0 ,   0,   0,   0,   0,
 		   1,   0,   1,   0,0x44,0xAC,   0,   0,
 		0x88,0x58,0x01,   0,   2,   0,  16,   0,
 		0x64,0x61,0x74,0x61,0xF3,0xAC,0xD3,0x11, /* data GUID */
-		0xD1,0x8C,0x00,0xC0,0x4F,0x8E,0xDB,0x8A,
+		0x8C,0xD1,0x00,0xC0,0x4F,0x8E,0xDB,0x8A,
 		  40,   0,   0,  0 ,   0,   0,   0,   0,
 		   0,   0,   1,   0,   4,   0,   9,   0,
 		  16,   0,  25,   0,  36,   0,  49,   0,
 		0x6A,0x75,0x6E,0x6B,0xF3,0xAC,0xD3,0x11, /* junk GUID */
-		0xD1,0x8C,0x00,0xC0,0x4F,0x8E,0xDB,0x8A,
+		0x8C,0xD1,0x00,0xC0,0x4F,0x8E,0xDB,0x8A,
 		  32,   0,   0,  0 ,   0,   0,   0,   0,
 		 'b', 'l', 'a', 'h', 'b', 'l', 'a', 'h'
 	};