Subject: [rohc] SigComp usr guide - DEFLATE data mistake

From: "Lajos Zaccomer (ETH)" <[email-masked]>
Date: Fri, 2 Aug 2002 11:03:54 +0200

Hi,

I found a mistake in the SigComp user guide DEFLATE example bit string. The "E" (in "Life, the Universe and Everithing") is followed by a <length, distance> pair. As FHP=101, the bits are provided in LSB->MSB order, and the first received bit is interpreted as LSB. Have a look at the 26th octet (0x32 = 00110010b) in that bits 6-2 (01100b = 12) represents the distance code. The belonging range is 65-96 instead of 11 (the pointer should reference the "ver" substring).
If you reverse the bit order of these 5 bits, the new result is 6, and the belonging range is 9-12. So, correct the 26th octet from 0x32 to 0x1a to have the proper result!

Regards,

Zacco

_______________________________________________
Rohc mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rohc

---

From: "Price, Richard" <[email-masked]>
Date: Fri, 2 Aug 2002 15:54:15 +0100

Hi,

Many thanks for pointing out this mistake in the SigComp User Guide.
However the problem doesn't lie in the compressed message but rather
the bytecode for DEFLATE.

When writing the draft I noticed that the size of the DEFLATE bytecode
could be reduced by using a different bit ordering from the one specified
in RFC 1951.  This might be a useful enhancement to make when
deploying SigComp as the bit ordering is chosen by the compressor, so it
doesn't necessarily have to be the one used by standard DEFLATE
implementations.

I changed most of the bytecode back to the bitwise-compatible
version before publication (so that the bytecode could be tested in
conjunction with a standard DEFLATE compressor), but I forgot about
the following lines:

   INPUT-BITS (5, index, fail)
   ADD ($index, distance_table_start)

The less efficient but bitwise-compatible version is given below:

   INPUT-HUFFMAN (index, fail, 1, 5, 0, 31, distance_table_start)

Making this change should allow the example message to be successfully
decompressed.

Regards,

Richard

> -----Original Message-----
> From: Lajos Zaccomer (ETH) [mailto:[email-masked]]
> Sent: Friday, August 02, 2002 10:04 AM
> To: [email-masked]
> Subject: [rohc] SigComp usr guide - DEFLATE data mistake
> 
> 
> Hi,
> 
> I found a mistake in the SigComp user guide DEFLATE example 
> bit string. The "E" (in "Life, the Universe and Everithing") 
> is followed by a <length, distance> pair. As FHP=101, the 
> bits are provided in LSB->MSB order, and the first received 
> bit is interpreted as LSB. Have a look at the 26th octet 
> (0x32 = 00110010b) in that bits 6-2 (01100b = 12) represents 
> the distance code. The belonging range is 65-96 instead of 11 
> (the pointer should reference the "ver" substring).
> If you reverse the bit order of these 5 bits, the new result 
> is 6, and the belonging range is 9-12. So, correct the 26th 
> octet from 0x32 to 0x1a to have the proper result!
> 
> Regards,
> 
> Zacco
>

---

From: "Lajos Zaccomer (ETH)" <[email-masked]>
Date: Tue, 6 Aug 2002 14:53:51 +0200

Hi,

Yes, it works that way, but I think it's rather confusing that you use a different bit order for the distance code and the extrabits. I tried FHP=001, and it works fine. May the FHP=101 be also a remain of the other code? If not, what is the point using it?
Can you share us the exact way of your modified DEFLATE, so that I and maybe others as well can prepare the DEFLATE compressor to do it? Thank you!

Regards,

Zacco

-----Original Message-----
From: Price, Richard [mailto:[email-masked]]
Sent: Friday, August 02, 2002 4:54 PM
To: 'Lajos Zaccomer (ETH)'; [email-masked]
Subject: RE: [rohc] SigComp usr guide - DEFLATE data mistake

Hi,

Regards,

Richard