Determining p value for WLSB of RTP SN.
Ang Way Chuang <[email protected]> Sat, 02 May 2009 11:52:48 +0800
| Newsgroups | gmane.ietf.rohc |
|---|---|
| Message-ID | <[email protected]> |
Dear ROHC list subscribers,
According to section 5.7 of RFC 3095:
SN: The compressed RTP Sequence Number.
Compressed with W-LSB. The interpretation intervals, see section
4.5.1, are defined as follows:
p = 1 if bits(SN) <= 4
p = 2^(bits(SN)-5) - 1 if bits(SN) > 4
where bits(x) is the number of bits in the compressed header.
At first, when I read that the change in the value of p depends on
bits(SN), I was very perplexed. If the algorithm determines k <= 4 can
be used, but due to other factors packet type that is to be used only
have bits(SN) > 4, then we may have problem with the following situation:
Say, compressor receives reordered RTP, then:
vref_c = 32
val = 31
then k=1 is more than enough to cover val because the interpretation
interval is
[32 - 1, 32 + (2 - 1) - 1 ] = [31, 32]
But if the packet type only have bits(SN) = 5, then we are screwed:
[32 - (2^0 - 1), 32 + 2^5 - 1 - (2^0 - 1)] = [32, 63]
31 is not covered!!
Thus, the logic for getting k for SN becomes very hairy because it has
to take care of this situation. k > 5 are okay because whatever the
interpretation interval for these k bits are superset of interpretation
interval for k <= 4.
But when I look at all packet types for RTP, none of them has bits(SN)
== 5. Thus, I assume that whatever calculated k bit of SN are generally
safe to be expanded to the available bits(SN). Is my understanding on
this matter correct? Do tell me if I get it wrong or miss out something
important.
Thank you in advance.
Regards,
Ang Way Chuang