rounding issue with RTCRtpEncodingParameters scales?

dictionary RTCRtpEncodingParameters {
    //...
    double              resolutionScale;
    double              framerateScale;
}

These are floats with relative values. The trouble is that there are fixed geometric relations. It must be 1.0, 0.5, 0.25, 0.125, etc for resolution scaling…

Maybe this isn’t an issue but I’m a bit concerned that float rounding issues might cause us problems.

For example, if you start at a base scale of 0.3 (i.e. resolution is 0.3 of source), are the layerings relative to 0.3, i.e. (1/1 * 0.3), (1/2 * 0.3), (1/4 * 0.3) ?

or would the scale be like this:
0.3, 1/1, 1/2, 1/4, 1/8, etc?

Also if people use dividers vs fixed value like: 1/8 vs 0.125, could we end up in situations where the values almost match but don’t quite due to float rounding problems?


Just a concern…

Robin

Received on Thursday, 17 July 2014 19:37:38 UTC