LibreOffice Module vcl (master)  1
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
CCIDecompressor Class Reference

#include <ccidecom.hxx>

Collaboration diagram for CCIDecompressor:
[legend]

Public Member Functions

 CCIDecompressor (sal_uInt32 nOptions, sal_uInt32 nImageWidth)
 
 ~CCIDecompressor ()
 
void StartDecompression (SvStream &rIStream)
 
DecompressStatus DecompressScanline (sal_uInt8 *pTarget, sal_uInt64 nTargetBits, bool bLastLine)
 

Private Member Functions

void MakeLookUp (const CCIHuffmanTableEntry *pHufTab, const CCIHuffmanTableEntry *pHufTabSave, CCILookUpTableEntry *pLookUp, sal_uInt16 nHuffmanTableSize, sal_uInt16 nMaxCodeBits)
 
bool ReadEOL ()
 
bool Read2DTag ()
 
sal_uInt8 ReadBlackOrWhite ()
 
sal_uInt16 ReadCodeAndDecode (const CCILookUpTableEntry *pLookUp, sal_uInt16 nMaxCodeBits)
 
bool Read1DScanlineData (sal_uInt8 *pTarget, sal_uInt16 nTargetBits)
 
bool Read2DScanlineData (sal_uInt8 *pTarget, sal_uInt16 nTargetBits)
 

Static Private Member Functions

static void FillBits (sal_uInt8 *pTarget, sal_uInt16 nTargetBits, sal_uInt16 nBitPos, sal_uInt16 nNumBits, sal_uInt8 nBlackOrWhite)
 
static sal_uInt16 CountBits (const sal_uInt8 *pData, sal_uInt16 nDataSizeBits, sal_uInt16 nBitPos, sal_uInt8 nBlackOrWhite)
 

Private Attributes

bool bTableBad
 
bool bStatus
 
std::unique_ptr< sal_uInt8[]> pByteSwap
 
SvStreampIStream
 
sal_uInt32 nEOLCount
 
sal_uInt32 nWidth
 
sal_uInt32 nOptions
 
bool bFirstEOL
 
std::array< CCILookUpTableEntry, 1<< 13 > pWhiteLookUp
 
std::array< CCILookUpTableEntry, 1<< 13 > pBlackLookUp
 
std::array< CCILookUpTableEntry, 1<< 10 > p2DModeLookUp
 
std::array< CCILookUpTableEntry, 1<< 11 > pUncompLookUp
 
sal_uInt32 nInputBitsBuf
 
sal_uInt16 nInputBitsBufSize
 
std::unique_ptr< sal_uInt8[]> pLastLine
 
sal_uInt64 nLastLineSize
 

Detailed Description

Definition at line 59 of file ccidecom.hxx.

Constructor & Destructor Documentation

CCIDecompressor::CCIDecompressor ( sal_uInt32  nOptions,
sal_uInt32  nImageWidth 
)
CCIDecompressor::~CCIDecompressor ( )

Definition at line 597 of file ccidecom.cxx.

Member Function Documentation

sal_uInt16 CCIDecompressor::CountBits ( const sal_uInt8 pData,
sal_uInt16  nDataSizeBits,
sal_uInt16  nBitPos,
sal_uInt8  nBlackOrWhite 
)
staticprivate

Definition at line 873 of file ccidecom.cxx.

References nPos.

Referenced by Read2DScanlineData().

DecompressStatus CCIDecompressor::DecompressScanline ( sal_uInt8 pTarget,
sal_uInt64  nTargetBits,
bool  bLastLine 
)
void CCIDecompressor::FillBits ( sal_uInt8 pTarget,
sal_uInt16  nTargetBits,
sal_uInt16  nBitPos,
sal_uInt16  nNumBits,
sal_uInt8  nBlackOrWhite 
)
staticprivate

Definition at line 849 of file ccidecom.cxx.

Referenced by Read2DScanlineData().

void CCIDecompressor::MakeLookUp ( const CCIHuffmanTableEntry pHufTab,
const CCIHuffmanTableEntry pHufTabSave,
CCILookUpTableEntry pLookUp,
sal_uInt16  nHuffmanTableSize,
sal_uInt16  nMaxCodeBits 
)
private
bool CCIDecompressor::Read1DScanlineData ( sal_uInt8 pTarget,
sal_uInt16  nTargetBits 
)
private
bool CCIDecompressor::Read2DScanlineData ( sal_uInt8 pTarget,
sal_uInt16  nTargetBits 
)
private
bool CCIDecompressor::Read2DTag ( )
private
sal_uInt8 CCIDecompressor::ReadBlackOrWhite ( )
private
sal_uInt16 CCIDecompressor::ReadCodeAndDecode ( const CCILookUpTableEntry pLookUp,
sal_uInt16  nMaxCodeBits 
)
private
bool CCIDecompressor::ReadEOL ( )
private
void CCIDecompressor::StartDecompression ( SvStream rIStream)

Definition at line 602 of file ccidecom.cxx.

References bFirstEOL, bStatus, bTableBad, nEOLCount, nInputBitsBufSize, and pIStream.

Member Data Documentation

bool CCIDecompressor::bFirstEOL
private

Definition at line 112 of file ccidecom.hxx.

Referenced by DecompressScanline(), and StartDecompression().

bool CCIDecompressor::bStatus
private
bool CCIDecompressor::bTableBad
private

Definition at line 98 of file ccidecom.hxx.

Referenced by MakeLookUp(), and StartDecompression().

sal_uInt32 CCIDecompressor::nEOLCount
private

Definition at line 106 of file ccidecom.hxx.

Referenced by DecompressScanline(), Read1DScanlineData(), ReadEOL(), and StartDecompression().

sal_uInt32 CCIDecompressor::nInputBitsBuf
private
sal_uInt16 CCIDecompressor::nInputBitsBufSize
private
sal_uInt64 CCIDecompressor::nLastLineSize
private

Definition at line 123 of file ccidecom.hxx.

Referenced by DecompressScanline().

sal_uInt32 CCIDecompressor::nOptions
private
sal_uInt32 CCIDecompressor::nWidth
private

Definition at line 108 of file ccidecom.hxx.

Referenced by ReadEOL().

std::array<CCILookUpTableEntry, 1<<10> CCIDecompressor::p2DModeLookUp
private

Definition at line 116 of file ccidecom.hxx.

Referenced by CCIDecompressor(), and Read2DScanlineData().

std::array<CCILookUpTableEntry, 1<<13> CCIDecompressor::pBlackLookUp
private

Definition at line 115 of file ccidecom.hxx.

Referenced by CCIDecompressor(), Read1DScanlineData(), and Read2DScanlineData().

std::unique_ptr<sal_uInt8[]> CCIDecompressor::pByteSwap
private
SvStream* CCIDecompressor::pIStream
private
std::unique_ptr<sal_uInt8[]> CCIDecompressor::pLastLine
private

Definition at line 122 of file ccidecom.hxx.

Referenced by DecompressScanline(), and Read2DScanlineData().

std::array<CCILookUpTableEntry, 1<<11> CCIDecompressor::pUncompLookUp
private

Definition at line 117 of file ccidecom.hxx.

Referenced by CCIDecompressor(), and Read2DScanlineData().

std::array<CCILookUpTableEntry, 1<<13> CCIDecompressor::pWhiteLookUp
private

Definition at line 114 of file ccidecom.hxx.

Referenced by CCIDecompressor(), Read1DScanlineData(), and Read2DScanlineData().


The documentation for this class was generated from the following files: