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_BitStream.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_BITSTREAM_H_
8
#
define
CORE_FXCODEC_JBIG2_JBIG2_BITSTREAM_H_
9
10
#
include
"core/fxcrt/raw_span.h"
11
#
include
"core/fxcrt/retain_ptr.h"
12
#
include
"core/fxcrt/span.h"
13
14
class
CJBig2_BitStream
{
15
public
:
16
CJBig2_BitStream
(pdfium::span<
const
uint8_t> pSrcStream, uint64_t key);
17
CJBig2_BitStream
(
const
CJBig2_BitStream
&) =
delete
;
18
CJBig2_BitStream
&
operator
=(
const
CJBig2_BitStream
&) =
delete
;
19
~
CJBig2_BitStream
();
20
21
// TODO(thestig): readFoo() should return bool.
22
int32_t
readNBits
(uint32_t dwBits, uint32_t* dwResult);
23
int32_t
readNBits
(uint32_t dwBits, int32_t* nResult);
24
int32_t
read1Bit
(uint32_t* dwResult);
25
int32_t
read1Bit
(
bool
* bResult);
26
int32_t
read1Byte
(uint8_t* cResult);
27
int32_t
readInteger
(uint32_t* dwResult);
28
int32_t
readShortInteger
(uint16_t* wResult);
29
void
alignByte
();
30
uint8_t
getCurByte
()
const
;
31
void
incByteIdx
();
32
uint8_t
getCurByte_arith
()
const
;
33
uint8_t
getNextByte_arith
()
const
;
34
uint32_t
getOffset
()
const
;
35
void
setOffset
(uint32_t dwOffset);
36
void
addOffset
(uint32_t dwDelta);
37
uint32_t
getBitPos
()
const
;
38
void
setBitPos
(uint32_t dwBitPos);
39
pdfium
::
span
<
const
uint8_t
>
getBufSpan
()
const
{
return
m_Span; }
40
const
uint8_t*
getPointer
()
const
;
41
uint32_t
getByteLeft
()
const
;
42
uint64_t
getKey
()
const
{
return
m_Key; }
43
bool
IsInBounds
()
const
;
44
45
private
:
46
void
AdvanceBit();
47
uint32_t LengthInBits()
const
;
48
49
const
pdfium::raw_span<
const
uint8_t> m_Span;
50
uint32_t m_dwByteIdx = 0;
// Must always be <= `m_Span.size()`.
51
uint32_t m_dwBitIdx = 0;
// Must Always be in [0..7].
52
const
uint64_t m_Key;
53
};
54
55
#
endif
// CORE_FXCODEC_JBIG2_JBIG2_BITSTREAM_H_
CHECK_LT
#define CHECK_LT(x, y)
Definition
check_op.h:12
DCHECK_LT
#define DCHECK_LT(x, y)
Definition
check_op.h:19
CJBig2_ArithDecoder
Definition
JBig2_ArithDecoder.h:41
CJBig2_ArithDecoder::IsComplete
bool IsComplete() const
Definition
JBig2_ArithDecoder.h:48
CJBig2_ArithDecoder::CJBig2_ArithDecoder
CJBig2_ArithDecoder(CJBig2_BitStream *pStream)
Definition
JBig2_ArithDecoder.cpp:58
CJBig2_ArithDecoder::Decode
int Decode(JBig2ArithCtx *pCX)
Definition
JBig2_ArithDecoder.cpp:70
CJBig2_ArithDecoder::~CJBig2_ArithDecoder
~CJBig2_ArithDecoder()
CJBig2_BitStream
Definition
JBig2_BitStream.h:14
CJBig2_BitStream::operator=
CJBig2_BitStream & operator=(const CJBig2_BitStream &)=delete
CJBig2_BitStream::readNBits
int32_t readNBits(uint32_t dwBits, int32_t *nResult)
Definition
JBig2_BitStream.cpp:52
CJBig2_BitStream::getCurByte
uint8_t getCurByte() const
Definition
JBig2_BitStream.cpp:127
CJBig2_BitStream::alignByte
void alignByte()
Definition
JBig2_BitStream.cpp:120
CJBig2_BitStream::getKey
uint64_t getKey() const
Definition
JBig2_BitStream.h:42
CJBig2_BitStream::getBitPos
uint32_t getBitPos() const
Definition
JBig2_BitStream.cpp:160
CJBig2_BitStream::getCurByte_arith
uint8_t getCurByte_arith() const
Definition
JBig2_BitStream.cpp:135
CJBig2_BitStream::getBufSpan
pdfium::span< const uint8_t > getBufSpan() const
Definition
JBig2_BitStream.h:39
CJBig2_BitStream::setOffset
void setOffset(uint32_t dwOffset)
Definition
JBig2_BitStream.cpp:147
CJBig2_BitStream::readInteger
int32_t readInteger(uint32_t *dwResult)
Definition
JBig2_BitStream.cpp:101
CJBig2_BitStream::getByteLeft
uint32_t getByteLeft() const
Definition
JBig2_BitStream.cpp:173
CJBig2_BitStream::~CJBig2_BitStream
~CJBig2_BitStream()
CJBig2_BitStream::addOffset
void addOffset(uint32_t dwDelta)
Definition
JBig2_BitStream.cpp:152
CJBig2_BitStream::incByteIdx
void incByteIdx()
Definition
JBig2_BitStream.cpp:131
CJBig2_BitStream::read1Bit
int32_t read1Bit(uint32_t *dwResult)
Definition
JBig2_BitStream.cpp:74
CJBig2_BitStream::getPointer
const uint8_t * getPointer() const
Definition
JBig2_BitStream.cpp:169
CJBig2_BitStream::read1Bit
int32_t read1Bit(bool *bResult)
Definition
JBig2_BitStream.cpp:83
CJBig2_BitStream::CJBig2_BitStream
CJBig2_BitStream(pdfium::span< const uint8_t > pSrcStream, uint64_t key)
Definition
JBig2_BitStream.cpp:24
CJBig2_BitStream::getNextByte_arith
uint8_t getNextByte_arith() const
Definition
JBig2_BitStream.cpp:139
CJBig2_BitStream::getOffset
uint32_t getOffset() const
Definition
JBig2_BitStream.cpp:143
CJBig2_BitStream::setBitPos
void setBitPos(uint32_t dwBitPos)
Definition
JBig2_BitStream.cpp:164
CJBig2_BitStream::IsInBounds
bool IsInBounds() const
Definition
JBig2_BitStream.cpp:188
CJBig2_BitStream::read1Byte
int32_t read1Byte(uint8_t *cResult)
Definition
JBig2_BitStream.cpp:92
CJBig2_BitStream::CJBig2_BitStream
CJBig2_BitStream(const CJBig2_BitStream &)=delete
CJBig2_BitStream::readNBits
int32_t readNBits(uint32_t dwBits, uint32_t *dwResult)
Definition
JBig2_BitStream.cpp:30
CJBig2_BitStream::readShortInteger
int32_t readShortInteger(uint16_t *wResult)
Definition
JBig2_BitStream.cpp:111
JBig2ArithCtx
Definition
JBig2_ArithDecoder.h:18
JBig2ArithCtx::DecodeNLPS
int DecodeNLPS(const JBig2ArithQe &qe)
Definition
JBig2_ArithDecoder.cpp:43
JBig2ArithCtx::JBig2ArithCtx
JBig2ArithCtx()
JBig2ArithCtx::I
unsigned int I() const
Definition
JBig2_ArithDecoder.h:33
JBig2ArithCtx::DecodeNMPS
int DecodeNMPS(const JBig2ArithQe &qe)
Definition
JBig2_ArithDecoder.cpp:52
JBig2ArithCtx::MPS
unsigned int MPS() const
Definition
JBig2_ArithDecoder.h:32
fxcrt::UnownedPtr
Definition
unowned_ptr.h:76
FX_DATA_PARTITION_EXCEPTION
#define FX_DATA_PARTITION_EXCEPTION(T)
Definition
fx_memory_wrappers.h:26
fxcrt
Definition
stl_util.h:17
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
JBig2ArithCtx::JBig2ArithQe
Definition
JBig2_ArithDecoder.h:20
JBig2ArithCtx::JBig2ArithQe::NMPS
uint8_t NMPS
Definition
JBig2_ArithDecoder.h:22
JBig2ArithCtx::JBig2ArithQe::bSwitch
bool bSwitch
Definition
JBig2_ArithDecoder.h:24
JBig2ArithCtx::JBig2ArithQe::Qe
uint16_t Qe
Definition
JBig2_ArithDecoder.h:21
JBig2ArithCtx::JBig2ArithQe::NLPS
uint8_t NLPS
Definition
JBig2_ArithDecoder.h:23
qtwebengine
src
3rdparty
chromium
third_party
pdfium
core
fxcodec
jbig2
JBig2_BitStream.h
Generated on
for Qt by
1.18.0