36 pdfium::span<
const uint8_t> pGlobalSpan,
38 pdfium::span<
const uint8_t> pSrcSpan,
40 std::list<CJBig2_CachePair>* pSymbolDictCache);
56 CJBig2_Context(pdfium::span<
const uint8_t> pSrcSpan,
58 std::list<CJBig2_CachePair>* pSymbolDictCache,
84 std::vector<JBig2HuffmanCode> DecodeSymbolIDHuffmanTable(uint32_t SBNUMSYMS);
87 std::unique_ptr<CJBig2_Context> m_pGlobalContext;
88 std::unique_ptr<CJBig2_BitStream> m_pStream;
89 std::vector<std::unique_ptr<CJBig2_Segment>> m_SegmentList;
90 std::vector<std::unique_ptr<JBig2PageInfo>> m_PageInfoList;
91 std::unique_ptr<CJBig2_Image> m_pPage;
92 std::vector<std::unique_ptr<CJBig2_HuffmanTable>> m_HuffmanTables;
93 const bool m_bIsGlobal;
94 bool m_bInPage =
false;
95 bool m_bBufSpecified =
false;
96 int32_t m_PauseStep = 10;
98 std::vector<JBig2ArithCtx> m_gbContexts;
99 std::unique_ptr<CJBig2_ArithDecoder> m_pArithDecoder;
100 std::unique_ptr<CJBig2_GRDProc> m_pGRD;
101 std::unique_ptr<CJBig2_Segment> m_pSegment;
102 uint32_t m_nOffset = 0;
104 UnownedPtr<std::list<CJBig2_CachePair>>
const m_pSymbolDictCache;
static const size_t kSymbolDictCacheMaxSize
#define JBIG2_MIN_SEGMENT_SIZE
std::pair< uint64_t, uint32_t > CJBig2_CompoundKey
static std::unique_ptr< CJBig2_Context > Create(pdfium::span< const uint8_t > pGlobalSpan, uint64_t global_key, pdfium::span< const uint8_t > pSrcSpan, uint64_t src_key, std::list< CJBig2_CachePair > *pSymbolDictCache)
static bool HuffmanAssignCode(pdfium::span< JBig2HuffmanCode > symcodes)
bool GetFirstPage(pdfium::span< uint8_t > pBuf, int32_t width, int32_t height, int32_t stride, PauseIndicatorIface *pPause)
bool Continue(PauseIndicatorIface *pPause)
FXCODEC_STATUS GetProcessingStatus() const