namespace R2C2 {
SpeedQuantizer::SpeedQuantizer(unsigned n):
- steps(n+1)
+ steps(n+1),
+ weight_limit(10)
{
if(n<1)
throw InvalidParameterValue("Must have at leats one speed step");
{
if(i==0)
return 0;
- if(steps[i].weight)
+ if(steps[i].weight>=weight_limit)
return steps[i].speed;
unsigned low;
unsigned high;
for(low=i; low>0; --low)
- if(steps[low].weight)
+ if(steps[low].weight>=weight_limit)
break;
for(high=i; high+1<steps.size(); ++high)
- if(steps[high].weight)
+ if(steps[high].weight>=weight_limit)
break;
if(steps[high].weight)
unsigned high = 0;
unsigned last = 0;
for(unsigned i=0; (!high && i<steps.size()); ++i)
- if(steps[i].weight)
+ if(steps[i].weight>=weight_limit)
{
last = i;
if(steps[i].speed>=speed)