| Index: core/src/fxcodec/jbig2/JBig2_SddProc.cpp
|
| diff --git a/core/src/fxcodec/jbig2/JBig2_SddProc.cpp b/core/src/fxcodec/jbig2/JBig2_SddProc.cpp
|
| index e9ce932d918e144d7a445f2729025cb3be67a7f7..faa70621ab66fa80dac478905aa8cea92227e77d 100644
|
| --- a/core/src/fxcodec/jbig2/JBig2_SddProc.cpp
|
| +++ b/core/src/fxcodec/jbig2/JBig2_SddProc.cpp
|
| @@ -6,6 +6,7 @@
|
|
|
| #include "core/src/fxcodec/jbig2/JBig2_SddProc.h"
|
|
|
| +#include <memory>
|
| #include <vector>
|
|
|
| #include "core/include/fxcrt/fx_basic.h"
|
| @@ -17,7 +18,6 @@
|
| #include "core/src/fxcodec/jbig2/JBig2_HuffmanTable_Standard.h"
|
| #include "core/src/fxcodec/jbig2/JBig2_SymbolDict.h"
|
| #include "core/src/fxcodec/jbig2/JBig2_TrdProc.h"
|
| -#include "third_party/base/nonstd_unique_ptr.h"
|
|
|
| CJBig2_SymbolDict* CJBig2_SDDProc::decode_Arith(
|
| CJBig2_ArithDecoder* pArithDecoder,
|
| @@ -39,21 +39,21 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Arith(
|
| uint8_t SBSYMCODELEN;
|
| int32_t RDXI, RDYI;
|
| CJBig2_Image** SBSYMS;
|
| - nonstd::unique_ptr<CJBig2_ArithIaidDecoder> IAID;
|
| - nonstd::unique_ptr<CJBig2_SymbolDict> pDict;
|
| - nonstd::unique_ptr<CJBig2_ArithIntDecoder> IADH(new CJBig2_ArithIntDecoder);
|
| - nonstd::unique_ptr<CJBig2_ArithIntDecoder> IADW(new CJBig2_ArithIntDecoder);
|
| - nonstd::unique_ptr<CJBig2_ArithIntDecoder> IAAI(new CJBig2_ArithIntDecoder);
|
| - nonstd::unique_ptr<CJBig2_ArithIntDecoder> IARDX(new CJBig2_ArithIntDecoder);
|
| - nonstd::unique_ptr<CJBig2_ArithIntDecoder> IARDY(new CJBig2_ArithIntDecoder);
|
| - nonstd::unique_ptr<CJBig2_ArithIntDecoder> IAEX(new CJBig2_ArithIntDecoder);
|
| - nonstd::unique_ptr<CJBig2_ArithIntDecoder> IADT(new CJBig2_ArithIntDecoder);
|
| - nonstd::unique_ptr<CJBig2_ArithIntDecoder> IAFS(new CJBig2_ArithIntDecoder);
|
| - nonstd::unique_ptr<CJBig2_ArithIntDecoder> IADS(new CJBig2_ArithIntDecoder);
|
| - nonstd::unique_ptr<CJBig2_ArithIntDecoder> IAIT(new CJBig2_ArithIntDecoder);
|
| - nonstd::unique_ptr<CJBig2_ArithIntDecoder> IARI(new CJBig2_ArithIntDecoder);
|
| - nonstd::unique_ptr<CJBig2_ArithIntDecoder> IARDW(new CJBig2_ArithIntDecoder);
|
| - nonstd::unique_ptr<CJBig2_ArithIntDecoder> IARDH(new CJBig2_ArithIntDecoder);
|
| + std::unique_ptr<CJBig2_ArithIaidDecoder> IAID;
|
| + std::unique_ptr<CJBig2_SymbolDict> pDict;
|
| + std::unique_ptr<CJBig2_ArithIntDecoder> IADH(new CJBig2_ArithIntDecoder);
|
| + std::unique_ptr<CJBig2_ArithIntDecoder> IADW(new CJBig2_ArithIntDecoder);
|
| + std::unique_ptr<CJBig2_ArithIntDecoder> IAAI(new CJBig2_ArithIntDecoder);
|
| + std::unique_ptr<CJBig2_ArithIntDecoder> IARDX(new CJBig2_ArithIntDecoder);
|
| + std::unique_ptr<CJBig2_ArithIntDecoder> IARDY(new CJBig2_ArithIntDecoder);
|
| + std::unique_ptr<CJBig2_ArithIntDecoder> IAEX(new CJBig2_ArithIntDecoder);
|
| + std::unique_ptr<CJBig2_ArithIntDecoder> IADT(new CJBig2_ArithIntDecoder);
|
| + std::unique_ptr<CJBig2_ArithIntDecoder> IAFS(new CJBig2_ArithIntDecoder);
|
| + std::unique_ptr<CJBig2_ArithIntDecoder> IADS(new CJBig2_ArithIntDecoder);
|
| + std::unique_ptr<CJBig2_ArithIntDecoder> IAIT(new CJBig2_ArithIntDecoder);
|
| + std::unique_ptr<CJBig2_ArithIntDecoder> IARI(new CJBig2_ArithIntDecoder);
|
| + std::unique_ptr<CJBig2_ArithIntDecoder> IARDW(new CJBig2_ArithIntDecoder);
|
| + std::unique_ptr<CJBig2_ArithIntDecoder> IARDH(new CJBig2_ArithIntDecoder);
|
| nTmp = 0;
|
| while ((FX_DWORD)(1 << nTmp) < (SDNUMINSYMS + SDNUMNEWSYMS)) {
|
| nTmp++;
|
| @@ -92,7 +92,7 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Arith(
|
| }
|
| TOTWIDTH = TOTWIDTH + SYMWIDTH;
|
| if (SDREFAGG == 0) {
|
| - nonstd::unique_ptr<CJBig2_GRDProc> pGRD(new CJBig2_GRDProc());
|
| + std::unique_ptr<CJBig2_GRDProc> pGRD(new CJBig2_GRDProc());
|
| pGRD->MMR = 0;
|
| pGRD->GBW = SYMWIDTH;
|
| pGRD->GBH = HCHEIGHT;
|
| @@ -114,7 +114,7 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Arith(
|
| } else {
|
| IAAI->decode(pArithDecoder, (int*)&REFAGGNINST);
|
| if (REFAGGNINST > 1) {
|
| - nonstd::unique_ptr<CJBig2_TRDProc> pDecoder(new CJBig2_TRDProc());
|
| + std::unique_ptr<CJBig2_TRDProc> pDecoder(new CJBig2_TRDProc());
|
| pDecoder->SBHUFF = SDHUFF;
|
| pDecoder->SBREFINE = 1;
|
| pDecoder->SBW = SYMWIDTH;
|
| @@ -139,35 +139,32 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Arith(
|
| pDecoder->TRANSPOSED = 0;
|
| pDecoder->REFCORNER = JBIG2_CORNER_TOPLEFT;
|
| pDecoder->SBDSOFFSET = 0;
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> SBHUFFFS(
|
| - new CJBig2_HuffmanTable(HuffmanTable_B6,
|
| - FX_ArraySize(HuffmanTable_B6),
|
| - HuffmanTable_HTOOB_B6));
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> SBHUFFDS(
|
| - new CJBig2_HuffmanTable(HuffmanTable_B8,
|
| - FX_ArraySize(HuffmanTable_B8),
|
| - HuffmanTable_HTOOB_B8));
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> SBHUFFDT(
|
| - new CJBig2_HuffmanTable(HuffmanTable_B11,
|
| - FX_ArraySize(HuffmanTable_B11),
|
| - HuffmanTable_HTOOB_B11));
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> SBHUFFRDW(
|
| + std::unique_ptr<CJBig2_HuffmanTable> SBHUFFFS(new CJBig2_HuffmanTable(
|
| + HuffmanTable_B6, FX_ArraySize(HuffmanTable_B6),
|
| + HuffmanTable_HTOOB_B6));
|
| + std::unique_ptr<CJBig2_HuffmanTable> SBHUFFDS(new CJBig2_HuffmanTable(
|
| + HuffmanTable_B8, FX_ArraySize(HuffmanTable_B8),
|
| + HuffmanTable_HTOOB_B8));
|
| + std::unique_ptr<CJBig2_HuffmanTable> SBHUFFDT(new CJBig2_HuffmanTable(
|
| + HuffmanTable_B11, FX_ArraySize(HuffmanTable_B11),
|
| + HuffmanTable_HTOOB_B11));
|
| + std::unique_ptr<CJBig2_HuffmanTable> SBHUFFRDW(
|
| new CJBig2_HuffmanTable(HuffmanTable_B15,
|
| FX_ArraySize(HuffmanTable_B15),
|
| HuffmanTable_HTOOB_B15));
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> SBHUFFRDH(
|
| + std::unique_ptr<CJBig2_HuffmanTable> SBHUFFRDH(
|
| new CJBig2_HuffmanTable(HuffmanTable_B15,
|
| FX_ArraySize(HuffmanTable_B15),
|
| HuffmanTable_HTOOB_B15));
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> SBHUFFRDX(
|
| + std::unique_ptr<CJBig2_HuffmanTable> SBHUFFRDX(
|
| new CJBig2_HuffmanTable(HuffmanTable_B15,
|
| FX_ArraySize(HuffmanTable_B15),
|
| HuffmanTable_HTOOB_B15));
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> SBHUFFRDY(
|
| + std::unique_ptr<CJBig2_HuffmanTable> SBHUFFRDY(
|
| new CJBig2_HuffmanTable(HuffmanTable_B15,
|
| FX_ArraySize(HuffmanTable_B15),
|
| HuffmanTable_HTOOB_B15));
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> SBHUFFRSIZE(
|
| + std::unique_ptr<CJBig2_HuffmanTable> SBHUFFRSIZE(
|
| new CJBig2_HuffmanTable(HuffmanTable_B1,
|
| FX_ArraySize(HuffmanTable_B1),
|
| HuffmanTable_HTOOB_B1));
|
| @@ -218,7 +215,7 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Arith(
|
| FX_Free(SBSYMS);
|
| goto failed;
|
| }
|
| - nonstd::unique_ptr<CJBig2_GRRDProc> pGRRD(new CJBig2_GRRDProc());
|
| + std::unique_ptr<CJBig2_GRRDProc> pGRRD(new CJBig2_GRRDProc());
|
| pGRRD->GRW = SYMWIDTH;
|
| pGRRD->GRH = HCHEIGHT;
|
| pGRRD->GRTEMPLATE = SDRTEMPLATE;
|
| @@ -315,7 +312,7 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Huffman(
|
| FX_DWORD BMSIZE;
|
| FX_DWORD stride;
|
| CJBig2_Image** SBSYMS;
|
| - nonstd::unique_ptr<CJBig2_HuffmanDecoder> pHuffmanDecoder(
|
| + std::unique_ptr<CJBig2_HuffmanDecoder> pHuffmanDecoder(
|
| new CJBig2_HuffmanDecoder(pStream));
|
| SDNEWSYMS = FX_Alloc(CJBig2_Image*, SDNUMNEWSYMS);
|
| FXSYS_memset(SDNEWSYMS, 0, SDNUMNEWSYMS * sizeof(CJBig2_Image*));
|
| @@ -325,8 +322,8 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Huffman(
|
| SDNEWSYMWIDTHS = FX_Alloc(FX_DWORD, SDNUMNEWSYMS);
|
| FXSYS_memset(SDNEWSYMWIDTHS, 0, SDNUMNEWSYMS * sizeof(FX_DWORD));
|
| }
|
| - nonstd::unique_ptr<CJBig2_SymbolDict> pDict(new CJBig2_SymbolDict());
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> pTable;
|
| + std::unique_ptr<CJBig2_SymbolDict> pDict(new CJBig2_SymbolDict());
|
| + std::unique_ptr<CJBig2_HuffmanTable> pTable;
|
|
|
| HCHEIGHT = 0;
|
| NSYMSDECODED = 0;
|
| @@ -370,7 +367,7 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Huffman(
|
| }
|
| BS = nullptr;
|
| if (REFAGGNINST > 1) {
|
| - nonstd::unique_ptr<CJBig2_TRDProc> pDecoder(new CJBig2_TRDProc());
|
| + std::unique_ptr<CJBig2_TRDProc> pDecoder(new CJBig2_TRDProc());
|
| pDecoder->SBHUFF = SDHUFF;
|
| pDecoder->SBREFINE = 1;
|
| pDecoder->SBW = SYMWIDTH;
|
| @@ -399,35 +396,32 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Huffman(
|
| pDecoder->TRANSPOSED = 0;
|
| pDecoder->REFCORNER = JBIG2_CORNER_TOPLEFT;
|
| pDecoder->SBDSOFFSET = 0;
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> SBHUFFFS(
|
| - new CJBig2_HuffmanTable(HuffmanTable_B6,
|
| - FX_ArraySize(HuffmanTable_B6),
|
| - HuffmanTable_HTOOB_B6));
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> SBHUFFDS(
|
| - new CJBig2_HuffmanTable(HuffmanTable_B8,
|
| - FX_ArraySize(HuffmanTable_B8),
|
| - HuffmanTable_HTOOB_B8));
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> SBHUFFDT(
|
| - new CJBig2_HuffmanTable(HuffmanTable_B11,
|
| - FX_ArraySize(HuffmanTable_B11),
|
| - HuffmanTable_HTOOB_B11));
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> SBHUFFRDW(
|
| + std::unique_ptr<CJBig2_HuffmanTable> SBHUFFFS(new CJBig2_HuffmanTable(
|
| + HuffmanTable_B6, FX_ArraySize(HuffmanTable_B6),
|
| + HuffmanTable_HTOOB_B6));
|
| + std::unique_ptr<CJBig2_HuffmanTable> SBHUFFDS(new CJBig2_HuffmanTable(
|
| + HuffmanTable_B8, FX_ArraySize(HuffmanTable_B8),
|
| + HuffmanTable_HTOOB_B8));
|
| + std::unique_ptr<CJBig2_HuffmanTable> SBHUFFDT(new CJBig2_HuffmanTable(
|
| + HuffmanTable_B11, FX_ArraySize(HuffmanTable_B11),
|
| + HuffmanTable_HTOOB_B11));
|
| + std::unique_ptr<CJBig2_HuffmanTable> SBHUFFRDW(
|
| new CJBig2_HuffmanTable(HuffmanTable_B15,
|
| FX_ArraySize(HuffmanTable_B15),
|
| HuffmanTable_HTOOB_B15));
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> SBHUFFRDH(
|
| + std::unique_ptr<CJBig2_HuffmanTable> SBHUFFRDH(
|
| new CJBig2_HuffmanTable(HuffmanTable_B15,
|
| FX_ArraySize(HuffmanTable_B15),
|
| HuffmanTable_HTOOB_B15));
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> SBHUFFRDX(
|
| + std::unique_ptr<CJBig2_HuffmanTable> SBHUFFRDX(
|
| new CJBig2_HuffmanTable(HuffmanTable_B15,
|
| FX_ArraySize(HuffmanTable_B15),
|
| HuffmanTable_HTOOB_B15));
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> SBHUFFRDY(
|
| + std::unique_ptr<CJBig2_HuffmanTable> SBHUFFRDY(
|
| new CJBig2_HuffmanTable(HuffmanTable_B15,
|
| FX_ArraySize(HuffmanTable_B15),
|
| HuffmanTable_HTOOB_B15));
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> SBHUFFRSIZE(
|
| + std::unique_ptr<CJBig2_HuffmanTable> SBHUFFRSIZE(
|
| new CJBig2_HuffmanTable(HuffmanTable_B1,
|
| FX_ArraySize(HuffmanTable_B1),
|
| HuffmanTable_HTOOB_B1));
|
| @@ -483,11 +477,11 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Huffman(
|
| }
|
| }
|
| FX_Free(SBSYMCODES);
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> SBHUFFRDX(
|
| + std::unique_ptr<CJBig2_HuffmanTable> SBHUFFRDX(
|
| new CJBig2_HuffmanTable(HuffmanTable_B15,
|
| FX_ArraySize(HuffmanTable_B15),
|
| HuffmanTable_HTOOB_B15));
|
| - nonstd::unique_ptr<CJBig2_HuffmanTable> SBHUFFRSIZE(
|
| + std::unique_ptr<CJBig2_HuffmanTable> SBHUFFRSIZE(
|
| new CJBig2_HuffmanTable(HuffmanTable_B1,
|
| FX_ArraySize(HuffmanTable_B1),
|
| HuffmanTable_HTOOB_B1));
|
| @@ -502,7 +496,7 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Huffman(
|
| JBIG2_memcpy(SBSYMS, SDINSYMS, SDNUMINSYMS * sizeof(CJBig2_Image*));
|
| JBIG2_memcpy(SBSYMS + SDNUMINSYMS, SDNEWSYMS,
|
| NSYMSDECODED * sizeof(CJBig2_Image*));
|
| - nonstd::unique_ptr<CJBig2_GRRDProc> pGRRD(new CJBig2_GRRDProc());
|
| + std::unique_ptr<CJBig2_GRRDProc> pGRRD(new CJBig2_GRRDProc());
|
| pGRRD->GRW = SYMWIDTH;
|
| pGRRD->GRH = HCHEIGHT;
|
| pGRRD->GRTEMPLATE = SDRTEMPLATE;
|
| @@ -514,7 +508,7 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Huffman(
|
| pGRRD->GRAT[1] = SDRAT[1];
|
| pGRRD->GRAT[2] = SDRAT[2];
|
| pGRRD->GRAT[3] = SDRAT[3];
|
| - nonstd::unique_ptr<CJBig2_ArithDecoder> pArithDecoder(
|
| + std::unique_ptr<CJBig2_ArithDecoder> pArithDecoder(
|
| new CJBig2_ArithDecoder(pStream));
|
| BS = pGRRD->decode(pArithDecoder.get(), grContext->data());
|
| if (!BS) {
|
| @@ -555,7 +549,7 @@ CJBig2_SymbolDict* CJBig2_SDDProc::decode_Huffman(
|
| goto failed;
|
| }
|
| } else {
|
| - nonstd::unique_ptr<CJBig2_GRDProc> pGRD(new CJBig2_GRDProc());
|
| + std::unique_ptr<CJBig2_GRDProc> pGRD(new CJBig2_GRDProc());
|
| pGRD->MMR = 1;
|
| pGRD->GBW = TOTWIDTH;
|
| pGRD->GBH = HCHEIGHT;
|
|
|