Re: rounding issue with RTCRtpEncodingParameters scales?

Stupid question (maybe), but since the spatial relationship between the layers is a fixed ratio, wouldn’t only the base layer’s scale be of value and the other values kind of have to be ignored? Any other values other than the base x 2, base x 4, base x 8 of the base layer are illegal anyway, no? Why even need to specify any layer other than the base size?

-- 
Robin Raymond

On July 19, 2014 at 6:28:54 AM, Bernard Aboba (bernard.aboba@microsoft.com) wrote:

Assuming that you only wanted 30 percent of the resolution from gUM with all layers, yes.

On Jul 18, 2014, at 6:04 PM, "Robin Raymond" <robin@hookflash.com> wrote:


Okay, then it starts as 0.075, 0.15 and then the final is 0.3?

1/4 of 30% [base], 1/2 of 30% [enhancement 1], 1/1 of 30 [full enhancement]?

-- 
Robin Raymond

On July 18, 2014 at 8:49:15 PM, Bernard Aboba (bernard.aboba@microsoft.com) wrote:

In most implementations each enhancement layer increases the aggregate value of framerateScale or resolutionScale by a factor of 2. 

On Jul 18, 2014, at 5:20 PM, "Robin Raymond" <robin@hookflash.com> wrote:


Aren’t the spatial layer relationships fixed though?

So it would be 30% of 1/1, 30% of 1/2, 30% of 1/4? i.e. 0.3, 0.15, 0.075?


-- 
Robin Raymond

On July 18, 2014 at 5:44:51 PM, Peter Thatcher (pthatcher@google.com) wrote:

I think each layer is a ratio of the input.  So, if you want 30%, 20%, 10%, you'd use 0.3, 0.2, 0.1 (not 0.3, .66666, .33333)


On Fri, Jul 18, 2014 at 2:37 PM, Robin Raymond <robin@hookflash.com> wrote:

I still don’t think I fully understand exactly what those values need to be set to in order to setup the correct ratios. For the sake of clarity, if the base layer is scaled resolution of 30%, and you had 3 geometric spatial layers, what exactly would be the value of the encoding parameters for each layer?

-- 
Robin Raymond

On July 18, 2014 at 3:09:57 PM, Peter Thatcher (pthatcher@google.com) wrote:

I think we can until we run into real implementation issues.  I have a feeling it won't be a big deal.


On Thu, Jul 17, 2014 at 12:37 PM, Robin Raymond <robin@hookflash.com> wrote:

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 Saturday, 19 July 2014 14:46:42 UTC