C# Class BitMiracle.LibTiff.Classic.Internal.LZWCodec

Inheritance: CodecWithPredictor
Afficher le fichier Open project: Core-Techs/TiffLibrary

Méthodes publiques

Méthode Description
Cleanup ( ) : void

Cleanups the state of the codec.

Cleanup is called when codec is no longer needed (won't be used) and can be used for example to restore tag methods that were substituted.

Init ( ) : bool
LZWCodec ( Tiff tif, Compression scheme, string name ) : System
PostEncode ( ) : bool

Performs any actions after encoding required by the codec.

PostEncode is called after encoding and can be used to release any external resources needed during encoding.

PreDecode ( short plane ) : bool

Prepares the decoder part of the codec for a decoding.

PreDecode is called after TiffCodec.SetupDecode and before decoding.

PreEncode ( short plane ) : bool

Prepares the encoder part of the codec for a encoding.

PreEncode is called after TiffCodec.SetupEncode and before encoding.

predictor_decoderow ( byte buffer, int offset, int count, short plane ) : bool
predictor_decodestrip ( byte buffer, int offset, int count, short plane ) : bool
predictor_decodetile ( byte buffer, int offset, int count, short plane ) : bool
predictor_encoderow ( byte buffer, int offset, int count, short plane ) : bool
predictor_encodestrip ( byte buffer, int offset, int count, short plane ) : bool
predictor_encodetile ( byte buffer, int offset, int count, short plane ) : bool
predictor_setupdecode ( ) : bool
predictor_setupencode ( ) : bool

Private Methods

Méthode Description
GetNextCode ( short &code ) : void
GetNextCodeCompat ( short &code ) : void
LZWCleanup ( ) : void
LZWDecode ( byte buffer, int offset, int count, short plane ) : bool
LZWDecodeCompat ( byte buffer, int offset, int count, short plane ) : bool
LZWEncode ( byte buffer, int offset, int count, short plane ) : bool

Encode a chunk of pixels.

Uses an open addressing double hashing (no chaining) on the prefix code/next character combination. We do a variant of Knuth's algorithm D (vol. 3, sec. 6.4) along with G. Knott's relatively-prime secondary probe. Here, the modular division first probe is gives way to a faster exclusive-or manipulation. Also do block compression with an adaptive reset, whereby the code table is cleared when the compression ratio decreases, but after the table fills. The variable-length output codes are re-sized at this point, and a CODE_CLEAR is generated for the decoder.

LZWPostEncode ( ) : bool
LZWPreDecode ( short s ) : bool
LZWPreEncode ( short s ) : bool
LZWSetupDecode ( ) : bool
LZWSetupEncode ( ) : bool
MAXCODE ( int n ) : int
NextCode ( short &_code, bool compat ) : void
PutNextCode ( int c ) : void
cl_hash ( ) : void
codeLoop ( ) : void

Method Details

Cleanup() public méthode

Cleanups the state of the codec.
Cleanup is called when codec is no longer needed (won't be used) and can be used for example to restore tag methods that were substituted.
public Cleanup ( ) : void
Résultat void

Init() public méthode

public Init ( ) : bool
Résultat bool

LZWCodec() public méthode

public LZWCodec ( Tiff tif, Compression scheme, string name ) : System
tif Tiff
scheme Compression
name string
Résultat System

PostEncode() public méthode

Performs any actions after encoding required by the codec.
PostEncode is called after encoding and can be used to release any external resources needed during encoding.
public PostEncode ( ) : bool
Résultat bool

PreDecode() public méthode

Prepares the decoder part of the codec for a decoding.
PreDecode is called after TiffCodec.SetupDecode and before decoding.
public PreDecode ( short plane ) : bool
plane short The zero-based sample plane index.
Résultat bool

PreEncode() public méthode

Prepares the encoder part of the codec for a encoding.
PreEncode is called after TiffCodec.SetupEncode and before encoding.
public PreEncode ( short plane ) : bool
plane short The zero-based sample plane index.
Résultat bool

predictor_decoderow() public méthode

public predictor_decoderow ( byte buffer, int offset, int count, short plane ) : bool
buffer byte
offset int
count int
plane short
Résultat bool

predictor_decodestrip() public méthode

public predictor_decodestrip ( byte buffer, int offset, int count, short plane ) : bool
buffer byte
offset int
count int
plane short
Résultat bool

predictor_decodetile() public méthode

public predictor_decodetile ( byte buffer, int offset, int count, short plane ) : bool
buffer byte
offset int
count int
plane short
Résultat bool

predictor_encoderow() public méthode

public predictor_encoderow ( byte buffer, int offset, int count, short plane ) : bool
buffer byte
offset int
count int
plane short
Résultat bool

predictor_encodestrip() public méthode

public predictor_encodestrip ( byte buffer, int offset, int count, short plane ) : bool
buffer byte
offset int
count int
plane short
Résultat bool

predictor_encodetile() public méthode

public predictor_encodetile ( byte buffer, int offset, int count, short plane ) : bool
buffer byte
offset int
count int
plane short
Résultat bool

predictor_setupdecode() public méthode

public predictor_setupdecode ( ) : bool
Résultat bool

predictor_setupencode() public méthode

public predictor_setupencode ( ) : bool
Résultat bool