image: golang.org/x/image/tiff/lzw Index | Files

package lzw

import "golang.org/x/image/tiff/lzw"

Package lzw implements the Lempel-Ziv-Welch compressed data format, described in T. A. Welch, “A Technique for High-Performance Data Compression”, Computer, 17(6) (June 1984), pp 8-19.

In particular, it implements LZW as used by the TIFF file format, including an "off by one" algorithmic difference when compared to standard LZW.

Index

Package Files

reader.go

func NewReader

func NewReader(r io.Reader, order Order, litWidth int) io.ReadCloser

NewReader creates a new io.ReadCloser. Reads from the returned io.ReadCloser read and decompress data from r. If r does not also implement io.ByteReader, the decompressor may read more data than necessary from r. It is the caller's responsibility to call Close on the ReadCloser when finished reading. The number of bits to use for literal codes, litWidth, must be in the range [2,8] and is typically 8. It must equal the litWidth used during compression.

type Order

type Order int

Order specifies the bit ordering in an LZW data stream.

const (
    // LSB means Least Significant Bits first, as used in the GIF file format.
    LSB Order = iota
    // MSB means Most Significant Bits first, as used in the TIFF and PDF
    // file formats.
    MSB
)

Package lzw imports 4 packages (graph) and is imported by 1 packages. Updated 2 days ago. Refresh now. Tools for package owners.