]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/timefilter.h
Reindent
[ffmpeg] / libavformat / timefilter.h
index c5252de3e8055d1a44d3f91f38e5b6679f7c088e..ded8ec7bede6cde478dd3cdafc49ec84b01778ef 100644 (file)
@@ -1,7 +1,9 @@
 /*
  * Delay Locked Loop based time filter prototypes and declarations
  * Copyright (c) 2009 Samalyse
+ * Copyright (c) 2009 Michael Niedermayer
  * Author: Olivier Guilyardi <olivier samalyse com>
+ *         Michael Niedermayer <michaelni gmx at>
  *
  * This file is part of FFmpeg.
  *
@@ -37,10 +39,6 @@ typedef struct TimeFilter TimeFilter;
 /**
  * Create a new Delay Locked Loop time filter
  *
- * period is the device cycle duration in seconds. For example, at
- * 44.1Hz and a buffer size of 512 frames, period = 512 / 44100. The filter
- * only works if the cycle duration is fixed.
- *
  * feedback2_factor and feedback3_factor are the factors used for the
  * multiplications that are respectively performed in the second and third
  * feedback paths of the loop.
@@ -55,36 +53,31 @@ typedef struct TimeFilter TimeFilter;
  * of the jitter, but also take a longer time for the loop to settle. A good
  * starting point is something between 0.3 and 3 Hz.
  *
+ * @param clock_period period of the hardware clock in seconds
+ *        (for example 1.0/44100)
+ *
  * For more details about these parameters and background concepts please see:
  * http://www.kokkinizita.net/papers/usingdll.pdf
  */
-TimeFilter * ff_timefilter_new(double period, double feedback2_factor, double feedback3_factor);
+TimeFilter * ff_timefilter_new(double clock_period, double feedback2_factor, double feedback3_factor);
 
 /**
  * Update the filter
  *
  * This function must be called in real time, at each process cycle.
  *
+ * @param period the device cycle duration in clock_periods. For example, at
+ * 44.1kHz and a buffer size of 512 frames, period = 512 when clock_period
+ * was 1.0/44100, or 512/44100 if clock_period was 1.
+ *
  * system_time, in seconds, should be the value of the system clock time,
  * at (or as close as possible to) the moment the device hardware interrupt
  * occured (or any other event the device clock raises at the beginning of a
  * cycle).
- */
-void ff_timefilter_update(TimeFilter *self, double system_time);
-
-/**
- * Retrieve the filtered time
- *
- * The returned value represents the filtered time, in seconds, of the
- * beginning of the current cycle as updated by the last call to
- * ff_timefilter_update()
- *
- * This is the value that should be used for timestamping.
  *
- * Warning: you must call ff_timefilter_update() before this, otherwise the
- * result is undetermined.
+ * @return the filtered time, in seconds
  */
-double ff_timefilter_read(TimeFilter *);
+double ff_timefilter_update(TimeFilter *self, double system_time, double period);
 
 /**
  * Reset the filter