Index: core/src/fxcodec/jbig2/JBig2_HuffmanTable.cpp |
diff --git a/core/src/fxcodec/jbig2/JBig2_HuffmanTable.cpp b/core/src/fxcodec/jbig2/JBig2_HuffmanTable.cpp |
index 704145806afe21b36108cdb29ab1a33bcc49dda7..3bd3cbb96faed7ae23cec83dcaef92a81c750201 100644 |
--- a/core/src/fxcodec/jbig2/JBig2_HuffmanTable.cpp |
+++ b/core/src/fxcodec/jbig2/JBig2_HuffmanTable.cpp |
@@ -32,25 +32,22 @@ CJBig2_HuffmanTable::~CJBig2_HuffmanTable() { |
void CJBig2_HuffmanTable::init() { |
HTOOB = FALSE; |
NTEMP = 0; |
- CODES = NULL; |
- PREFLEN = NULL; |
- RANGELEN = NULL; |
- RANGELOW = NULL; |
+ CODES = nullptr; |
+ PREFLEN = nullptr; |
+ RANGELEN = nullptr; |
+ RANGELOW = nullptr; |
} |
int CJBig2_HuffmanTable::parseFromStandardTable(const JBig2TableLine* pTable, |
int nLines, |
FX_BOOL bHTOOB) { |
- int CURLEN, LENMAX, CURCODE, CURTEMP, i; |
- int* LENCOUNT; |
- int* FIRSTCODE; |
HTOOB = bHTOOB; |
NTEMP = nLines; |
CODES = FX_Alloc(int, NTEMP); |
PREFLEN = FX_Alloc(int, NTEMP); |
RANGELEN = FX_Alloc(int, NTEMP); |
RANGELOW = FX_Alloc(int, NTEMP); |
- LENMAX = 0; |
- for (i = 0; i < NTEMP; i++) { |
+ int LENMAX = 0; |
+ for (FX_DWORD i = 0; i < NTEMP; ++i) { |
PREFLEN[i] = pTable[i].PREFLEN; |
RANGELEN[i] = pTable[i].RANDELEN; |
RANGELOW[i] = pTable[i].RANGELOW; |
@@ -58,19 +55,19 @@ int CJBig2_HuffmanTable::parseFromStandardTable(const JBig2TableLine* pTable, |
LENMAX = PREFLEN[i]; |
} |
} |
- LENCOUNT = FX_Alloc(int, LENMAX + 1); |
+ int* LENCOUNT = FX_Alloc(int, LENMAX + 1); |
JBIG2_memset(LENCOUNT, 0, sizeof(int) * (LENMAX + 1)); |
- FIRSTCODE = FX_Alloc(int, LENMAX + 1); |
- for (i = 0; i < NTEMP; i++) { |
- LENCOUNT[PREFLEN[i]]++; |
- } |
- CURLEN = 1; |
+ int* FIRSTCODE = FX_Alloc(int, LENMAX + 1); |
+ for (FX_DWORD i = 0; i < NTEMP; ++i) |
+ ++LENCOUNT[PREFLEN[i]]; |
+ |
+ int CURLEN = 1; |
FIRSTCODE[0] = 0; |
LENCOUNT[0] = 0; |
while (CURLEN <= LENMAX) { |
FIRSTCODE[CURLEN] = (FIRSTCODE[CURLEN - 1] + LENCOUNT[CURLEN - 1]) << 1; |
- CURCODE = FIRSTCODE[CURLEN]; |
- CURTEMP = 0; |
+ int CURCODE = FIRSTCODE[CURLEN]; |
+ FX_DWORD CURTEMP = 0; |
while (CURTEMP < NTEMP) { |
if (PREFLEN[CURTEMP] == CURLEN) { |
CODES[CURTEMP] = CURCODE; |
@@ -93,80 +90,77 @@ int CJBig2_HuffmanTable::parseFromStandardTable(const JBig2TableLine* pTable, |
RANGELOW = FX_Realloc(int, RANGELOW, nSize); \ |
} |
int CJBig2_HuffmanTable::parseFromCodedBuffer(CJBig2_BitStream* pStream) { |
- unsigned char HTPS, HTRS; |
- FX_DWORD HTLOW, HTHIGH; |
- FX_DWORD CURRANGELOW; |
- FX_DWORD nSize = 16; |
- int CURLEN, LENMAX, CURCODE, CURTEMP; |
- int* LENCOUNT; |
- int* FIRSTCODE; |
unsigned char cTemp; |
- if (pStream->read1Byte(&cTemp) == -1) { |
- goto failed; |
- } |
+ if (pStream->read1Byte(&cTemp) == -1) |
+ return FALSE; |
+ |
HTOOB = cTemp & 0x01; |
- HTPS = ((cTemp >> 1) & 0x07) + 1; |
- HTRS = ((cTemp >> 4) & 0x07) + 1; |
+ unsigned char HTPS = ((cTemp >> 1) & 0x07) + 1; |
+ unsigned char HTRS = ((cTemp >> 4) & 0x07) + 1; |
+ FX_DWORD HTLOW; |
+ FX_DWORD HTHIGH; |
if (pStream->readInteger(&HTLOW) == -1 || |
pStream->readInteger(&HTHIGH) == -1 || HTLOW > HTHIGH) { |
- goto failed; |
+ return FALSE; |
} |
+ |
+ FX_DWORD nSize = 16; |
PREFLEN = FX_Alloc(int, nSize); |
RANGELEN = FX_Alloc(int, nSize); |
RANGELOW = FX_Alloc(int, nSize); |
- CURRANGELOW = HTLOW; |
+ FX_DWORD CURRANGELOW = HTLOW; |
NTEMP = 0; |
do { |
HT_CHECK_MEMORY_ADJUST |
if ((pStream->readNBits(HTPS, &PREFLEN[NTEMP]) == -1) || |
(pStream->readNBits(HTRS, &RANGELEN[NTEMP]) == -1)) { |
- goto failed; |
+ return FALSE; |
} |
RANGELOW[NTEMP] = CURRANGELOW; |
CURRANGELOW = CURRANGELOW + (1 << RANGELEN[NTEMP]); |
NTEMP = NTEMP + 1; |
} while (CURRANGELOW < HTHIGH); |
HT_CHECK_MEMORY_ADJUST |
- if (pStream->readNBits(HTPS, &PREFLEN[NTEMP]) == -1) { |
- goto failed; |
- } |
+ if (pStream->readNBits(HTPS, &PREFLEN[NTEMP]) == -1) |
+ return FALSE; |
+ |
RANGELEN[NTEMP] = 32; |
RANGELOW[NTEMP] = HTLOW - 1; |
- NTEMP = NTEMP + 1; |
+ ++NTEMP; |
HT_CHECK_MEMORY_ADJUST |
- if (pStream->readNBits(HTPS, &PREFLEN[NTEMP]) == -1) { |
- goto failed; |
- } |
+ if (pStream->readNBits(HTPS, &PREFLEN[NTEMP]) == -1) |
+ return FALSE; |
+ |
RANGELEN[NTEMP] = 32; |
RANGELOW[NTEMP] = HTHIGH; |
NTEMP = NTEMP + 1; |
if (HTOOB) { |
HT_CHECK_MEMORY_ADJUST |
- if (pStream->readNBits(HTPS, &PREFLEN[NTEMP]) == -1) { |
- goto failed; |
- } |
- NTEMP = NTEMP + 1; |
+ if (pStream->readNBits(HTPS, &PREFLEN[NTEMP]) == -1) |
+ return FALSE; |
+ |
+ ++NTEMP; |
} |
CODES = FX_Alloc(int, NTEMP); |
- LENMAX = 0; |
- for (int i = 0; i < NTEMP; i++) { |
+ int LENMAX = 0; |
+ for (FX_DWORD i = 0; i < NTEMP; ++i) { |
if (PREFLEN[i] > LENMAX) { |
LENMAX = PREFLEN[i]; |
} |
} |
- LENCOUNT = FX_Alloc(int, (LENMAX + 1)); |
+ int* LENCOUNT = FX_Alloc(int, (LENMAX + 1)); |
JBIG2_memset(LENCOUNT, 0, sizeof(int) * (LENMAX + 1)); |
- FIRSTCODE = FX_Alloc(int, (LENMAX + 1)); |
- for (int i = 0; i < NTEMP; i++) { |
+ int* FIRSTCODE = FX_Alloc(int, (LENMAX + 1)); |
+ for (FX_DWORD i = 0; i < NTEMP; ++i) |
LENCOUNT[PREFLEN[i]]++; |
- } |
- CURLEN = 1; |
+ |
+ int CURLEN = 1; |
FIRSTCODE[0] = 0; |
LENCOUNT[0] = 0; |
while (CURLEN <= LENMAX) { |
FIRSTCODE[CURLEN] = (FIRSTCODE[CURLEN - 1] + LENCOUNT[CURLEN - 1]) << 1; |
- CURCODE = FIRSTCODE[CURLEN]; |
- CURTEMP = 0; |
+ int CURCODE = FIRSTCODE[CURLEN]; |
+ FX_DWORD CURTEMP = 0; |
while (CURTEMP < NTEMP) { |
if (PREFLEN[CURTEMP] == CURLEN) { |
CODES[CURTEMP] = CURCODE; |
@@ -179,6 +173,4 @@ int CJBig2_HuffmanTable::parseFromCodedBuffer(CJBig2_BitStream* pStream) { |
FX_Free(LENCOUNT); |
FX_Free(FIRSTCODE); |
return TRUE; |
-failed: |
- return FALSE; |
} |