Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
JBig2_HuffmanTable.h
Go to the documentation of this file.
1
// Copyright 2014 The PDFium Authors
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7
#
ifndef
CORE_FXCODEC_JBIG2_JBIG2_HUFFMANTABLE_H_
8
#
define
CORE_FXCODEC_JBIG2_JBIG2_HUFFMANTABLE_H_
9
10
#
include
<
stddef
.
h
>
11
#
include
<
stdint
.
h
>
12
13
#
include
<
vector
>
14
15
#
include
"core/fxcodec/jbig2/JBig2_Define.h"
16
17
class
CJBig2_BitStream
;
18
19
class
CJBig2_HuffmanTable
{
20
public
:
21
explicit
CJBig2_HuffmanTable
(size_t idx);
22
explicit
CJBig2_HuffmanTable
(
CJBig2_BitStream
* pStream);
23
~
CJBig2_HuffmanTable
();
24
25
bool
IsHTOOB
()
const
{
return
HTOOB; }
26
uint32_t
Size
()
const
{
return
NTEMP; }
27
const
std
::
vector
<
JBig2HuffmanCode
>&
GetCODES
()
const
{
return
CODES; }
28
const
std
::
vector
<
int
>&
GetRANGELEN
()
const
{
return
RANGELEN; }
29
const
std
::
vector
<
int
>&
GetRANGELOW
()
const
{
return
RANGELOW; }
30
bool
IsOK
()
const
{
return
m_bOK; }
31
32
constexpr
static
size_t
kNumHuffmanTables
= 16;
33
34
private
:
35
bool
ParseFromStandardTable(size_t table_idx);
36
bool
ParseFromCodedBuffer(
CJBig2_BitStream
* pStream);
37
void
ExtendBuffers(
bool
increment);
38
39
bool
m_bOK;
40
bool
HTOOB;
41
uint32_t NTEMP;
42
std::vector<JBig2HuffmanCode> CODES;
43
std::vector<
int
> RANGELEN;
44
std::vector<
int
> RANGELOW;
45
};
46
47
#
endif
// CORE_FXCODEC_JBIG2_JBIG2_HUFFMANTABLE_H_
kSymbolDictCacheMaxSize
static const size_t kSymbolDictCacheMaxSize
Definition
JBig2_Context.cpp:49
JBig2_Result
JBig2_Result
Definition
JBig2_Context.h:31
JBig2_Result::kFailure
@ kFailure
Definition
JBig2_Context.h:31
JBig2_Result::kSuccess
@ kSuccess
Definition
JBig2_Context.h:31
JBig2_Result::kEndReached
@ kEndReached
Definition
JBig2_Context.h:31
JBIG2_MIN_SEGMENT_SIZE
#define JBIG2_MIN_SEGMENT_SIZE
Definition
JBig2_Context.h:29
kJBig2MaxNewSymbols
constexpr uint32_t kJBig2MaxNewSymbols
Definition
JBig2_Define.h:29
kJBig2MaxReferredSegmentCount
constexpr int32_t kJBig2MaxReferredSegmentCount
Definition
JBig2_Define.h:27
kJBig2MaxExportSymbols
constexpr uint32_t kJBig2MaxExportSymbols
Definition
JBig2_Define.h:28
kJBig2OOB
constexpr int32_t kJBig2OOB
Definition
JBig2_Define.h:25
kJBig2MaxImageSize
constexpr int32_t kJBig2MaxImageSize
Definition
JBig2_Define.h:31
kJBig2MaxPatternIndex
constexpr uint32_t kJBig2MaxPatternIndex
Definition
JBig2_Define.h:30
CJBig2_CompoundKey
std::pair< uint64_t, uint32_t > CJBig2_CompoundKey
Definition
JBig2_DocumentContext.h:17
JBig2ComposeOp
JBig2ComposeOp
Definition
JBig2_Image.h:22
JBig2_ResultType
JBig2_ResultType
Definition
JBig2_Segment.h:26
JBIG2_IMAGE_POINTER
@ JBIG2_IMAGE_POINTER
Definition
JBig2_Segment.h:28
JBIG2_VOID_POINTER
@ JBIG2_VOID_POINTER
Definition
JBig2_Segment.h:27
JBIG2_HUFFMAN_TABLE_POINTER
@ JBIG2_HUFFMAN_TABLE_POINTER
Definition
JBig2_Segment.h:31
JBIG2_SYMBOL_DICT_POINTER
@ JBIG2_SYMBOL_DICT_POINTER
Definition
JBig2_Segment.h:29
JBIG2_PATTERN_DICT_POINTER
@ JBIG2_PATTERN_DICT_POINTER
Definition
JBig2_Segment.h:30
JBig2_SegmentState
JBig2_SegmentState
Definition
JBig2_Segment.h:18
JBIG2_SEGMENT_DATA_UNPARSED
@ JBIG2_SEGMENT_DATA_UNPARSED
Definition
JBig2_Segment.h:20
JBIG2_SEGMENT_PARSE_COMPLETE
@ JBIG2_SEGMENT_PARSE_COMPLETE
Definition
JBig2_Segment.h:21
JBIG2_SEGMENT_ERROR
@ JBIG2_SEGMENT_ERROR
Definition
JBig2_Segment.h:23
JBIG2_SEGMENT_HEADER_UNPARSED
@ JBIG2_SEGMENT_HEADER_UNPARSED
Definition
JBig2_Segment.h:19
JBIG2_SEGMENT_PAUSED
@ JBIG2_SEGMENT_PAUSED
Definition
JBig2_Segment.h:22
JBig2Corner
JBig2Corner
Definition
JBig2_TrdProc.h:44
DCHECK
#define DCHECK
Definition
check.h:33
CJBig2_ArithDecoder
Definition
JBig2_ArithDecoder.h:41
CJBig2_BitStream
Definition
JBig2_BitStream.h:14
CJBig2_Context
Definition
JBig2_Context.h:33
CJBig2_Context::Create
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)
Definition
JBig2_Context.cpp:54
CJBig2_Context::~CJBig2_Context
~CJBig2_Context()
CJBig2_Context::HuffmanAssignCode
static bool HuffmanAssignCode(pdfium::span< JBig2HuffmanCode > symcodes)
Definition
JBig2_Context.cpp:1202
CJBig2_Context::GetFirstPage
bool GetFirstPage(pdfium::span< uint8_t > pBuf, int32_t width, int32_t height, int32_t stride, PauseIndicatorIface *pPause)
Definition
JBig2_Context.cpp:129
CJBig2_Context::Continue
bool Continue(PauseIndicatorIface *pPause)
Definition
JBig2_Context.cpp:152
CJBig2_Context::GetProcessingStatus
FXCODEC_STATUS GetProcessingStatus() const
Definition
JBig2_Context.h:53
CJBig2_GRDProc::ProgressiveArithDecodeState
Definition
JBig2_GrdProc.h:29
CJBig2_GRDProc
Definition
JBig2_GrdProc.h:27
CJBig2_GRRDProc
Definition
JBig2_GrrdProc.h:22
CJBig2_HTRDProc
Definition
JBig2_HtrdProc.h:24
CJBig2_HuffmanTable
Definition
JBig2_HuffmanTable.h:19
CJBig2_HuffmanTable::IsOK
bool IsOK() const
Definition
JBig2_HuffmanTable.h:30
CJBig2_HuffmanTable::CJBig2_HuffmanTable
CJBig2_HuffmanTable(size_t idx)
Definition
JBig2_HuffmanTable.cpp:135
CJBig2_HuffmanTable::kNumHuffmanTables
static constexpr size_t kNumHuffmanTables
Definition
JBig2_HuffmanTable.h:32
CJBig2_HuffmanTable::GetRANGELEN
const std::vector< int > & GetRANGELEN() const
Definition
JBig2_HuffmanTable.h:28
CJBig2_HuffmanTable::~CJBig2_HuffmanTable
~CJBig2_HuffmanTable()
CJBig2_HuffmanTable::GetCODES
const std::vector< JBig2HuffmanCode > & GetCODES() const
Definition
JBig2_HuffmanTable.h:27
CJBig2_HuffmanTable::CJBig2_HuffmanTable
CJBig2_HuffmanTable(CJBig2_BitStream *pStream)
Definition
JBig2_HuffmanTable.cpp:145
CJBig2_HuffmanTable::Size
uint32_t Size() const
Definition
JBig2_HuffmanTable.h:26
CJBig2_HuffmanTable::IsHTOOB
bool IsHTOOB() const
Definition
JBig2_HuffmanTable.h:25
CJBig2_HuffmanTable::GetRANGELOW
const std::vector< int > & GetRANGELOW() const
Definition
JBig2_HuffmanTable.h:29
CJBig2_Image
Definition
JBig2_Image.h:30
CJBig2_Image::IsValidImageSize
static bool IsValidImageSize(int32_t w, int32_t h)
Definition
JBig2_Image.cpp:100
CJBig2_PDDProc
Definition
JBig2_PddProc.h:23
CJBig2_PatternDict
Definition
JBig2_PatternDict.h:16
CJBig2_PatternDict::NUMPATS
uint32_t NUMPATS
Definition
JBig2_PatternDict.h:21
CJBig2_SDDProc
Definition
JBig2_SddProc.h:25
CJBig2_Segment
Definition
JBig2_Segment.h:34
CJBig2_Segment::m_Referred_to_segment_numbers
std::vector< uint32_t > m_Referred_to_segment_numbers
Definition
JBig2_Segment.h:49
CJBig2_Segment::m_SymbolDict
std::unique_ptr< CJBig2_SymbolDict > m_SymbolDict
Definition
JBig2_Segment.h:57
CJBig2_Segment::m_HuffmanTable
std::unique_ptr< CJBig2_HuffmanTable > m_HuffmanTable
Definition
JBig2_Segment.h:60
CJBig2_Segment::m_Key
uint64_t m_Key
Definition
JBig2_Segment.h:54
CJBig2_Segment::m_State
JBig2_SegmentState m_State
Definition
JBig2_Segment.h:55
CJBig2_Segment::m_PatternDict
std::unique_ptr< CJBig2_PatternDict > m_PatternDict
Definition
JBig2_Segment.h:58
CJBig2_Segment::m_nResultType
JBig2_ResultType m_nResultType
Definition
JBig2_Segment.h:56
CJBig2_Segment::m_dwData_length
uint32_t m_dwData_length
Definition
JBig2_Segment.h:51
CJBig2_Segment::m_dwHeader_Length
uint32_t m_dwHeader_Length
Definition
JBig2_Segment.h:52
CJBig2_Segment::m_dwDataOffset
uint32_t m_dwDataOffset
Definition
JBig2_Segment.h:53
CJBig2_Segment::m_nReferred_to_segment_count
int32_t m_nReferred_to_segment_count
Definition
JBig2_Segment.h:48
CJBig2_Segment::~CJBig2_Segment
~CJBig2_Segment()
CJBig2_Segment::m_dwPage_association
uint32_t m_dwPage_association
Definition
JBig2_Segment.h:50
CJBig2_Segment::CJBig2_Segment
CJBig2_Segment()
CJBig2_Segment::m_Image
std::unique_ptr< CJBig2_Image > m_Image
Definition
JBig2_Segment.h:59
CJBig2_Segment::m_dwNumber
uint32_t m_dwNumber
Definition
JBig2_Segment.h:39
CJBig2_SymbolDict
Definition
JBig2_SymbolDict.h:18
CJBig2_TRDProc
Definition
JBig2_TrdProc.h:51
PauseIndicatorIface
Definition
pauseindicator_iface.h:10
PauseIndicatorIface::NeedToPauseNow
virtual bool NeedToPauseNow()=0
pdfium::CFDETextOutLargeBitmapTest
Definition
cfde_textout_unittest.cpp:117
FXCODEC_STATUS
FXCODEC_STATUS
Definition
fx_codec_def.h:10
FXCODEC_STATUS::kFrameReady
@ kFrameReady
Definition
fx_codec_def.h:12
FXCODEC_STATUS::kDecodeFinished
@ kDecodeFinished
Definition
fx_codec_def.h:16
FXCODEC_STATUS::kDecodeReady
@ kDecodeReady
Definition
fx_codec_def.h:14
FXCODEC_STATUS::kError
@ kError
Definition
fx_codec_def.h:11
FXCODEC_STATUS::kDecodeToBeContinued
@ kDecodeToBeContinued
Definition
fx_codec_def.h:15
FX_SAFE_UINT32
pdfium::CheckedNumeric< uint32_t > FX_SAFE_UINT32
Definition
fx_safe_types.h:14
FX_SAFE_INT32
pdfium::CheckedNumeric< int32_t > FX_SAFE_INT32
Definition
fx_safe_types.h:15
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
FX_RECT
Definition
fx_coordinates.h:144
JBig2HuffmanCode
Definition
JBig2_Define.h:20
JBig2HuffmanCode::code
int32_t code
Definition
JBig2_Define.h:22
JBig2HuffmanCode::codelen
int32_t codelen
Definition
JBig2_Define.h:21
JBig2PageInfo
Definition
JBig2_Page.h:12
JBig2PageInfo::m_bIsStriped
bool m_bIsStriped
Definition
JBig2_Page.h:19
JBig2PageInfo::m_wMaxStripeSize
uint16_t m_wMaxStripeSize
Definition
JBig2_Page.h:20
JBig2PageInfo::m_dwHeight
uint32_t m_dwHeight
Definition
JBig2_Page.h:14
JBig2PageInfo::m_bDefaultPixelValue
bool m_bDefaultPixelValue
Definition
JBig2_Page.h:18
JBig2PageInfo::m_dwResolutionY
uint32_t m_dwResolutionY
Definition
JBig2_Page.h:16
JBig2PageInfo::m_dwWidth
uint32_t m_dwWidth
Definition
JBig2_Page.h:13
JBig2PageInfo::m_dwResolutionX
uint32_t m_dwResolutionX
Definition
JBig2_Page.h:15
JBig2RegionInfo
Definition
JBig2_Define.h:12
JBig2RegionInfo::x
int32_t x
Definition
JBig2_Define.h:15
JBig2RegionInfo::flags
uint8_t flags
Definition
JBig2_Define.h:17
JBig2RegionInfo::height
int32_t height
Definition
JBig2_Define.h:14
JBig2RegionInfo::width
int32_t width
Definition
JBig2_Define.h:13
JBig2RegionInfo::y
int32_t y
Definition
JBig2_Define.h:16
qtwebengine
src
3rdparty
chromium
third_party
pdfium
core
fxcodec
jbig2
JBig2_HuffmanTable.h
Generated on
for Qt by
1.18.0