From 3f3b45cc74b0499912409f766a595945dbbfc4c5 Mon Sep 17 00:00:00 2001 From: John Abd-El-Malek Date: Fri, 23 May 2014 17:28:10 -0700 Subject: Convert all line endings to LF. --- core/src/fxcodec/jbig2/JBig2_HuffmanTable.cpp | 386 +++++++++++++------------- 1 file changed, 193 insertions(+), 193 deletions(-) (limited to '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 af4a54988d..0a5bc8e645 100644 --- a/core/src/fxcodec/jbig2/JBig2_HuffmanTable.cpp +++ b/core/src/fxcodec/jbig2/JBig2_HuffmanTable.cpp @@ -1,193 +1,193 @@ -// Copyright 2014 PDFium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com - -#include "JBig2_HuffmanTable.h" -#include "JBig2_BitStream.h" -#include - -CJBig2_HuffmanTable::CJBig2_HuffmanTable(const JBig2TableLine *pTable, int nLines, - FX_BOOL bHTOOB) -{ - init(); - m_bOK = parseFromStandardTable(pTable, nLines, bHTOOB); -} - -CJBig2_HuffmanTable::CJBig2_HuffmanTable(CJBig2_BitStream *pStream) -{ - init(); - m_bOK = parseFromCodedBuffer(pStream); -} - -CJBig2_HuffmanTable::~CJBig2_HuffmanTable() -{ - if(CODES) { - m_pModule->JBig2_Free(CODES); - } - if(PREFLEN) { - m_pModule->JBig2_Free(PREFLEN); - } - if(RANGELEN) { - m_pModule->JBig2_Free(RANGELEN); - } - if(RANGELOW) { - m_pModule->JBig2_Free(RANGELOW); - } -} -void CJBig2_HuffmanTable::init() -{ - HTOOB = FALSE; - NTEMP = 0; - CODES = NULL; - PREFLEN = NULL; - RANGELEN = NULL; - RANGELOW = NULL; -} -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 = (int*)m_pModule->JBig2_Malloc2(sizeof(int), NTEMP); - PREFLEN = (int*)m_pModule->JBig2_Malloc2(sizeof(int), NTEMP); - RANGELEN = (int*)m_pModule->JBig2_Malloc2(sizeof(int), NTEMP); - RANGELOW = (int*)m_pModule->JBig2_Malloc2(sizeof(int), NTEMP); - LENMAX = 0; - for(i = 0; i < NTEMP; i++) { - PREFLEN[i] = pTable[i].PREFLEN; - RANGELEN[i] = pTable[i].RANDELEN; - RANGELOW[i] = pTable[i].RANGELOW; - if(PREFLEN[i] > LENMAX) { - LENMAX = PREFLEN[i]; - } - } - LENCOUNT = (int*)m_pModule->JBig2_Malloc2(sizeof(int), (LENMAX + 1)); - JBIG2_memset(LENCOUNT, 0, sizeof(int) * (LENMAX + 1)); - FIRSTCODE = (int*)m_pModule->JBig2_Malloc2(sizeof(int), (LENMAX + 1)); - for(i = 0; i < NTEMP; i++) { - LENCOUNT[PREFLEN[i]] ++; - } - 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; - while(CURTEMP < NTEMP) { - if(PREFLEN[CURTEMP] == CURLEN) { - CODES[CURTEMP] = CURCODE; - CURCODE = CURCODE + 1; - } - CURTEMP = CURTEMP + 1; - } - CURLEN = CURLEN + 1; - } - m_pModule->JBig2_Free(LENCOUNT); - m_pModule->JBig2_Free(FIRSTCODE); - return 1; -} - -#define HT_CHECK_MEMORY_ADJUST \ - if(NTEMP >= nSize) \ - { \ - nSize += 16; \ - PREFLEN = (int*)m_pModule->JBig2_Realloc(PREFLEN,sizeof(int)*nSize); \ - RANGELEN = (int*)m_pModule->JBig2_Realloc(RANGELEN,sizeof(int)*nSize); \ - RANGELOW = (int*)m_pModule->JBig2_Realloc(RANGELOW,sizeof(int)*nSize); \ - } -int CJBig2_HuffmanTable::parseFromCodedBuffer(CJBig2_BitStream *pStream) -{ - unsigned char HTPS, HTRS; - int HTLOW, HTHIGH; - int CURRANGELOW; - int nSize = 16; - int CURLEN, LENMAX, CURCODE, CURTEMP, i; - int *LENCOUNT; - int *FIRSTCODE; - unsigned char cTemp; - if(pStream->read1Byte(&cTemp) == -1) { - goto failed; - } - HTOOB = cTemp & 0x01; - HTPS = ((cTemp >> 1) & 0x07) + 1; - HTRS = ((cTemp >> 4) & 0x07) + 1; - if(pStream->readInteger((FX_DWORD*)&HTLOW) == -1 || - pStream->readInteger((FX_DWORD*)&HTHIGH) == -1) { - goto failed; - } - PREFLEN = (int*)m_pModule->JBig2_Malloc2(sizeof(int), nSize); - RANGELEN = (int*)m_pModule->JBig2_Malloc2(sizeof(int), nSize); - RANGELOW = (int*)m_pModule->JBig2_Malloc2(sizeof(int), nSize); - CURRANGELOW = HTLOW; - NTEMP = 0; - do { - HT_CHECK_MEMORY_ADJUST - if((pStream->readNBits(HTPS, &PREFLEN[NTEMP]) == -1) - || (pStream->readNBits(HTRS, &RANGELEN[NTEMP]) == -1)) { - goto failed; - } - 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; - } - RANGELEN[NTEMP] = 32; - RANGELOW[NTEMP] = HTLOW - 1; - NTEMP = NTEMP + 1; - HT_CHECK_MEMORY_ADJUST - if(pStream->readNBits(HTPS, &PREFLEN[NTEMP]) == -1) { - goto failed; - } - 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; - } - CODES = (int*)m_pModule->JBig2_Malloc2(sizeof(int), NTEMP); - LENMAX = 0; - for(i = 0; i < NTEMP; i++) { - if(PREFLEN[i] > LENMAX) { - LENMAX = PREFLEN[i]; - } - } - LENCOUNT = (int*)m_pModule->JBig2_Malloc2(sizeof(int), (LENMAX + 1)); - JBIG2_memset(LENCOUNT, 0, sizeof(int) * (LENMAX + 1)); - FIRSTCODE = (int*)m_pModule->JBig2_Malloc2(sizeof(int), (LENMAX + 1)); - for(i = 0; i < NTEMP; i++) { - LENCOUNT[PREFLEN[i]] ++; - } - 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; - while(CURTEMP < NTEMP) { - if(PREFLEN[CURTEMP] == CURLEN) { - CODES[CURTEMP] = CURCODE; - CURCODE = CURCODE + 1; - } - CURTEMP = CURTEMP + 1; - } - CURLEN = CURLEN + 1; - } - m_pModule->JBig2_Free(LENCOUNT); - m_pModule->JBig2_Free(FIRSTCODE); - return TRUE; -failed: - return FALSE; -} +// Copyright 2014 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "JBig2_HuffmanTable.h" +#include "JBig2_BitStream.h" +#include + +CJBig2_HuffmanTable::CJBig2_HuffmanTable(const JBig2TableLine *pTable, int nLines, + FX_BOOL bHTOOB) +{ + init(); + m_bOK = parseFromStandardTable(pTable, nLines, bHTOOB); +} + +CJBig2_HuffmanTable::CJBig2_HuffmanTable(CJBig2_BitStream *pStream) +{ + init(); + m_bOK = parseFromCodedBuffer(pStream); +} + +CJBig2_HuffmanTable::~CJBig2_HuffmanTable() +{ + if(CODES) { + m_pModule->JBig2_Free(CODES); + } + if(PREFLEN) { + m_pModule->JBig2_Free(PREFLEN); + } + if(RANGELEN) { + m_pModule->JBig2_Free(RANGELEN); + } + if(RANGELOW) { + m_pModule->JBig2_Free(RANGELOW); + } +} +void CJBig2_HuffmanTable::init() +{ + HTOOB = FALSE; + NTEMP = 0; + CODES = NULL; + PREFLEN = NULL; + RANGELEN = NULL; + RANGELOW = NULL; +} +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 = (int*)m_pModule->JBig2_Malloc2(sizeof(int), NTEMP); + PREFLEN = (int*)m_pModule->JBig2_Malloc2(sizeof(int), NTEMP); + RANGELEN = (int*)m_pModule->JBig2_Malloc2(sizeof(int), NTEMP); + RANGELOW = (int*)m_pModule->JBig2_Malloc2(sizeof(int), NTEMP); + LENMAX = 0; + for(i = 0; i < NTEMP; i++) { + PREFLEN[i] = pTable[i].PREFLEN; + RANGELEN[i] = pTable[i].RANDELEN; + RANGELOW[i] = pTable[i].RANGELOW; + if(PREFLEN[i] > LENMAX) { + LENMAX = PREFLEN[i]; + } + } + LENCOUNT = (int*)m_pModule->JBig2_Malloc2(sizeof(int), (LENMAX + 1)); + JBIG2_memset(LENCOUNT, 0, sizeof(int) * (LENMAX + 1)); + FIRSTCODE = (int*)m_pModule->JBig2_Malloc2(sizeof(int), (LENMAX + 1)); + for(i = 0; i < NTEMP; i++) { + LENCOUNT[PREFLEN[i]] ++; + } + 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; + while(CURTEMP < NTEMP) { + if(PREFLEN[CURTEMP] == CURLEN) { + CODES[CURTEMP] = CURCODE; + CURCODE = CURCODE + 1; + } + CURTEMP = CURTEMP + 1; + } + CURLEN = CURLEN + 1; + } + m_pModule->JBig2_Free(LENCOUNT); + m_pModule->JBig2_Free(FIRSTCODE); + return 1; +} + +#define HT_CHECK_MEMORY_ADJUST \ + if(NTEMP >= nSize) \ + { \ + nSize += 16; \ + PREFLEN = (int*)m_pModule->JBig2_Realloc(PREFLEN,sizeof(int)*nSize); \ + RANGELEN = (int*)m_pModule->JBig2_Realloc(RANGELEN,sizeof(int)*nSize); \ + RANGELOW = (int*)m_pModule->JBig2_Realloc(RANGELOW,sizeof(int)*nSize); \ + } +int CJBig2_HuffmanTable::parseFromCodedBuffer(CJBig2_BitStream *pStream) +{ + unsigned char HTPS, HTRS; + int HTLOW, HTHIGH; + int CURRANGELOW; + int nSize = 16; + int CURLEN, LENMAX, CURCODE, CURTEMP, i; + int *LENCOUNT; + int *FIRSTCODE; + unsigned char cTemp; + if(pStream->read1Byte(&cTemp) == -1) { + goto failed; + } + HTOOB = cTemp & 0x01; + HTPS = ((cTemp >> 1) & 0x07) + 1; + HTRS = ((cTemp >> 4) & 0x07) + 1; + if(pStream->readInteger((FX_DWORD*)&HTLOW) == -1 || + pStream->readInteger((FX_DWORD*)&HTHIGH) == -1) { + goto failed; + } + PREFLEN = (int*)m_pModule->JBig2_Malloc2(sizeof(int), nSize); + RANGELEN = (int*)m_pModule->JBig2_Malloc2(sizeof(int), nSize); + RANGELOW = (int*)m_pModule->JBig2_Malloc2(sizeof(int), nSize); + CURRANGELOW = HTLOW; + NTEMP = 0; + do { + HT_CHECK_MEMORY_ADJUST + if((pStream->readNBits(HTPS, &PREFLEN[NTEMP]) == -1) + || (pStream->readNBits(HTRS, &RANGELEN[NTEMP]) == -1)) { + goto failed; + } + 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; + } + RANGELEN[NTEMP] = 32; + RANGELOW[NTEMP] = HTLOW - 1; + NTEMP = NTEMP + 1; + HT_CHECK_MEMORY_ADJUST + if(pStream->readNBits(HTPS, &PREFLEN[NTEMP]) == -1) { + goto failed; + } + 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; + } + CODES = (int*)m_pModule->JBig2_Malloc2(sizeof(int), NTEMP); + LENMAX = 0; + for(i = 0; i < NTEMP; i++) { + if(PREFLEN[i] > LENMAX) { + LENMAX = PREFLEN[i]; + } + } + LENCOUNT = (int*)m_pModule->JBig2_Malloc2(sizeof(int), (LENMAX + 1)); + JBIG2_memset(LENCOUNT, 0, sizeof(int) * (LENMAX + 1)); + FIRSTCODE = (int*)m_pModule->JBig2_Malloc2(sizeof(int), (LENMAX + 1)); + for(i = 0; i < NTEMP; i++) { + LENCOUNT[PREFLEN[i]] ++; + } + 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; + while(CURTEMP < NTEMP) { + if(PREFLEN[CURTEMP] == CURLEN) { + CODES[CURTEMP] = CURCODE; + CURCODE = CURCODE + 1; + } + CURTEMP = CURTEMP + 1; + } + CURLEN = CURLEN + 1; + } + m_pModule->JBig2_Free(LENCOUNT); + m_pModule->JBig2_Free(FIRSTCODE); + return TRUE; +failed: + return FALSE; +} -- cgit v1.2.3