[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: TS clarification (was: [rohc] The discussion on slope(s) (red ux))
Hi All,
How about rephrasing the final paragraph to:
"In the compression step explained following this core equality of
section 4.5.3, TS_SCALED is written as TS / TS_STRIDE.
This formula assumes (as in the rest of the RFC) that "/" means
"the integral part of the result from dividing X by Y", however,
this is clearly undefined if TS_STRIDE has a value of 0. As the
core equality above does not prevent setting TS_STRIDE to 0
(leaving TS = TS_OFFSET), and there is no reason not to allow a
compressor to do that, the formula of "2. Compression" should be
seen as a possible way for RoHC instances to calculate TS_SCALED
and TS_OFFSET, however, it is not to be used if TS_STRIDE = 0."
?
I agree that "/" is generally accepted to mean "the integral part of the
result from dividing X by Y" so we shouldn't write text that implies this
might not be the case.
Best regards,
Abbie
>
>
> I'm amazed. I haven't seen a "clarification" that has so many
> logic holes in it. I may be alone on this (it seems so at
> this moment),
> but it in worst case will break RFC 3095, and at the best will make
> text of RFC 3095 inconsistent.
>
> Just a few examples below.
>
> > > TS_SCALED is incorrectly written
> > > as TS / TS_STRIDE. This formula is incorrect both because it
> > > excludes TS_OFFSET,
>
> No, it does NOT. Did anyone read the following text from section
> 4.5.3 in RFC 3095? Or it simply doesn't matter, as people can now
> freely change RFC 3095 in whichever way they like?
>
> 1. Initialization: The compressor sends to the
> decompressor the value
> of TS_STRIDE and the absolute value of one or several TS fields.
> The latter are used by the decompressor to initialize
> TS_OFFSET to
> (absolute value) modulo TS_STRIDE.
>
> > > and because it would prevent a TS_STRIDE value of 0.
>
> That's how it is intended to be. TS_STRIDE is a scale factor,
> not slope.
> Therefore, it is supposed to be non-zero.
>
> Isn't that obvious from section 4.5.3???
>
> > If "/" were a generally unambiguously defined operation meaning "the
> > integral part of the result from dividing X by Y",
>
> That *is* the meaning of "/". Otherwise, what else could it mean here?
> Or in the following appearances throughout RFC 3095? Are all of them
> going be to be called "ambiguous" as well?
>
> Section 4.5.3:
> - the TS will increase by n * 3000 (= n * 90000 / 30) between
> video frames.
> - 0xFFFFFFFF / TS_STRIDE
>
> Section 4.5.4:
> - (a_n - a_j) / TIME_STRIDE
> - T_approx = T_ref + (a_n - a_ref) / TIME_STRIDE
>
> (Section 4.5.4 even goes extra mile to note: "Integer
> arithmetic is used in all
> equations above." Now it seems this should also be put in
> section 4.5.3. Well,
> I don't believe even that can prevent the twisting of words ...)
>
> Section 5.7.6.8:
> - (a_i - a_j) / TIME_STRIDE
>
> > the absence of TS_OFFSET could be explained,
>
> What absence??? Isn't the TS_OFFSET clearly specified (see above)?
>
> BR, Zhigang
>
_______________________________________________
Rohc mailing list
Rohc at ietf.org
https://www1.ietf.org/mailman/listinfo/rohc