Added formats conversion

Functor, NonCopyable, Tuple are now parts of NazaraCore (NazaraCore no
longer needs NazaraUtility)
Added loadFormat image parameter (ask loader to load image in specific
format)
Fixed utility project building
It is now possible to convert, get validity or get name of pixel formats
Changed endianness macros' name
Removed useless NazaraEndianness macro
Removed unused files
This commit is contained in:
Lynix
2012-05-24 18:55:48 +02:00
parent 570e0a8070
commit b243d15c74
40 changed files with 1609 additions and 150 deletions

View File

@@ -111,8 +111,9 @@ NzHashDigest NzHashCRC32::End()
{
m_state->crc ^= 0xFFFFFFFF;
if (NazaraEndianness == nzEndianness_LittleEndian)
NzByteSwap(&m_state->crc, sizeof(nzUInt32));
#ifdef NAZARA_LITTLE_ENDIAN
NzByteSwap(&m_state->crc, sizeof(nzUInt32));
#endif
return NzHashDigest(GetHashName(), reinterpret_cast<nzUInt8*>(&m_state->crc), 4);
}

View File

@@ -52,8 +52,10 @@ NzHashDigest NzHashFletcher16::End()
m_state->sum2 = (m_state->sum2 & 0xff) + (m_state->sum2 >> 8);
nzUInt32 fletcher = (m_state->sum2 << 8) | m_state->sum1;
if (NazaraEndianness == nzEndianness_BigEndian)
NzByteSwap(&fletcher, sizeof(nzUInt32));
#ifdef NAZARA_BIG_ENDIAN
NzByteSwap(&fletcher, sizeof(nzUInt32));
#endif
return NzHashDigest(GetHashName(), reinterpret_cast<nzUInt8*>(&fletcher), 2);
}

View File

@@ -114,7 +114,7 @@ namespace
nzUInt32 d = state->abcd[3];
nzUInt32 t;
#ifdef NAZARA_ENDIANNESS_BIGENDIAN
#ifdef NAZARA_BIG_ENDIAN
/* Define storage only for big-endian CPUs. */
nzUInt32 X[16];

View File

@@ -42,7 +42,7 @@
#include <cstring>
/*** ENDIAN REVERSAL MACROS *******************************************/
#ifdef NAZARA_ENDIANNESS_LITTLEENDIAN
#ifdef NAZARA_LITTLE_ENDIAN
#define REVERSE32(w,x) { \
nzUInt32 tmp = (w); \
@@ -272,7 +272,7 @@ void SHA1_Init(SHA_CTX* context)
context->s1.bitcount = 0;
}
#ifdef NAZARA_ENDIANNESS_LITTLEENDIAN
#ifdef NAZARA_LITTLE_ENDIAN
#define ROUND1_0_TO_15(a,b,c,d,e) \
REVERSE32(*data++, W1[j]); \
@@ -281,7 +281,7 @@ void SHA1_Init(SHA_CTX* context)
(b) = ROTL32(30, (b)); \
j++;
#else // NAZARA_ENDIANNESS_LITTLEENDIAN
#else // NAZARA_LITTLE_ENDIAN
#define ROUND1_0_TO_15(a,b,c,d,e) \
(e) = ROTL32(5, (a)) + Ch((b), (c), (d)) + (e) + \
@@ -289,7 +289,7 @@ void SHA1_Init(SHA_CTX* context)
(b) = ROTL32(30, (b)); \
j++;
#endif // NAZARA_ENDIANNESS_LITTLEENDIAN
#endif // NAZARA_LITTLE_ENDIAN
#define ROUND1_16_TO_19(a,b,c,d,e) \
T1 = W1[(j+13)&0x0f] ^ W1[(j+8)&0x0f] ^ W1[(j+2)&0x0f] ^ W1[j&0x0f]; \
@@ -512,7 +512,7 @@ void SHA1_End(SHA_CTX* context, nzUInt8* digest)
}
}
/* Set the bit count: */
#ifdef NAZARA_ENDIANNESS_LITTLEENDIAN
#ifdef NAZARA_LITTLE_ENDIAN
/* Convert FROM host byte order */
REVERSE64(context->s1.bitcount,context->s1.bitcount);
#endif
@@ -523,7 +523,7 @@ void SHA1_End(SHA_CTX* context, nzUInt8* digest)
SHA1_Internal_Transform(context, reinterpret_cast<nzUInt32*>(context->s1.buffer));
/* Save the hash data for output: */
#ifdef NAZARA_ENDIANNESS_LITTLEENDIAN
#ifdef NAZARA_LITTLE_ENDIAN
{
/* Convert TO host byte order */
for (int j = 0; j < (SHA1_DIGEST_LENGTH >> 2); j++)
@@ -551,7 +551,7 @@ void SHA256_Init(SHA_CTX* context)
SHA256_Internal_Init(context, sha256_initial_hash_value);
}
#ifdef NAZARA_ENDIANNESS_LITTLEENDIAN
#ifdef NAZARA_LITTLE_ENDIAN
#define ROUND256_0_TO_15(a,b,c,d,e,f,g,h) \
REVERSE32(*data++, W256[j]); \
@@ -561,7 +561,7 @@ void SHA256_Init(SHA_CTX* context)
(h) = T1 + Sigma0_256(a) + Maj((a), (b), (c)); \
j++
#else // NAZARA_ENDIANNESS_LITTLEENDIAN
#else // NAZARA_LITTLE_ENDIAN
#define ROUND256_0_TO_15(a,b,c,d,e,f,g,h) \
T1 = (h) + Sigma1_256(e) + Ch((e), (f), (g)) + \
@@ -570,7 +570,7 @@ void SHA256_Init(SHA_CTX* context)
(h) = T1 + Sigma0_256(a) + Maj((a), (b), (c)); \
j++
#endif // NAZARA_ENDIANNESS_LITTLEENDIAN
#endif // NAZARA_LITTLE_ENDIAN
#define ROUND256(a,b,c,d,e,f,g,h) \
s0 = W256[(j+1)&0x0f]; \
@@ -693,7 +693,7 @@ void SHA256_Update(SHA_CTX* context, const nzUInt8 *data, std::size_t len)
void SHA256_Internal_Last(SHA_CTX* context)
{
unsigned int usedspace = (context->s256.bitcount >> 3) % 64;
#ifdef NAZARA_ENDIANNESS_LITTLEENDIAN
#ifdef NAZARA_LITTLE_ENDIAN
/* Convert FROM host byte order */
REVERSE64(context->s256.bitcount,context->s256.bitcount);
#endif
@@ -744,7 +744,7 @@ void SHA256_End(SHA_CTX* context, nzUInt8* digest)
SHA256_Internal_Last(context);
/* Save the hash data for output: */
#ifdef NAZARA_ENDIANNESS_LITTLEENDIAN
#ifdef NAZARA_LITTLE_ENDIAN
{
/* Convert TO host byte order */
for (int j = 0; j < (SHA256_DIGEST_LENGTH >> 2); j++)
@@ -786,7 +786,7 @@ void SHA224_End(SHA_CTX* context, nzUInt8* digest)
SHA256_Internal_Last(context);
/* Save the hash data for output: */
#ifdef NAZARA_ENDIANNESS_LITTLEENDIAN
#ifdef NAZARA_LITTLE_ENDIAN
{
/* Convert TO host byte order */
for (int j = 0; j < (SHA224_DIGEST_LENGTH >> 2); j++)
@@ -816,7 +816,7 @@ void SHA512_Init(SHA_CTX* context)
}
/* Unrolled SHA-512 round macros: */
#ifdef NAZARA_ENDIANNESS_LITTLEENDIAN
#ifdef NAZARA_LITTLE_ENDIAN
#define ROUND512_0_TO_15(a,b,c,d,e,f,g,h) \
REVERSE64(*data++, W512[j]); \
@@ -827,7 +827,7 @@ void SHA512_Init(SHA_CTX* context)
j++
#else // NAZARA_ENDIANNESS_LITTLEENDIAN
#else // NAZARA_LITTLE_ENDIAN
#define ROUND512_0_TO_15(a,b,c,d,e,f,g,h) \
T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + \
@@ -836,7 +836,7 @@ void SHA512_Init(SHA_CTX* context)
(h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)); \
j++
#endif // NAZARA_ENDIANNESS_LITTLEENDIAN
#endif // NAZARA_LITTLE_ENDIAN
#define ROUND512(a,b,c,d,e,f,g,h) \
s0 = W512[(j+1)&0x0f]; \
@@ -958,7 +958,7 @@ void SHA512_Internal_Last(SHA_CTX* context)
unsigned int usedspace;
usedspace = (context->s512.bitcount[0] >> 3) % 128;
#ifdef NAZARA_ENDIANNESS_LITTLEENDIAN
#ifdef NAZARA_LITTLE_ENDIAN
/* Convert FROM host byte order */
REVERSE64(context->s512.bitcount[0],context->s512.bitcount[0]);
REVERSE64(context->s512.bitcount[1],context->s512.bitcount[1]);
@@ -1011,7 +1011,7 @@ void SHA512_End(SHA_CTX* context, nzUInt8* digest)
SHA512_Internal_Last(context);
/* Save the hash data for output: */
#ifdef NAZARA_ENDIANNESS_LITTLEENDIAN
#ifdef NAZARA_LITTLE_ENDIAN
{
/* Convert TO host byte order */
for (int j = 0; j < (SHA512_DIGEST_LENGTH >> 3); j++)
@@ -1051,7 +1051,7 @@ void SHA384_End(SHA_CTX* context, nzUInt8* digest)
SHA512_Internal_Last(context);
/* Save the hash data for output: */
#ifdef NAZARA_ENDIANNESS_LITTLEENDIAN
#ifdef NAZARA_LITTLE_ENDIAN
{
/* Convert TO host byte order */
for (int j = 0; j < (SHA384_DIGEST_LENGTH >> 3); j++)