//\r
// Left shift NumOfBits of bits in advance\r
//\r
- Sd->mBitBuf = (UINT32) LShiftU64 (((UINT64)Sd->mBitBuf), NumOfBits);\r
+ Sd->mBitBuf = (UINT32)LShiftU64 (((UINT64)Sd->mBitBuf), NumOfBits);\r
\r
//\r
// Copy data needed in bytes into mSbuBitBuf\r
//\r
while (NumOfBits > Sd->mBitCount) {\r
- NumOfBits = (UINT16) (NumOfBits - Sd->mBitCount);\r
- Sd->mBitBuf |= (UINT32) LShiftU64 (((UINT64)Sd->mSubBitBuf), NumOfBits);\r
+ NumOfBits = (UINT16)(NumOfBits - Sd->mBitCount);\r
+ Sd->mBitBuf |= (UINT32)LShiftU64 (((UINT64)Sd->mSubBitBuf), NumOfBits);\r
\r
if (Sd->mCompSize > 0) {\r
//\r
// Get 1 byte into SubBitBuf\r
//\r
Sd->mCompSize--;\r
- Sd->mSubBitBuf = Sd->mSrcBase[Sd->mInBuf++];\r
- Sd->mBitCount = 8;\r
-\r
+ Sd->mSubBitBuf = Sd->mSrcBase[Sd->mInBuf++];\r
+ Sd->mBitCount = 8;\r
} else {\r
//\r
// No more bits from the source, just pad zero bit.\r
//\r
- Sd->mSubBitBuf = 0;\r
- Sd->mBitCount = 8;\r
-\r
+ Sd->mSubBitBuf = 0;\r
+ Sd->mBitCount = 8;\r
}\r
}\r
\r
//\r
// Calculate additional bit count read to update mBitCount\r
//\r
- Sd->mBitCount = (UINT16) (Sd->mBitCount - NumOfBits);\r
+ Sd->mBitCount = (UINT16)(Sd->mBitCount - NumOfBits);\r
\r
//\r
// Copy NumOfBits of bits from mSubBitBuf into mBitBuf\r
//\r
// Pop NumOfBits of Bits from Left\r
//\r
- OutBits = (UINT32) (Sd->mBitBuf >> (BITBUFSIZ - NumOfBits));\r
+ OutBits = (UINT32)(Sd->mBitBuf >> (BITBUFSIZ - NumOfBits));\r
\r
//\r
// Fill up mBitBuf from source\r
\r
for (Index = 0; Index < NumOfChar; Index++) {\r
if (BitLen[Index] > 16) {\r
- return (UINT16) BAD_TABLE;\r
+ return (UINT16)BAD_TABLE;\r
}\r
+\r
Count[BitLen[Index]]++;\r
}\r
\r
Start[1] = 0;\r
\r
for (Index = 1; Index <= 16; Index++) {\r
- WordOfStart = Start[Index];\r
- WordOfCount = Count[Index];\r
- Start[Index + 1] = (UINT16) (WordOfStart + (WordOfCount << (16 - Index)));\r
+ WordOfStart = Start[Index];\r
+ WordOfCount = Count[Index];\r
+ Start[Index + 1] = (UINT16)(WordOfStart + (WordOfCount << (16 - Index)));\r
}\r
\r
if (Start[17] != 0) {\r
/*(1U << 16)*/\r
- return (UINT16) BAD_TABLE;\r
+ return (UINT16)BAD_TABLE;\r
}\r
\r
- JuBits = (UINT16) (16 - TableBits);\r
+ JuBits = (UINT16)(16 - TableBits);\r
\r
Weight[0] = 0;\r
for (Index = 1; Index <= TableBits; Index++) {\r
Start[Index] >>= JuBits;\r
- Weight[Index] = (UINT16) (1U << (TableBits - Index));\r
+ Weight[Index] = (UINT16)(1U << (TableBits - Index));\r
}\r
\r
while (Index <= 16) {\r
- Weight[Index] = (UINT16) (1U << (16 - Index));\r
+ Weight[Index] = (UINT16)(1U << (16 - Index));\r
Index++;\r
}\r
\r
- Index = (UINT16) (Start[TableBits + 1] >> JuBits);\r
+ Index = (UINT16)(Start[TableBits + 1] >> JuBits);\r
\r
if (Index != 0) {\r
- Index3 = (UINT16) (1U << TableBits);\r
+ Index3 = (UINT16)(1U << TableBits);\r
if (Index < Index3) {\r
SetMem16 (Table + Index, (Index3 - Index) * sizeof (*Table), 0);\r
}\r
}\r
\r
- Avail = NumOfChar;\r
- Mask = (UINT16) (1U << (15 - TableBits));\r
- MaxTableLength = (UINT16) (1U << TableBits);\r
+ Avail = NumOfChar;\r
+ Mask = (UINT16)(1U << (15 - TableBits));\r
+ MaxTableLength = (UINT16)(1U << TableBits);\r
\r
for (Char = 0; Char < NumOfChar; Char++) {\r
-\r
Len = BitLen[Char];\r
- if (Len == 0 || Len >= 17) {\r
+ if ((Len == 0) || (Len >= 17)) {\r
continue;\r
}\r
\r
- NextCode = (UINT16) (Start[Len] + Weight[Len]);\r
+ NextCode = (UINT16)(Start[Len] + Weight[Len]);\r
\r
if (Len <= TableBits) {\r
-\r
- if (Start[Len] >= NextCode || NextCode > MaxTableLength){\r
- return (UINT16) BAD_TABLE;\r
+ if ((Start[Len] >= NextCode) || (NextCode > MaxTableLength)) {\r
+ return (UINT16)BAD_TABLE;\r
}\r
\r
for (Index = Start[Len]; Index < NextCode; Index++) {\r
Table[Index] = Char;\r
}\r
-\r
} else {\r
-\r
Index3 = Start[Len];\r
Pointer = &Table[Index3 >> JuBits];\r
- Index = (UINT16) (Len - TableBits);\r
+ Index = (UINT16)(Len - TableBits);\r
\r
while (Index != 0) {\r
- if (*Pointer == 0 && Avail < (2 * NC - 1)) {\r
+ if ((*Pointer == 0) && (Avail < (2 * NC - 1))) {\r
Sd->mRight[Avail] = Sd->mLeft[Avail] = 0;\r
- *Pointer = Avail++;\r
+ *Pointer = Avail++;\r
}\r
\r
if (*Pointer < (2 * NC - 1)) {\r
}\r
\r
*Pointer = Char;\r
-\r
}\r
\r
Start[Len] = NextCode;\r
}\r
+\r
//\r
// Succeeds\r
//\r
Mask = 1U << (BITBUFSIZ - 1 - 8);\r
\r
do {\r
-\r
if ((Sd->mBitBuf & Mask) != 0) {\r
Val = Sd->mRight[Val];\r
} else {\r
Mask >>= 1;\r
} while (Val >= MAXNP);\r
}\r
+\r
//\r
// Advance what we have read\r
//\r
\r
Pos = Val;\r
if (Val > 1) {\r
- Pos = (UINT32) ((1U << (Val - 1)) + GetBits (Sd, (UINT16) (Val - 1)));\r
+ Pos = (UINT32)((1U << (Val - 1)) + GetBits (Sd, (UINT16)(Val - 1)));\r
}\r
\r
return Pos;\r
//\r
// Read Extra Set Code Length Array size\r
//\r
- Number = (UINT16) GetBits (Sd, nbit);\r
+ Number = (UINT16)GetBits (Sd, nbit);\r
\r
if (Number == 0) {\r
//\r
// This represents only Huffman code used\r
//\r
- CharC = (UINT16) GetBits (Sd, nbit);\r
+ CharC = (UINT16)GetBits (Sd, nbit);\r
\r
- SetMem16 (&Sd->mPTTable[0] , sizeof (Sd->mPTTable), CharC);\r
+ SetMem16 (&Sd->mPTTable[0], sizeof (Sd->mPTTable), CharC);\r
\r
SetMem (Sd->mPTLen, nn, 0);\r
\r
Index = 0;\r
\r
while (Index < Number && Index < NPT) {\r
-\r
- CharC = (UINT16) (Sd->mBitBuf >> (BITBUFSIZ - 3));\r
+ CharC = (UINT16)(Sd->mBitBuf >> (BITBUFSIZ - 3));\r
\r
//\r
// If a code length is less than 7, then it is encoded as a 3-bit\r
}\r
}\r
\r
- FillBuf (Sd, (UINT16) ((CharC < 7) ? 3 : CharC - 3));\r
+ FillBuf (Sd, (UINT16)((CharC < 7) ? 3 : CharC - 3));\r
\r
- Sd->mPTLen[Index++] = (UINT8) CharC;\r
+ Sd->mPTLen[Index++] = (UINT8)CharC;\r
\r
//\r
// For Code&Len Set,\r
// zero lengths after the third length.\r
//\r
if (Index == Special) {\r
- CharC = (UINT16) GetBits (Sd, 2);\r
- while ((INT16) (--CharC) >= 0 && Index < NPT) {\r
+ CharC = (UINT16)GetBits (Sd, 2);\r
+ while ((INT16)(--CharC) >= 0 && Index < NPT) {\r
Sd->mPTLen[Index++] = 0;\r
}\r
}\r
SCRATCH_DATA *Sd\r
)\r
{\r
- UINT16 Number;\r
- UINT16 CharC;\r
- UINT16 Index;\r
- UINT32 Mask;\r
+ UINT16 Number;\r
+ UINT16 CharC;\r
+ UINT16 Index;\r
+ UINT32 Mask;\r
\r
- Number = (UINT16) GetBits (Sd, CBIT);\r
+ Number = (UINT16)GetBits (Sd, CBIT);\r
\r
if (Number == 0) {\r
//\r
// This represents only Huffman code used\r
//\r
- CharC = (UINT16) GetBits (Sd, CBIT);\r
+ CharC = (UINT16)GetBits (Sd, CBIT);\r
\r
SetMem (Sd->mCLen, NC, 0);\r
SetMem16 (&Sd->mCTable[0], sizeof (Sd->mCTable), CharC);\r
\r
- return ;\r
+ return;\r
}\r
\r
Index = 0;\r
Mask = 1U << (BITBUFSIZ - 1 - 8);\r
\r
do {\r
-\r
if (Mask & Sd->mBitBuf) {\r
CharC = Sd->mRight[CharC];\r
} else {\r
}\r
\r
Mask >>= 1;\r
-\r
} while (CharC >= NT);\r
}\r
+\r
//\r
// Advance what we have read\r
//\r
FillBuf (Sd, Sd->mPTLen[CharC]);\r
\r
if (CharC <= 2) {\r
-\r
if (CharC == 0) {\r
CharC = 1;\r
} else if (CharC == 1) {\r
- CharC = (UINT16) (GetBits (Sd, 4) + 3);\r
+ CharC = (UINT16)(GetBits (Sd, 4) + 3);\r
} else if (CharC == 2) {\r
- CharC = (UINT16) (GetBits (Sd, CBIT) + 20);\r
+ CharC = (UINT16)(GetBits (Sd, CBIT) + 20);\r
}\r
\r
- while ((INT16) (--CharC) >= 0 && Index < NC) {\r
+ while ((INT16)(--CharC) >= 0 && Index < NC) {\r
Sd->mCLen[Index++] = 0;\r
}\r
-\r
} else {\r
-\r
- Sd->mCLen[Index++] = (UINT8) (CharC - 2);\r
-\r
+ Sd->mCLen[Index++] = (UINT8)(CharC - 2);\r
}\r
}\r
\r
\r
MakeTable (Sd, NC, Sd->mCLen, 12, Sd->mCTable);\r
\r
- return ;\r
+ return;\r
}\r
\r
/**\r
// Starting a new block\r
// Read BlockSize from block header\r
//\r
- Sd->mBlockSize = (UINT16) GetBits (Sd, 16);\r
+ Sd->mBlockSize = (UINT16)GetBits (Sd, 16);\r
\r
//\r
// Read in the Extra Set Code Length Array,\r
// Read in the Position Set Code Length Array,\r
// Generate the Huffman code mapping table for the Position Set.\r
//\r
- Sd->mBadTableFlag = ReadPTLen (Sd, MAXNP, Sd->mPBit, (UINT16) (-1));\r
+ Sd->mBadTableFlag = ReadPTLen (Sd, MAXNP, Sd->mPBit, (UINT16)(-1));\r
if (Sd->mBadTableFlag != 0) {\r
return 0;\r
}\r
Mask >>= 1;\r
} while (Index2 >= NC);\r
}\r
+\r
//\r
// Advance what we have read\r
//\r
UINT32 DataIdx;\r
UINT16 CharC;\r
\r
- BytesRemain = (UINT16) (-1);\r
+ BytesRemain = (UINT16)(-1);\r
\r
- DataIdx = 0;\r
+ DataIdx = 0;\r
\r
- for (;;) {\r
+ for ( ; ;) {\r
//\r
// Get one code from mBitBuf\r
//\r
//\r
// Write orignal character into mDstBase\r
//\r
- Sd->mDstBase[Sd->mOutBuf++] = (UINT8) CharC;\r
+ Sd->mDstBase[Sd->mOutBuf++] = (UINT8)CharC;\r
}\r
-\r
} else {\r
//\r
// Process a Pointer\r
//\r
- CharC = (UINT16) (CharC - (BIT8 - THRESHOLD));\r
+ CharC = (UINT16)(CharC - (BIT8 - THRESHOLD));\r
\r
//\r
// Get string length\r
//\r
// Locate string position\r
//\r
- DataIdx = Sd->mOutBuf - DecodeP (Sd) - 1;\r
+ DataIdx = Sd->mOutBuf - DecodeP (Sd) - 1;\r
\r
//\r
// Write BytesRemain of bytes into mDstBase\r
//\r
BytesRemain--;\r
\r
- while ((INT16) (BytesRemain) >= 0) {\r
+ while ((INT16)(BytesRemain) >= 0) {\r
if (Sd->mOutBuf >= Sd->mOrigSize) {\r
goto Done;\r
}\r
+\r
if (DataIdx >= Sd->mOrigSize) {\r
- Sd->mBadTableFlag = (UINT16) BAD_TABLE;\r
+ Sd->mBadTableFlag = (UINT16)BAD_TABLE;\r
goto Done;\r
}\r
+\r
Sd->mDstBase[Sd->mOutBuf++] = Sd->mDstBase[DataIdx++];\r
\r
BytesRemain--;\r
}\r
+\r
//\r
// Once mOutBuf is fully filled, directly return\r
//\r
}\r
\r
Done:\r
- return ;\r
+ return;\r
}\r
\r
/**\r
return RETURN_INVALID_PARAMETER;\r
}\r
\r
- CompressedSize = ReadUnaligned32 ((UINT32 *)Source);\r
- if (SourceSize < (CompressedSize + 8) || (CompressedSize + 8) < 8) {\r
+ CompressedSize = ReadUnaligned32 ((UINT32 *)Source);\r
+ if ((SourceSize < (CompressedSize + 8)) || ((CompressedSize + 8) < 8)) {\r
return RETURN_INVALID_PARAMETER;\r
}\r
\r
- *ScratchSize = sizeof (SCRATCH_DATA);\r
+ *ScratchSize = sizeof (SCRATCH_DATA);\r
*DestinationSize = ReadUnaligned32 ((UINT32 *)Source + 1);\r
\r
return RETURN_SUCCESS;\r
IN UINT32 Version\r
)\r
{\r
- UINT32 CompSize;\r
- UINT32 OrigSize;\r
- SCRATCH_DATA *Sd;\r
- CONST UINT8 *Src;\r
- UINT8 *Dst;\r
+ UINT32 CompSize;\r
+ UINT32 OrigSize;\r
+ SCRATCH_DATA *Sd;\r
+ CONST UINT8 *Src;\r
+ UINT8 *Dst;\r
\r
ASSERT (Source != NULL);\r
ASSERT (Destination != NULL);\r
ASSERT (Scratch != NULL);\r
ASSERT (Version == 1 || Version == 2);\r
\r
- Src = Source;\r
- Dst = Destination;\r
+ Src = Source;\r
+ Dst = Destination;\r
\r
- Sd = (SCRATCH_DATA *) Scratch;\r
+ Sd = (SCRATCH_DATA *)Scratch;\r
\r
- CompSize = Src[0] + (Src[1] << 8) + (Src[2] << 16) + (Src[3] << 24);\r
- OrigSize = Src[4] + (Src[5] << 8) + (Src[6] << 16) + (Src[7] << 24);\r
+ CompSize = Src[0] + (Src[1] << 8) + (Src[2] << 16) + (Src[3] << 24);\r
+ OrigSize = Src[4] + (Src[5] << 8) + (Src[6] << 16) + (Src[7] << 24);\r
\r
//\r
// If compressed file size is 0, return\r
// For Tiano de/compression algorithm(Version 2), mPBit = 5\r
//\r
switch (Version) {\r
- case 1 :\r
+ case 1:\r
Sd->mPBit = 4;\r
break;\r
- case 2 :\r
+ case 2:\r
Sd->mPBit = 5;\r
break;\r
default:\r
ASSERT (FALSE);\r
}\r
- Sd->mSrcBase = (UINT8 *)Src;\r
- Sd->mDstBase = Dst;\r
+\r
+ Sd->mSrcBase = (UINT8 *)Src;\r
+ Sd->mDstBase = Dst;\r
//\r
// CompSize and OrigSize are calculated in bytes\r
//\r