Chromium Code Reviews| Index: core/src/fxcodec/jbig2/JBig2_GeneralDecoder.cpp |
| diff --git a/core/src/fxcodec/jbig2/JBig2_GeneralDecoder.cpp b/core/src/fxcodec/jbig2/JBig2_GeneralDecoder.cpp |
| index a2dc397af2ee54249bb47eed9085daaa84242538..62d3d85ba4ed33588faa9a9c2e491ec7018f54ff 100644 |
| --- a/core/src/fxcodec/jbig2/JBig2_GeneralDecoder.cpp |
| +++ b/core/src/fxcodec/jbig2/JBig2_GeneralDecoder.cpp |
| @@ -1138,10 +1138,9 @@ CJBig2_Image* CJBig2_TRDProc::decode_Huffman(CJBig2_BitStream* pStream, |
| FX_BOOL bFirst; |
| FX_DWORD nTmp; |
| int32_t nVal, nBits; |
| - CJBig2_HuffmanDecoder* pHuffmanDecoder; |
| CJBig2_GRRDProc* pGRRD; |
| CJBig2_ArithDecoder* pArithDecoder; |
| - JBIG2_ALLOC(pHuffmanDecoder, CJBig2_HuffmanDecoder(pStream)); |
| + CJBig2_HuffmanDecoder* pHuffmanDecoder = new CJBig2_HuffmanDecoder(pStream); |
| JBIG2_ALLOC(SBREG, CJBig2_Image(SBW, SBH)); |
|
Tom Sepez
2015/09/03 20:24:58
nit: Did you want to fix this one too?
Lei Zhang
2015/09/03 22:52:12
CJBig2_Image is still a CJBig2_Object subclass for
|
| SBREG->fill(SBDEFPIXEL); |
| if (pHuffmanDecoder->decodeAValue(SBHUFFDT, &STRIPT) != 0) { |
| @@ -1266,7 +1265,7 @@ CJBig2_Image* CJBig2_TRDProc::decode_Huffman(CJBig2_BitStream* pStream, |
| pGRRD->GRAT[1] = SBRAT[1]; |
| pGRRD->GRAT[2] = SBRAT[2]; |
| pGRRD->GRAT[3] = SBRAT[3]; |
| - JBIG2_ALLOC(pArithDecoder, CJBig2_ArithDecoder(pStream)); |
| + pArithDecoder = new CJBig2_ArithDecoder(pStream); |
| IBI = pGRRD->decode(pArithDecoder, grContext); |
| if (IBI == NULL) { |
| delete pGRRD; |
| @@ -1388,16 +1387,16 @@ CJBig2_Image* CJBig2_TRDProc::decode_Arith(CJBig2_ArithDecoder* pArithDecoder, |
| IAID = pIDS->IAID; |
| bRetained = TRUE; |
| } else { |
| - JBIG2_ALLOC(IADT, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IAFS, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IADS, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IAIT, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IARI, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IARDW, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IARDH, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IARDX, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IARDY, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IAID, CJBig2_ArithIaidDecoder(SBSYMCODELEN)); |
| + IADT = new CJBig2_ArithIntDecoder(); |
| + IAFS = new CJBig2_ArithIntDecoder(); |
| + IADS = new CJBig2_ArithIntDecoder(); |
| + IAIT = new CJBig2_ArithIntDecoder(); |
| + IARI = new CJBig2_ArithIntDecoder(); |
| + IARDW = new CJBig2_ArithIntDecoder(); |
| + IARDH = new CJBig2_ArithIntDecoder(); |
| + IARDX = new CJBig2_ArithIntDecoder(); |
| + IARDY = new CJBig2_ArithIntDecoder(); |
| + IAID = new CJBig2_ArithIaidDecoder(SBSYMCODELEN); |
| bRetained = FALSE; |
| } |
| JBIG2_ALLOC(SBREG, CJBig2_Image(SBW, SBH)); |
| @@ -1633,24 +1632,24 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Arith( |
| *IAFS, *IADS, *IAIT, *IARI, *IARDW, *IARDH; |
| CJBig2_ArithIaidDecoder* IAID; |
| CJBig2_SymbolDict* pDict; |
| - JBIG2_ALLOC(IADH, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IADW, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IAAI, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IARDX, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IARDY, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IAEX, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IADT, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IAFS, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IADS, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IAIT, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IARI, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IARDW, CJBig2_ArithIntDecoder()); |
| - JBIG2_ALLOC(IARDH, CJBig2_ArithIntDecoder()); |
| + IADH = new CJBig2_ArithIntDecoder(); |
| + IADW = new CJBig2_ArithIntDecoder(); |
| + IAAI = new CJBig2_ArithIntDecoder(); |
| + IARDX = new CJBig2_ArithIntDecoder(); |
| + IARDY = new CJBig2_ArithIntDecoder(); |
| + IAEX = new CJBig2_ArithIntDecoder(); |
| + IADT = new CJBig2_ArithIntDecoder(); |
| + IAFS = new CJBig2_ArithIntDecoder(); |
| + IADS = new CJBig2_ArithIntDecoder(); |
| + IAIT = new CJBig2_ArithIntDecoder(); |
| + IARI = new CJBig2_ArithIntDecoder(); |
| + IARDW = new CJBig2_ArithIntDecoder(); |
| + IARDH = new CJBig2_ArithIntDecoder(); |
| nTmp = 0; |
| while ((FX_DWORD)(1 << nTmp) < (SDNUMINSYMS + SDNUMNEWSYMS)) { |
| nTmp++; |
| } |
| - JBIG2_ALLOC(IAID, CJBig2_ArithIaidDecoder((uint8_t)nTmp)); |
| + IAID = new CJBig2_ArithIaidDecoder((uint8_t)nTmp); |
| SDNEWSYMS = (CJBig2_Image**)m_pModule->JBig2_Malloc2(SDNUMNEWSYMS, |
| sizeof(CJBig2_Image*)); |
| FXSYS_memset(SDNEWSYMS, 0, SDNUMNEWSYMS * sizeof(CJBig2_Image*)); |
| @@ -1757,39 +1756,35 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Arith( |
| pDecoder->TRANSPOSED = 0; |
| pDecoder->REFCORNER = JBIG2_CORNER_TOPLEFT; |
| pDecoder->SBDSOFFSET = 0; |
| - JBIG2_ALLOC(SBHUFFFS, CJBig2_HuffmanTable(HuffmanTable_B6, |
| - sizeof(HuffmanTable_B6) / |
| - sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B6)); |
| - JBIG2_ALLOC(SBHUFFDS, CJBig2_HuffmanTable(HuffmanTable_B8, |
| - sizeof(HuffmanTable_B8) / |
| - sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B8)); |
| - JBIG2_ALLOC(SBHUFFDT, CJBig2_HuffmanTable(HuffmanTable_B11, |
| - sizeof(HuffmanTable_B11) / |
| - sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B11)); |
| - JBIG2_ALLOC(SBHUFFRDW, CJBig2_HuffmanTable(HuffmanTable_B15, |
| - sizeof(HuffmanTable_B15) / |
| - sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B15)); |
| - JBIG2_ALLOC(SBHUFFRDH, CJBig2_HuffmanTable(HuffmanTable_B15, |
| - sizeof(HuffmanTable_B15) / |
| - sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B15)); |
| - JBIG2_ALLOC(SBHUFFRDX, CJBig2_HuffmanTable(HuffmanTable_B15, |
| - sizeof(HuffmanTable_B15) / |
| - sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B15)); |
| - JBIG2_ALLOC(SBHUFFRDY, CJBig2_HuffmanTable(HuffmanTable_B15, |
| - sizeof(HuffmanTable_B15) / |
| - sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B15)); |
| - JBIG2_ALLOC(SBHUFFRSIZE, |
| - CJBig2_HuffmanTable( |
| - HuffmanTable_B1, |
| - sizeof(HuffmanTable_B1) / sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B1)); |
| + SBHUFFFS = new CJBig2_HuffmanTable( |
| + HuffmanTable_B6, sizeof(HuffmanTable_B6) / sizeof(JBig2TableLine), |
|
Tom Sepez
2015/09/03 20:24:58
nit: FX_ArraySize() usage?
Lei Zhang
2015/09/03 22:52:12
Done.
|
| + HuffmanTable_HTOOB_B6); |
| + SBHUFFDS = new CJBig2_HuffmanTable( |
| + HuffmanTable_B8, sizeof(HuffmanTable_B8) / sizeof(JBig2TableLine), |
| + HuffmanTable_HTOOB_B8); |
| + SBHUFFDT = new CJBig2_HuffmanTable( |
| + HuffmanTable_B11, |
| + sizeof(HuffmanTable_B11) / sizeof(JBig2TableLine), |
| + HuffmanTable_HTOOB_B11); |
| + SBHUFFRDW = new CJBig2_HuffmanTable( |
| + HuffmanTable_B15, |
| + sizeof(HuffmanTable_B15) / sizeof(JBig2TableLine), |
| + HuffmanTable_HTOOB_B15); |
| + SBHUFFRDH = new CJBig2_HuffmanTable( |
| + HuffmanTable_B15, |
| + sizeof(HuffmanTable_B15) / sizeof(JBig2TableLine), |
| + HuffmanTable_HTOOB_B15); |
| + SBHUFFRDX = new CJBig2_HuffmanTable( |
| + HuffmanTable_B15, |
| + sizeof(HuffmanTable_B15) / sizeof(JBig2TableLine), |
| + HuffmanTable_HTOOB_B15); |
| + SBHUFFRDY = new CJBig2_HuffmanTable( |
| + HuffmanTable_B15, |
| + sizeof(HuffmanTable_B15) / sizeof(JBig2TableLine), |
| + HuffmanTable_HTOOB_B15); |
| + SBHUFFRSIZE = new CJBig2_HuffmanTable( |
| + HuffmanTable_B1, sizeof(HuffmanTable_B1) / sizeof(JBig2TableLine), |
| + HuffmanTable_HTOOB_B1); |
| pDecoder->SBHUFFFS = SBHUFFFS; |
| pDecoder->SBHUFFDS = SBHUFFDS; |
| pDecoder->SBHUFFDT = SBHUFFDT; |
| @@ -2014,7 +2009,7 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Huffman(CJBig2_BitStream* pStream, |
| CJBig2_ArithDecoder* pArithDecoder; |
| CJBig2_GRDProc* pGRD; |
| CJBig2_SymbolDict* pDict; |
| - JBIG2_ALLOC(pHuffmanDecoder, CJBig2_HuffmanDecoder(pStream)); |
| + pHuffmanDecoder = new CJBig2_HuffmanDecoder(pStream); |
| SDNEWSYMS = (CJBig2_Image**)m_pModule->JBig2_Malloc2(SDNUMNEWSYMS, |
| sizeof(CJBig2_Image*)); |
| FXSYS_memset(SDNEWSYMS, 0, SDNUMNEWSYMS * sizeof(CJBig2_Image*)); |
| @@ -2114,39 +2109,35 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Huffman(CJBig2_BitStream* pStream, |
| pDecoder->TRANSPOSED = 0; |
| pDecoder->REFCORNER = JBIG2_CORNER_TOPLEFT; |
| pDecoder->SBDSOFFSET = 0; |
| - JBIG2_ALLOC(SBHUFFFS, CJBig2_HuffmanTable(HuffmanTable_B6, |
| - sizeof(HuffmanTable_B6) / |
| - sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B6)); |
| - JBIG2_ALLOC(SBHUFFDS, CJBig2_HuffmanTable(HuffmanTable_B8, |
| - sizeof(HuffmanTable_B8) / |
| - sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B8)); |
| - JBIG2_ALLOC(SBHUFFDT, CJBig2_HuffmanTable(HuffmanTable_B11, |
| - sizeof(HuffmanTable_B11) / |
| - sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B11)); |
| - JBIG2_ALLOC(SBHUFFRDW, CJBig2_HuffmanTable(HuffmanTable_B15, |
| - sizeof(HuffmanTable_B15) / |
| - sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B15)); |
| - JBIG2_ALLOC(SBHUFFRDH, CJBig2_HuffmanTable(HuffmanTable_B15, |
| - sizeof(HuffmanTable_B15) / |
| - sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B15)); |
| - JBIG2_ALLOC(SBHUFFRDX, CJBig2_HuffmanTable(HuffmanTable_B15, |
| - sizeof(HuffmanTable_B15) / |
| - sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B15)); |
| - JBIG2_ALLOC(SBHUFFRDY, CJBig2_HuffmanTable(HuffmanTable_B15, |
| - sizeof(HuffmanTable_B15) / |
| - sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B15)); |
| - JBIG2_ALLOC(SBHUFFRSIZE, |
| - CJBig2_HuffmanTable( |
| - HuffmanTable_B1, |
| - sizeof(HuffmanTable_B1) / sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B1)); |
| + SBHUFFFS = new CJBig2_HuffmanTable( |
| + HuffmanTable_B6, sizeof(HuffmanTable_B6) / sizeof(JBig2TableLine), |
| + HuffmanTable_HTOOB_B6); |
| + SBHUFFDS = new CJBig2_HuffmanTable( |
| + HuffmanTable_B8, sizeof(HuffmanTable_B8) / sizeof(JBig2TableLine), |
| + HuffmanTable_HTOOB_B8); |
| + SBHUFFDT = new CJBig2_HuffmanTable( |
| + HuffmanTable_B11, |
| + sizeof(HuffmanTable_B11) / sizeof(JBig2TableLine), |
| + HuffmanTable_HTOOB_B11); |
| + SBHUFFRDW = new CJBig2_HuffmanTable( |
| + HuffmanTable_B15, |
| + sizeof(HuffmanTable_B15) / sizeof(JBig2TableLine), |
| + HuffmanTable_HTOOB_B15); |
| + SBHUFFRDH = new CJBig2_HuffmanTable( |
| + HuffmanTable_B15, |
| + sizeof(HuffmanTable_B15) / sizeof(JBig2TableLine), |
| + HuffmanTable_HTOOB_B15); |
| + SBHUFFRDX = new CJBig2_HuffmanTable( |
| + HuffmanTable_B15, |
| + sizeof(HuffmanTable_B15) / sizeof(JBig2TableLine), |
| + HuffmanTable_HTOOB_B15); |
| + SBHUFFRDY = new CJBig2_HuffmanTable( |
| + HuffmanTable_B15, |
| + sizeof(HuffmanTable_B15) / sizeof(JBig2TableLine), |
| + HuffmanTable_HTOOB_B15); |
| + SBHUFFRSIZE = new CJBig2_HuffmanTable( |
| + HuffmanTable_B1, sizeof(HuffmanTable_B1) / sizeof(JBig2TableLine), |
| + HuffmanTable_HTOOB_B1); |
| pDecoder->SBHUFFFS = SBHUFFFS; |
| pDecoder->SBHUFFDS = SBHUFFDS; |
| pDecoder->SBHUFFDT = SBHUFFDT; |
| @@ -2220,15 +2211,13 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Huffman(CJBig2_BitStream* pStream, |
| } |
| } |
| m_pModule->JBig2_Free(SBSYMCODES); |
| - JBIG2_ALLOC(SBHUFFRDX, CJBig2_HuffmanTable(HuffmanTable_B15, |
| - sizeof(HuffmanTable_B15) / |
| - sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B15)); |
| - JBIG2_ALLOC(SBHUFFRSIZE, |
| - CJBig2_HuffmanTable( |
| - HuffmanTable_B1, |
| - sizeof(HuffmanTable_B1) / sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B1)); |
| + SBHUFFRDX = new CJBig2_HuffmanTable( |
| + HuffmanTable_B15, |
| + sizeof(HuffmanTable_B15) / sizeof(JBig2TableLine), |
| + HuffmanTable_HTOOB_B15); |
| + SBHUFFRSIZE = new CJBig2_HuffmanTable( |
| + HuffmanTable_B1, sizeof(HuffmanTable_B1) / sizeof(JBig2TableLine), |
| + HuffmanTable_HTOOB_B1); |
| if ((pHuffmanDecoder->decodeAValue(SBHUFFRDX, &RDXI) != 0) || |
| (pHuffmanDecoder->decodeAValue(SBHUFFRDX, &RDYI) != 0) || |
| (pHuffmanDecoder->decodeAValue(SBHUFFRSIZE, &nVal) != 0)) { |
| @@ -2259,7 +2248,7 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Huffman(CJBig2_BitStream* pStream, |
| pGRRD->GRAT[1] = SDRAT[1]; |
| pGRRD->GRAT[2] = SDRAT[2]; |
| pGRRD->GRAT[3] = SDRAT[3]; |
| - JBIG2_ALLOC(pArithDecoder, CJBig2_ArithDecoder(pStream)); |
| + pArithDecoder = new CJBig2_ArithDecoder(pStream); |
| BS = pGRRD->decode(pArithDecoder, grContext); |
| if (BS == NULL) { |
| m_pModule->JBig2_Free(SBSYMS); |
| @@ -2338,10 +2327,9 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Huffman(CJBig2_BitStream* pStream, |
| } |
| EXINDEX = 0; |
| CUREXFLAG = 0; |
| - JBIG2_ALLOC(pTable, CJBig2_HuffmanTable( |
| - HuffmanTable_B1, |
| - sizeof(HuffmanTable_B1) / sizeof(JBig2TableLine), |
| - HuffmanTable_HTOOB_B1)); |
| + pTable = new CJBig2_HuffmanTable( |
| + HuffmanTable_B1, sizeof(HuffmanTable_B1) / sizeof(JBig2TableLine), |
| + HuffmanTable_HTOOB_B1); |
| EXFLAGS = (FX_BOOL*)m_pModule->JBig2_Malloc2(sizeof(FX_BOOL), |
| (SDNUMINSYMS + SDNUMNEWSYMS)); |
| while (EXINDEX < SDNUMINSYMS + SDNUMNEWSYMS) { |
| @@ -2523,7 +2511,7 @@ CJBig2_PatternDict* CJBig2_PDDProc::decode_Arith( |
| CJBig2_Image* BHDC = NULL; |
| CJBig2_PatternDict* pDict; |
| CJBig2_GRDProc* pGRD; |
| - JBIG2_ALLOC(pDict, CJBig2_PatternDict()); |
| + pDict = new CJBig2_PatternDict(); |
| pDict->NUMPATS = GRAYMAX + 1; |
| pDict->HDPATS = (CJBig2_Image**)m_pModule->JBig2_Malloc2( |
| sizeof(CJBig2_Image*), pDict->NUMPATS); |
| @@ -2571,9 +2559,8 @@ CJBig2_PatternDict* CJBig2_PDDProc::decode_MMR(CJBig2_BitStream* pStream, |
| IFX_Pause* pPause) { |
| FX_DWORD GRAY; |
| CJBig2_Image* BHDC = NULL; |
| - CJBig2_PatternDict* pDict; |
| CJBig2_GRDProc* pGRD; |
| - JBIG2_ALLOC(pDict, CJBig2_PatternDict()); |
| + CJBig2_PatternDict* pDict = new CJBig2_PatternDict(); |
| pDict->NUMPATS = GRAYMAX + 1; |
| pDict->HDPATS = (CJBig2_Image**)m_pModule->JBig2_Malloc2( |
| sizeof(CJBig2_Image*), pDict->NUMPATS); |