summaryrefslogtreecommitdiff
path: root/core/src/fxcodec/jbig2/JBig2_Context.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/fxcodec/jbig2/JBig2_Context.cpp')
-rw-r--r--core/src/fxcodec/jbig2/JBig2_Context.cpp122
1 files changed, 61 insertions, 61 deletions
diff --git a/core/src/fxcodec/jbig2/JBig2_Context.cpp b/core/src/fxcodec/jbig2/JBig2_Context.cpp
index bcd16e7e14..1c7592778d 100644
--- a/core/src/fxcodec/jbig2/JBig2_Context.cpp
+++ b/core/src/fxcodec/jbig2/JBig2_Context.cpp
@@ -23,8 +23,8 @@ void OutputBitmap(CJBig2_Image* pImage)
return;
}
}
-CJBig2_Context *CJBig2_Context::CreateContext(CJBig2_Module *pModule, FX_BYTE *pGlobalData, FX_DWORD dwGlobalLength,
- FX_BYTE *pData, FX_DWORD dwLength, FX_INT32 nStreamType, std::list<CJBig2_CachePair>* pSymbolDictCache, IFX_Pause* pPause)
+CJBig2_Context *CJBig2_Context::CreateContext(CJBig2_Module *pModule, uint8_t *pGlobalData, FX_DWORD dwGlobalLength,
+ uint8_t *pData, FX_DWORD dwLength, int32_t nStreamType, std::list<CJBig2_CachePair>* pSymbolDictCache, IFX_Pause* pPause)
{
return new(pModule)CJBig2_Context(pGlobalData, dwGlobalLength, pData, dwLength, nStreamType, pSymbolDictCache, pPause);
}
@@ -34,8 +34,8 @@ void CJBig2_Context::DestroyContext(CJBig2_Context *pContext)
delete pContext;
}
}
-CJBig2_Context::CJBig2_Context(FX_BYTE *pGlobalData, FX_DWORD dwGlobalLength,
- FX_BYTE *pData, FX_DWORD dwLength, FX_INT32 nStreamType, std::list<CJBig2_CachePair>* pSymbolDictCache, IFX_Pause* pPause)
+CJBig2_Context::CJBig2_Context(uint8_t *pGlobalData, FX_DWORD dwGlobalLength,
+ uint8_t *pData, FX_DWORD dwLength, int32_t nStreamType, std::list<CJBig2_CachePair>* pSymbolDictCache, IFX_Pause* pPause)
{
if(pGlobalData && (dwGlobalLength > 0)) {
JBIG2_ALLOC(m_pGlobalContext, CJBig2_Context(NULL, 0, pGlobalData, dwGlobalLength,
@@ -96,12 +96,12 @@ CJBig2_Context::~CJBig2_Context()
}
m_pSegmentList = NULL;
}
-FX_INT32 CJBig2_Context::decodeFile(IFX_Pause* pPause)
+int32_t CJBig2_Context::decodeFile(IFX_Pause* pPause)
{
- FX_BYTE cFlags;
+ uint8_t cFlags;
FX_DWORD dwTemp;
- const FX_BYTE fileID[] = {0x97, 0x4A, 0x42, 0x32, 0x0D, 0x0A, 0x1A, 0x0A};
- FX_INT32 nRet;
+ const uint8_t fileID[] = {0x97, 0x4A, 0x42, 0x32, 0x0D, 0x0A, 0x1A, 0x0A};
+ int32_t nRet;
if(m_pStream->getByteLeft() < 8) {
m_pModule->JBig2_Error("file header too short.");
nRet = JBIG2_ERROR_TOO_SHORT;
@@ -139,9 +139,9 @@ FX_INT32 CJBig2_Context::decodeFile(IFX_Pause* pPause)
failed:
return nRet;
}
-FX_INT32 CJBig2_Context::decode_SquentialOrgnazation(IFX_Pause* pPause)
+int32_t CJBig2_Context::decode_SquentialOrgnazation(IFX_Pause* pPause)
{
- FX_INT32 nRet;
+ int32_t nRet;
if(m_pStream->getByteLeft() > 0) {
while(m_pStream->getByteLeft() >= JBIG2_MIN_SEGMENT_SIZE) {
if(m_pSegment == NULL) {
@@ -189,14 +189,14 @@ FX_INT32 CJBig2_Context::decode_SquentialOrgnazation(IFX_Pause* pPause)
}
return JBIG2_SUCCESS;
}
-FX_INT32 CJBig2_Context::decode_EmbedOrgnazation(IFX_Pause* pPause)
+int32_t CJBig2_Context::decode_EmbedOrgnazation(IFX_Pause* pPause)
{
return decode_SquentialOrgnazation(pPause);
}
-FX_INT32 CJBig2_Context::decode_RandomOrgnazation_FirstPage(IFX_Pause* pPause)
+int32_t CJBig2_Context::decode_RandomOrgnazation_FirstPage(IFX_Pause* pPause)
{
CJBig2_Segment *pSegment;
- FX_INT32 nRet;
+ int32_t nRet;
while(m_pStream->getByteLeft() > JBIG2_MIN_SEGMENT_SIZE) {
JBIG2_ALLOC(pSegment, CJBig2_Segment());
nRet = parseSegmentHeader(pSegment);
@@ -217,9 +217,9 @@ FX_INT32 CJBig2_Context::decode_RandomOrgnazation_FirstPage(IFX_Pause* pPause)
m_nSegmentDecoded = 0;
return decode_RandomOrgnazation(pPause);
}
-FX_INT32 CJBig2_Context::decode_RandomOrgnazation(IFX_Pause* pPause)
+int32_t CJBig2_Context::decode_RandomOrgnazation(IFX_Pause* pPause)
{
- FX_INT32 nRet;
+ int32_t nRet;
for(; m_nSegmentDecoded < m_pSegmentList->getLength(); m_nSegmentDecoded++) {
nRet = parseSegmentData(m_pSegmentList->getAt(m_nSegmentDecoded), pPause);
if((nRet == JBIG2_END_OF_PAGE) || (nRet == JBIG2_END_OF_FILE)) {
@@ -235,9 +235,9 @@ FX_INT32 CJBig2_Context::decode_RandomOrgnazation(IFX_Pause* pPause)
}
return JBIG2_SUCCESS;
}
-FX_INT32 CJBig2_Context::getFirstPage(FX_BYTE *pBuf, FX_INT32 width, FX_INT32 height, FX_INT32 stride, IFX_Pause* pPause)
+int32_t CJBig2_Context::getFirstPage(uint8_t *pBuf, int32_t width, int32_t height, int32_t stride, IFX_Pause* pPause)
{
- FX_INT32 nRet = 0;
+ int32_t nRet = 0;
if(m_pGlobalContext) {
nRet = m_pGlobalContext->decode_EmbedOrgnazation(pPause);
if(nRet != JBIG2_SUCCESS) {
@@ -260,10 +260,10 @@ FX_INT32 CJBig2_Context::getFirstPage(FX_BYTE *pBuf, FX_INT32 width, FX_INT32 he
int ret = Continue(pPause);
return ret;
}
-FX_INT32 CJBig2_Context::Continue(IFX_Pause* pPause)
+int32_t CJBig2_Context::Continue(IFX_Pause* pPause)
{
m_ProcessiveStatus = FXCODEC_STATUS_DECODE_READY;
- FX_INT32 nRet;
+ int32_t nRet;
if(m_PauseStep <= 1) {
switch(m_nStreamType) {
case JBIG2_FILE_STREAM:
@@ -311,9 +311,9 @@ FX_INT32 CJBig2_Context::Continue(IFX_Pause* pPause)
}
return nRet;
}
-FX_INT32 CJBig2_Context::getNextPage(FX_BYTE *pBuf, FX_INT32 width, FX_INT32 height, FX_INT32 stride, IFX_Pause* pPause)
+int32_t CJBig2_Context::getNextPage(uint8_t *pBuf, int32_t width, int32_t height, int32_t stride, IFX_Pause* pPause)
{
- FX_INT32 nRet = JBIG2_ERROR_STREAM_TYPE;
+ int32_t nRet = JBIG2_ERROR_STREAM_TYPE;
m_bFirstPage = FALSE;
m_PauseStep = 0;
if(m_pPage) {
@@ -345,9 +345,9 @@ FX_INT32 CJBig2_Context::getNextPage(FX_BYTE *pBuf, FX_INT32 width, FX_INT32 hei
}
return nRet;
}
-FX_INT32 CJBig2_Context::getFirstPage(CJBig2_Image **image, IFX_Pause* pPause)
+int32_t CJBig2_Context::getFirstPage(CJBig2_Image **image, IFX_Pause* pPause)
{
- FX_INT32 nRet;
+ int32_t nRet;
m_bFirstPage = TRUE;
m_PauseStep = 0;
if(m_pGlobalContext) {
@@ -359,9 +359,9 @@ FX_INT32 CJBig2_Context::getFirstPage(CJBig2_Image **image, IFX_Pause* pPause)
m_bBufSpecified = FALSE;
return Continue(pPause);
}
-FX_INT32 CJBig2_Context::getNextPage(CJBig2_Image **image, IFX_Pause* pPause)
+int32_t CJBig2_Context::getNextPage(CJBig2_Image **image, IFX_Pause* pPause)
{
- FX_INT32 nRet;
+ int32_t nRet;
m_bBufSpecified = FALSE;
m_bFirstPage = FALSE;
m_PauseStep = 0;
@@ -391,7 +391,7 @@ FX_INT32 CJBig2_Context::getNextPage(CJBig2_Image **image, IFX_Pause* pPause)
CJBig2_Segment *CJBig2_Context::findSegmentByNumber(FX_DWORD dwNumber)
{
CJBig2_Segment *pSeg;
- FX_INT32 i;
+ int32_t i;
if(m_pGlobalContext) {
pSeg = m_pGlobalContext->findSegmentByNumber(dwNumber);
if(pSeg) {
@@ -407,10 +407,10 @@ CJBig2_Segment *CJBig2_Context::findSegmentByNumber(FX_DWORD dwNumber)
return NULL;
}
CJBig2_Segment *CJBig2_Context::findReferredSegmentByTypeAndIndex(CJBig2_Segment *pSegment,
- FX_BYTE cType, FX_INT32 nIndex)
+ uint8_t cType, int32_t nIndex)
{
CJBig2_Segment *pSeg;
- FX_INT32 i, count;
+ int32_t i, count;
count = 0;
for(i = 0; i < pSegment->m_nReferred_to_segment_count; i++) {
pSeg = findSegmentByNumber(pSegment->m_pReferred_to_segment_numbers[i]);
@@ -424,10 +424,10 @@ CJBig2_Segment *CJBig2_Context::findReferredSegmentByTypeAndIndex(CJBig2_Segment
}
return NULL;
}
-FX_INT32 CJBig2_Context::parseSegmentHeader(CJBig2_Segment *pSegment)
+int32_t CJBig2_Context::parseSegmentHeader(CJBig2_Segment *pSegment)
{
- FX_BYTE cSSize, cPSize;
- FX_BYTE cTemp;
+ uint8_t cSSize, cPSize;
+ uint8_t cTemp;
FX_WORD wTemp;
FX_DWORD dwTemp;
if((m_pStream->readInteger(&pSegment->m_dwNumber) != 0)
@@ -457,7 +457,7 @@ FX_INT32 CJBig2_Context::parseSegmentHeader(CJBig2_Segment *pSegment)
if(pSegment->m_nReferred_to_segment_count) {
pSegment->m_pReferred_to_segment_numbers = (FX_DWORD*)m_pModule->JBig2_Malloc2(
sizeof(FX_DWORD), pSegment->m_nReferred_to_segment_count);
- for(FX_INT32 i = 0; i < pSegment->m_nReferred_to_segment_count; i++) {
+ for(int32_t i = 0; i < pSegment->m_nReferred_to_segment_count; i++) {
switch(cSSize) {
case 1:
if(m_pStream->read1Byte(&cTemp) != 0) {
@@ -504,15 +504,15 @@ failed:
m_pModule->JBig2_Error("header too short.");
return JBIG2_ERROR_TOO_SHORT;
}
-FX_INT32 CJBig2_Context::parseSegmentData(CJBig2_Segment *pSegment, IFX_Pause* pPause)
+int32_t CJBig2_Context::parseSegmentData(CJBig2_Segment *pSegment, IFX_Pause* pPause)
{
- FX_INT32 ret = ProcessiveParseSegmentData(pSegment, pPause);
+ int32_t ret = ProcessiveParseSegmentData(pSegment, pPause);
while(m_ProcessiveStatus == FXCODEC_STATUS_DECODE_TOBECONTINUE && m_pStream->getByteLeft() > 0) {
ret = ProcessiveParseSegmentData(pSegment, pPause);
}
return ret;
}
-FX_INT32 CJBig2_Context::ProcessiveParseSegmentData(CJBig2_Segment *pSegment, IFX_Pause* pPause)
+int32_t CJBig2_Context::ProcessiveParseSegmentData(CJBig2_Segment *pSegment, IFX_Pause* pPause)
{
switch(pSegment->m_cFlags.s.type) {
case 0:
@@ -613,13 +613,13 @@ failed2:
m_pModule->JBig2_Error("segment syntax error.");
return JBIG2_ERROR_FETAL;
}
-FX_INT32 CJBig2_Context::parseSymbolDict(CJBig2_Segment *pSegment, IFX_Pause* pPause)
+int32_t CJBig2_Context::parseSymbolDict(CJBig2_Segment *pSegment, IFX_Pause* pPause)
{
FX_DWORD dwTemp;
FX_WORD wFlags;
- FX_BYTE cSDHUFFDH, cSDHUFFDW, cSDHUFFBMSIZE, cSDHUFFAGGINST;
+ uint8_t cSDHUFFDH, cSDHUFFDW, cSDHUFFBMSIZE, cSDHUFFAGGINST;
CJBig2_HuffmanTable *Table_B1 = NULL, *Table_B2 = NULL, *Table_B3 = NULL, *Table_B4 = NULL, *Table_B5 = NULL;
- FX_INT32 i, nIndex, nRet;
+ int32_t i, nIndex, nRet;
CJBig2_Segment *pSeg = NULL, *pLRSeg = NULL;
FX_BOOL bUsed;
CJBig2_Image ** SDINSYMS = NULL;
@@ -627,7 +627,7 @@ FX_INT32 CJBig2_Context::parseSymbolDict(CJBig2_Segment *pSegment, IFX_Pause* pP
JBig2ArithCtx *gbContext = NULL, *grContext = NULL;
CJBig2_ArithDecoder *pArithDecoder;
JBIG2_ALLOC(pSymbolDictDecoder, CJBig2_SDDProc());
- FX_BYTE *key = pSegment->m_pData;
+ uint8_t *key = pSegment->m_pData;
FX_BOOL cache_hit = false;
if(m_pStream->readShortInteger(&wFlags) != 0) {
m_pModule->JBig2_Error("symbol dictionary segment : data header too short.");
@@ -648,8 +648,8 @@ FX_INT32 CJBig2_Context::parseSymbolDict(CJBig2_Segment *pSegment, IFX_Pause* pP
} else {
dwTemp = 2;
}
- for(i = 0; i < (FX_INT32)dwTemp; i++) {
- if(m_pStream->read1Byte((FX_BYTE*)&pSymbolDictDecoder->SDAT[i]) != 0) {
+ for(i = 0; i < (int32_t)dwTemp; i++) {
+ if(m_pStream->read1Byte((uint8_t*)&pSymbolDictDecoder->SDAT[i]) != 0) {
m_pModule->JBig2_Error("symbol dictionary segment : data header too short.");
nRet = JBIG2_ERROR_TOO_SHORT;
goto failed;
@@ -658,7 +658,7 @@ FX_INT32 CJBig2_Context::parseSymbolDict(CJBig2_Segment *pSegment, IFX_Pause* pP
}
if((pSymbolDictDecoder->SDREFAGG == 1) && (pSymbolDictDecoder->SDRTEMPLATE == 0)) {
for(i = 0; i < 4; i++) {
- if(m_pStream->read1Byte((FX_BYTE*)&pSymbolDictDecoder->SDRAT[i]) != 0) {
+ if(m_pStream->read1Byte((uint8_t*)&pSymbolDictDecoder->SDRAT[i]) != 0) {
m_pModule->JBig2_Error("symbol dictionary segment : data header too short.");
nRet = JBIG2_ERROR_TOO_SHORT;
goto failed;
@@ -917,12 +917,12 @@ FX_BOOL CJBig2_Context::parseTextRegion(CJBig2_Segment *pSegment)
{
FX_DWORD dwTemp;
FX_WORD wFlags;
- FX_INT32 i, nIndex, nRet;
+ int32_t i, nIndex, nRet;
JBig2RegionInfo ri;
CJBig2_Segment *pSeg;
CJBig2_Image **SBSYMS = NULL;
JBig2HuffmanCode *SBSYMCODES = NULL;
- FX_BYTE cSBHUFFFS, cSBHUFFDS, cSBHUFFDT, cSBHUFFRDW, cSBHUFFRDH, cSBHUFFRDX, cSBHUFFRDY, cSBHUFFRSIZE;
+ uint8_t cSBHUFFFS, cSBHUFFDS, cSBHUFFDT, cSBHUFFRDW, cSBHUFFRDH, cSBHUFFRDX, cSBHUFFRDY, cSBHUFFRSIZE;
CJBig2_HuffmanTable *Table_B1 = NULL,
*Table_B6 = NULL,
*Table_B7 = NULL,
@@ -976,7 +976,7 @@ FX_BOOL CJBig2_Context::parseTextRegion(CJBig2_Segment *pSegment)
}
if((pTRD->SBREFINE == 1) && (pTRD->SBRTEMPLATE == 0)) {
for(i = 0; i < 4; i++) {
- if(m_pStream->read1Byte((FX_BYTE*)&pTRD->SBRAT[i]) != 0) {
+ if(m_pStream->read1Byte((uint8_t*)&pTRD->SBRAT[i]) != 0) {
m_pModule->JBig2_Error("text region segment : data header too short.");
nRet = JBIG2_ERROR_TOO_SHORT;
goto failed;
@@ -1032,7 +1032,7 @@ FX_BOOL CJBig2_Context::parseTextRegion(CJBig2_Segment *pSegment)
while((FX_DWORD)(1 << dwTemp) < pTRD->SBNUMSYMS) {
dwTemp ++;
}
- pTRD->SBSYMCODELEN = (FX_BYTE)dwTemp;
+ pTRD->SBSYMCODELEN = (uint8_t)dwTemp;
}
if(pTRD->SBHUFF == 1) {
if((cSBHUFFFS == 2) || (cSBHUFFRDW == 2) || (cSBHUFFRDH == 2)
@@ -1326,11 +1326,11 @@ failed:
FX_BOOL CJBig2_Context::parsePatternDict(CJBig2_Segment *pSegment, IFX_Pause* pPause)
{
FX_DWORD dwTemp;
- FX_BYTE cFlags;
+ uint8_t cFlags;
JBig2ArithCtx *gbContext;
CJBig2_ArithDecoder *pArithDecoder;
CJBig2_PDDProc *pPDD;
- FX_INT32 nRet;
+ int32_t nRet;
JBIG2_ALLOC(pPDD, CJBig2_PDDProc());
if((m_pStream->read1Byte(&cFlags) != 0)
|| (m_pStream->read1Byte(&pPDD->HDPW) != 0)
@@ -1380,14 +1380,14 @@ failed:
FX_BOOL CJBig2_Context::parseHalftoneRegion(CJBig2_Segment *pSegment, IFX_Pause* pPause)
{
FX_DWORD dwTemp;
- FX_BYTE cFlags;
+ uint8_t cFlags;
JBig2RegionInfo ri;
CJBig2_Segment *pSeg;
CJBig2_PatternDict *pPatternDict;
JBig2ArithCtx *gbContext;
CJBig2_ArithDecoder *pArithDecoder;
CJBig2_HTRDProc *pHRD;
- FX_INT32 nRet;
+ int32_t nRet;
JBIG2_ALLOC(pHRD, CJBig2_HTRDProc());
if((parseRegionInfo(&ri) != JBIG2_SUCCESS)
|| (m_pStream->read1Byte(&cFlags) != 0)
@@ -1474,8 +1474,8 @@ failed:
FX_BOOL CJBig2_Context::parseGenericRegion(CJBig2_Segment *pSegment, IFX_Pause* pPause)
{
FX_DWORD dwTemp;
- FX_BYTE cFlags;
- FX_INT32 i, nRet;
+ uint8_t cFlags;
+ int32_t i, nRet;
if(m_pGRD == NULL) {
JBIG2_ALLOC(m_pGRD, CJBig2_GRDProc());
if((parseRegionInfo(&m_ri) != JBIG2_SUCCESS)
@@ -1497,7 +1497,7 @@ FX_BOOL CJBig2_Context::parseGenericRegion(CJBig2_Segment *pSegment, IFX_Pause*
if(m_pGRD->MMR == 0) {
if(m_pGRD->GBTEMPLATE == 0) {
for(i = 0; i < 8; i++) {
- if(m_pStream->read1Byte((FX_BYTE*)&m_pGRD->GBAT[i]) != 0) {
+ if(m_pStream->read1Byte((uint8_t*)&m_pGRD->GBAT[i]) != 0) {
m_pModule->JBig2_Error("generic region segment : data header too short.");
nRet = JBIG2_ERROR_TOO_SHORT;
goto failed;
@@ -1505,7 +1505,7 @@ FX_BOOL CJBig2_Context::parseGenericRegion(CJBig2_Segment *pSegment, IFX_Pause*
}
} else {
for(i = 0; i < 2; i++) {
- if(m_pStream->read1Byte((FX_BYTE*)&m_pGRD->GBAT[i]) != 0) {
+ if(m_pStream->read1Byte((uint8_t*)&m_pGRD->GBAT[i]) != 0) {
m_pModule->JBig2_Error("generic region segment : data header too short.");
nRet = JBIG2_ERROR_TOO_SHORT;
goto failed;
@@ -1593,8 +1593,8 @@ FX_BOOL CJBig2_Context::parseGenericRefinementRegion(CJBig2_Segment *pSegment)
FX_DWORD dwTemp;
JBig2RegionInfo ri;
CJBig2_Segment *pSeg;
- FX_INT32 i, nRet;
- FX_BYTE cFlags;
+ int32_t i, nRet;
+ uint8_t cFlags;
JBig2ArithCtx *grContext;
CJBig2_GRRDProc *pGRRD;
CJBig2_ArithDecoder *pArithDecoder;
@@ -1611,7 +1611,7 @@ FX_BOOL CJBig2_Context::parseGenericRefinementRegion(CJBig2_Segment *pSegment)
pGRRD->TPGRON = (cFlags >> 1) & 0x01;
if(pGRRD->GRTEMPLATE == 0) {
for(i = 0; i < 4; i++) {
- if(m_pStream->read1Byte((FX_BYTE*)&pGRRD->GRAT[i]) != 0) {
+ if(m_pStream->read1Byte((uint8_t*)&pGRRD->GRAT[i]) != 0) {
m_pModule->JBig2_Error("generic refinement region segment : data header too short.");
nRet = JBIG2_ERROR_TOO_SHORT;
goto failed;
@@ -1687,7 +1687,7 @@ FX_BOOL CJBig2_Context::parseTable(CJBig2_Segment *pSegment)
m_pStream->alignByte();
return JBIG2_SUCCESS;
}
-FX_INT32 CJBig2_Context::parseRegionInfo(JBig2RegionInfo *pRI)
+int32_t CJBig2_Context::parseRegionInfo(JBig2RegionInfo *pRI)
{
if((m_pStream->readInteger((FX_DWORD*)&pRI->width) != 0)
|| (m_pStream->readInteger((FX_DWORD*)&pRI->height) != 0)
@@ -1702,9 +1702,9 @@ JBig2HuffmanCode *CJBig2_Context::decodeSymbolIDHuffmanTable(CJBig2_BitStream *p
FX_DWORD SBNUMSYMS)
{
JBig2HuffmanCode *SBSYMCODES;
- FX_INT32 runcodes[35], runcodes_len[35], runcode;
- FX_INT32 i, j, nTemp, nVal, nBits;
- FX_INT32 run;
+ int32_t runcodes[35], runcodes_len[35], runcode;
+ int32_t i, j, nTemp, nVal, nBits;
+ int32_t run;
SBSYMCODES = (JBig2HuffmanCode*)m_pModule->JBig2_Malloc2(sizeof(JBig2HuffmanCode), SBNUMSYMS);
for (i = 0; i < 35; i ++) {
if(pStream->readNBits(4, &runcodes_len[i]) != 0) {