Class: Omnizip::Implementations::SevenZip::LZMA2::Encoder

Inherits:
XZUtils::LZMA2::Encoder show all
Defined in:
lib/omnizip/implementations/seven_zip/lzma2/encoder.rb

Overview

7-Zip LZMA2 encoder.

The LZMA2 stream itself is format-identical to the raw LZMA2 layer of the XZ Utils encoder (chunks + 0x00 end marker); the 7-Zip container carries the method properties, so no property byte is written into the data stream (standalone: false).

This is a thin subclass rather than a copy: the XZ Utils encoder carries the fixes for global pos_state across chunks, announced state resets, the 64 KiB compressed-chunk cap (16-bit size field) and the range-encoder symbol-queue drain, which a duplicated implementation silently missed.

Constant Summary

Constants inherited from XZUtils::LZMA2::Encoder

XZUtils::LZMA2::Encoder::COMPRESSED_MAX, XZUtils::LZMA2::Encoder::UNCOMPRESSED_CHUNK_MAX, XZUtils::LZMA2::Encoder::UNCOMPRESSED_MAX

Constants included from Algorithms::LZMA::Constants

Algorithms::LZMA::Constants::BIT_MODEL_TOTAL, Algorithms::LZMA::Constants::COMPRESSION_LEVEL_DEFAULT, Algorithms::LZMA::Constants::COMPRESSION_LEVEL_MAX, Algorithms::LZMA::Constants::COMPRESSION_LEVEL_MIN, Algorithms::LZMA::Constants::DICT_SIZE_MAX, Algorithms::LZMA::Constants::DICT_SIZE_MIN, Algorithms::LZMA::Constants::DIST_ALIGN_BITS, Algorithms::LZMA::Constants::DIST_ALIGN_SIZE, Algorithms::LZMA::Constants::DIST_SLOT_FAST_LIMIT, Algorithms::LZMA::Constants::END_POS_MODEL_INDEX, Algorithms::LZMA::Constants::EOS_MARKER, Algorithms::LZMA::Constants::INIT_PROBS, Algorithms::LZMA::Constants::LEN_HIGH_SYMBOLS, Algorithms::LZMA::Constants::LEN_LOW_SYMBOLS, Algorithms::LZMA::Constants::LEN_MID_SYMBOLS, Algorithms::LZMA::Constants::LIT_SIZE_MAX, Algorithms::LZMA::Constants::MATCH_LEN_MAX, Algorithms::LZMA::Constants::MATCH_LEN_MIN, Algorithms::LZMA::Constants::MOVE_BITS, Algorithms::LZMA::Constants::NUM_DIRECT_BITS, Algorithms::LZMA::Constants::NUM_DIST_SLOTS, Algorithms::LZMA::Constants::NUM_DIST_SLOT_BITS, Algorithms::LZMA::Constants::NUM_FULL_DISTANCES, Algorithms::LZMA::Constants::NUM_LEN_HIGH_BITS, Algorithms::LZMA::Constants::NUM_LEN_LOW_BITS, Algorithms::LZMA::Constants::NUM_LEN_MID_BITS, Algorithms::LZMA::Constants::NUM_LEN_TO_POS_STATES, Algorithms::LZMA::Constants::NUM_LIT_CONTEXT_BITS_MAX, Algorithms::LZMA::Constants::NUM_LIT_POS_BITS_MAX, Algorithms::LZMA::Constants::NUM_POS_BITS_MAX, Algorithms::LZMA::Constants::NUM_STATES, Algorithms::LZMA::Constants::POS_STATES_MAX, Algorithms::LZMA::Constants::START_POS_MODEL_INDEX, Algorithms::LZMA::Constants::TOP

Constants inherited from Base::LZMA2EncoderBase

Base::LZMA2EncoderBase::COMPRESSED_MAX, Base::LZMA2EncoderBase::UNCOMPRESSED_MAX

Instance Attribute Summary

Attributes inherited from Base::LZMA2EncoderBase

#dict_size, #lc, #lp, #pb

Instance Method Summary collapse

Methods inherited from XZUtils::LZMA2::Encoder

#encode

Methods inherited from Base::LZMA2EncoderBase

#encode, #standalone?

Constructor Details

#initialize(options = {}) ⇒ Encoder

7-Zip callers pass the same option keys; only the property byte default differs (the container describes the coder).



42
43
44
# File 'lib/omnizip/implementations/seven_zip/lzma2/encoder.rb', line 42

def initialize(options = {})
  super({ standalone: false }.merge(options))
end

Instance Method Details

#implementation_nameSymbol

Get implementation identifier.

Returns:

  • (Symbol)

    :seven_zip_sdk



49
50
51
# File 'lib/omnizip/implementations/seven_zip/lzma2/encoder.rb', line 49

def implementation_name
  :seven_zip_sdk
end