1
0
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:
Michael Niedermayer 2009-03-06 00:47:16 +00:00
parent 3228491027
commit 2e51dedd24

View File

@ -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;
} }