LZMA packet format

  • Yeonjong Bong
    Yeonjong Bong


    I found the information of LZMA packet from wikipedia.

    It says there are 7 types of packets.

    LIT (Literal): 0+byteCode
    MATCH (typical LZ77 LD pair): 1+0+len+dist
    SHORTREP (Length:1, Distance: last used distance): 1+1+0+0
    LONGREP[0] (Length>1, Distance: last used): 1+1+0+1+len
    LONGREP[1] (Length>1, Distance: 2nd last used): 1+1+1+0+len
    LONGREP[2] (Length>1, Distance: 3rd last used): 1+1+1+1+0+len
    LONGREP[3] (Length>1, Distance: 4th last used): 1+1+1+1+1+len

    I think byteCode would be 8bits(so LIT packet would be 9bits), but I want to know the number of bits assigned for len, dist for each packet.

    And I think each packet length wouldn't be byte-aligned. Does LZMA concatenated all the packets without unused bits which are for byte-align?

    Always thanks for your answer.

    Last edit: Yeonjong Bong 2014-03-18