oodle

package module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 30, 2024 License: MIT Imports: 10 Imported by: 6

README

go-oodle

Go wrapper for Oodle Data Compression

Usage

Put oo2core_9_win64.dll in the directory with your application (or use the built-in downloader)

Compress
compressedData, err := oodle.Compress(data, oodle.AlgoKraken, oodle.CompressionLevelOptimal3)
Decompress
decompressedData, err := oodle.Decompress(compressedData, outputSize))
Download
if !oodle.IsLibExists() {
	err := oodle.Download()
	if err != nil {
		log.Fatalf("no oo2core library")
	}
}

Documentation

Index

Constants

View Source
const (
	CompressorInvalid = -1
	CompressorNone    = 3

	// new
	CompressorKraken    = 8
	CompressorLeviathan = 13
	CompressorMermaid   = 9
	CompressorSelkie    = 11
	CompressorHydra     = 12

	// deprecated
	CompressorBitKnit = 10
	CompressorLZB16   = 4
	CompressorLZNA    = 7
	CompressorLZH     = 0
	CompressoLZHLW    = 1
	CompressorLZNIB   = 2
	CompressorLZBLW   = 5
	CompressorLZA     = 6

	CompressorCount   = 14
	CompressorForce32 = 0x40000000
)
View Source
const (
	CompressionLevelNone      = 0
	CompressionLevelSuperFast = 1
	CompressionLevelVeryFast  = 2
	CompressionLevelFast      = 3
	CompressionLevelNormal    = 4

	CompressionLevelOptimal1 = 5
	CompressionLevelOptimal2 = 6
	CompressionLevelOptimal3 = 7
	CompressionLevelOptimal4 = 8
	CompressionLevelOptimal5 = 9

	CompressionLevelHyperFast1 = -1
	CompressionLevelHyperFast2 = -2
	CompressionLevelHyperFast3 = -3
	CompressionLevelHyperFast4 = -4

	// aliases
	CompressionLevelHyperFast = CompressionLevelHyperFast1
	CompressionLevelOptimal   = CompressionLevelOptimal2
	CompressionLevelMax       = CompressionLevelOptimal5
	CompressionLevelMin       = CompressionLevelHyperFast4

	CompressionLevelForce32 = 0x40000000
	CompressionLevelInvalid = CompressionLevelForce32
)
View Source
const (
	FuzzSafeNo  = 0
	FuzzSafeYes = 1
)
View Source
const (
	CheckCRCNo      = 0
	CheckCRCYes     = 1
	CheckCRCForce32 = 0x40000000
)
View Source
const (
	VerbosityNone    = 0
	VerbosityMinimal = 1
	VerbositySome    = 2
	VerbosityLots    = 3
	VerbosityForce32 = 0x40000000
)
View Source
const (
	DecodeThreadPhase1   = 1
	DecodeThreadPhase2   = 2
	DecodeThreadPhaseAll = 3
	DecodeUnthreaded     = DecodeThreadPhaseAll
)

Variables

This section is empty.

Functions

func Compress

func Compress(input []byte, compressor int, compressionLevel int) ([]byte, error)

func Decompress

func Decompress(input []byte, outputSize int64) ([]byte, error)

func Download

func Download() error

func GetCompressionLevelName added in v0.2.0

func GetCompressionLevelName(compressionLevel int) (string, error)

func GetCompressorName added in v0.2.0

func GetCompressorName(compressor int) (string, error)

func IsLibExists added in v0.3.0

func IsLibExists() bool

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL