mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Better name for integrator2_state.
Originally committed as revision 17846 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
3228491027
commit
2e51dedd24
@ -31,14 +31,14 @@ struct TimeFilter {
|
|||||||
double cycle_time;
|
double cycle_time;
|
||||||
double feedback2_factor;
|
double feedback2_factor;
|
||||||
double feedback3_factor;
|
double feedback3_factor;
|
||||||
double integrator2_state;
|
double clock_period;
|
||||||
int count;
|
int count;
|
||||||
};
|
};
|
||||||
|
|
||||||
TimeFilter * ff_timefilter_new(double clock_period, double feedback2_factor, double feedback3_factor)
|
TimeFilter * ff_timefilter_new(double clock_period, double feedback2_factor, double feedback3_factor)
|
||||||
{
|
{
|
||||||
TimeFilter *self = av_mallocz(sizeof(TimeFilter));
|
TimeFilter *self = av_mallocz(sizeof(TimeFilter));
|
||||||
self->integrator2_state = clock_period;
|
self->clock_period = clock_period;
|
||||||
self->feedback2_factor = feedback2_factor;
|
self->feedback2_factor = feedback2_factor;
|
||||||
self->feedback3_factor = feedback3_factor;
|
self->feedback3_factor = feedback3_factor;
|
||||||
return self;
|
return self;
|
||||||
@ -62,13 +62,13 @@ double ff_timefilter_update(TimeFilter *self, double system_time, double period)
|
|||||||
self->cycle_time = system_time;
|
self->cycle_time = system_time;
|
||||||
} else {
|
} else {
|
||||||
double loop_error;
|
double loop_error;
|
||||||
self->cycle_time+= self->integrator2_state * period;
|
self->cycle_time += self->clock_period * period;
|
||||||
/// calculate loop error
|
/// calculate loop error
|
||||||
loop_error = system_time - self->cycle_time;
|
loop_error = system_time - self->cycle_time;
|
||||||
|
|
||||||
/// update loop
|
/// update loop
|
||||||
self->cycle_time += FFMAX(self->feedback2_factor, 1.0/(self->count)) * loop_error;
|
self->cycle_time += FFMAX(self->feedback2_factor, 1.0/(self->count)) * loop_error;
|
||||||
self->integrator2_state += self->feedback3_factor * loop_error / period;
|
self->clock_period += self->feedback3_factor * loop_error / period;
|
||||||
}
|
}
|
||||||
return self->cycle_time;
|
return self->cycle_time;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user