Mercurial > libavformat.hg
comparison timefilter.c @ 4659:0004dea93e16 libavformat
Vertical align.
author | michael |
---|---|
date | Fri, 06 Mar 2009 00:48:02 +0000 |
parents | d5c0fe987063 |
children | 687695aeadca |
comparison
equal
deleted
inserted
replaced
4658:d5c0fe987063 | 4659:0004dea93e16 |
---|---|
57 double ff_timefilter_update(TimeFilter *self, double system_time, double period) | 57 double ff_timefilter_update(TimeFilter *self, double system_time, double period) |
58 { | 58 { |
59 self->count++; | 59 self->count++; |
60 if (self->count==1) { | 60 if (self->count==1) { |
61 /// init loop | 61 /// init loop |
62 self->cycle_time = system_time; | 62 self->cycle_time = system_time; |
63 } else { | 63 } else { |
64 double loop_error; | 64 double loop_error; |
65 self->cycle_time += self->clock_period * period; | 65 self->cycle_time += self->clock_period * period; |
66 /// calculate loop error | 66 /// calculate loop error |
67 loop_error = system_time - self->cycle_time; | 67 loop_error = system_time - self->cycle_time; |
68 | 68 |
69 /// update loop | 69 /// update loop |
70 self->cycle_time += FFMAX(self->feedback2_factor, 1.0/(self->count)) * loop_error; | 70 self->cycle_time += FFMAX(self->feedback2_factor, 1.0/(self->count)) * loop_error; |
71 self->clock_period += self->feedback3_factor * loop_error / period; | 71 self->clock_period += self->feedback3_factor * loop_error / period; |
72 } | 72 } |
73 return self->cycle_time; | 73 return self->cycle_time; |
74 } | 74 } |
75 | 75 |