Versions in this module Expand all Collapse all v1 v1.0.1 Jun 30, 2026 v1.0.0 Jun 30, 2026 Changes in this version + const MarkerCOC + const MarkerCOD + const MarkerCOM + const MarkerCRG + const MarkerEOC + const MarkerEPH + const MarkerPLM + const MarkerPLT + const MarkerPPM + const MarkerPPT + const MarkerQCC + const MarkerQCD + const MarkerRGN + const MarkerSIZ + const MarkerSOC + const MarkerSOD + const MarkerSOP + const MarkerSOT + const MarkerTLM + const MaxCodeBlockHeight + const MaxCodeBlockWidth + const MaxComponentCount + const MaxDecompLevels + const MaxImageDimension + const MaxTileCount + const ProgressionCPRL + const ProgressionLRCP + const ProgressionRLCP + const QuantStyleNoQuantization + const QuantStyleScalarDerived + const QuantStyleScalarExpounded + var ErrInvalidCOD = errors.New("invalid COD marker") + var ErrInvalidDimensions = errors.New("invalid dimensions") + var ErrInvalidMarker = errors.New("invalid marker") + var ErrInvalidMarkerLength = errors.New("invalid marker length") + var ErrInvalidProgressOrder = errors.New("invalid progression order") + var ErrInvalidQCD = errors.New("invalid QCD marker") + var ErrInvalidQuantStyle = errors.New("invalid quantization style") + var ErrInvalidSIZ = errors.New("invalid SIZ marker") + var ErrInvalidSOT = errors.New("invalid SOT marker") + var ErrMissingSIZ = errors.New("missing SIZ marker") + var ErrMissingSOC = errors.New("missing SOC marker") + var ErrTooManyComponents = errors.New("too many components") + var ErrTooManyDecompLevels = errors.New("too many decomposition levels") + var ErrTooManyTiles = errors.New("too many tiles") + var ErrUnexpectedEOF = errors.New("unexpected end of codestream") + type Builder struct + BitDepth int + CodeBlockHeight int + CodeBlockWidth int + DecompLevels int + Height uint32 + NumComps int + NumLayers int + ProgressOrder int + Reversible bool + TileHeight uint32 + TileWidth uint32 + Width uint32 + func NewBuilder() *Builder + func (b *Builder) Build(tileData [][]byte) ([]byte, error) + func (b *Builder) SetComponents(numComps, bitDepth int) *Builder + func (b *Builder) SetDecompLevels(levels int) *Builder + func (b *Builder) SetImageSize(width, height uint32) *Builder + func (b *Builder) SetLayers(layers int) *Builder + func (b *Builder) SetReversible(reversible bool) *Builder + func (b *Builder) SetTileSize(width, height uint32) *Builder + type CODMarker struct + CodeBlockHeight uint8 + CodeBlockStyle uint8 + CodeBlockWidth uint8 + MCT uint8 + NumDecompLevels uint8 + NumLayers uint16 + PrecinctSizes []uint8 + ProgressionOrder uint8 + Scod uint8 + Transform uint8 + func (c *CODMarker) ActualCodeBlockHeight() int + func (c *CODMarker) ActualCodeBlockWidth() int + func (c *CODMarker) IsReversible() bool + func (c *CODMarker) UsesEPH() bool + func (c *CODMarker) UsesPrecincts() bool + func (c *CODMarker) UsesSOP() bool + type Codestream struct + COD *CODMarker + Comments []string + QCD *QCDMarker + SIZ *SIZMarker + TileParts []*TilePart + type Parser struct + func NewParser() *Parser + func (p *Parser) Parse(r io.Reader) (*Codestream, error) + func (p *Parser) ParseCOD(r io.Reader) (*CODMarker, error) + func (p *Parser) ParseEOC(r io.Reader) error + func (p *Parser) ParseQCD(r io.Reader) (*QCDMarker, error) + func (p *Parser) ParseSIZ(r io.Reader) (*SIZMarker, error) + func (p *Parser) ParseSOC(r io.Reader) error + func (p *Parser) ParseSOT(r io.Reader) (*SOTMarker, error) + func (p *Parser) Reset() + type QCDMarker struct + SPqcd []QCDStepSize + Sqcd uint8 + func (q *QCDMarker) GuardBits() int + func (q *QCDMarker) QuantStyle() int + type QCDStepSize struct + Exponent uint8 + Mantissa uint16 + type SIZComponent struct + SSiz uint8 + XRSiz uint8 + YRSiz uint8 + func (c *SIZComponent) Depth() int + func (c *SIZComponent) Signed() bool + type SIZMarker struct + CSiz uint16 + Components []SIZComponent + Rsiz uint16 + XOSiz uint32 + XSiz uint32 + XTOSiz uint32 + XTSiz uint32 + YOSiz uint32 + YSiz uint32 + YTOSiz uint32 + YTSiz uint32 + func (s *SIZMarker) ImageHeight() uint32 + func (s *SIZMarker) ImageWidth() uint32 + func (s *SIZMarker) NumTiles() int + func (s *SIZMarker) NumTilesX() int + func (s *SIZMarker) NumTilesY() int + type SOTMarker struct + Isot uint16 + Psot uint32 + TNsot uint8 + TPsot uint8 + type TilePart struct + Data []byte + DataOffset int64 + Length uint32 + NumParts uint8 + PartIndex uint8 + TileIndex uint16 + type Writer struct + func NewWriter() *Writer + func (w *Writer) Bytes() []byte + func (w *Writer) Reset() + func (w *Writer) WriteCOD(cod *CODMarker) error + func (w *Writer) WriteCOM(comment string, latin1 bool) + func (w *Writer) WriteEOC() + func (w *Writer) WriteQCD(qcd *QCDMarker) error + func (w *Writer) WriteSIZ(siz *SIZMarker) error + func (w *Writer) WriteSOC() + func (w *Writer) WriteSOD() + func (w *Writer) WriteSOT(sot *SOTMarker) error + func (w *Writer) WriteTileData(data []byte) + func (w *Writer) WriteTo(writer io.Writer) (int64, error)