Browse Source

Add code to the self test to print jitter & drift.

Originally committed as revision 17857 to svn://svn.ffmpeg.org/ffmpeg/trunk
Michael Niedermayer 16 years ago
parent
commit
8b2fa9659a
1 changed files with 18 additions and 0 deletions
  1. 18 0
      libavformat/timefilter.c

+ 18 - 0
libavformat/timefilter.c

@@ -81,8 +81,14 @@ int main(void)
 #define SAMPLES 1000
 #define SAMPLES 1000
     double ideal[SAMPLES];
     double ideal[SAMPLES];
     double samples[SAMPLES];
     double samples[SAMPLES];
+#if 1
     for(n0= 0; n0<40; n0=2*n0+1){
     for(n0= 0; n0<40; n0=2*n0+1){
         for(n1= 0; n1<10; n1=2*n1+1){
         for(n1= 0; n1<10; n1=2*n1+1){
+#else
+    {{
+        n0=7;
+        n1=1;
+#endif
             double best_error= 1000000000;
             double best_error= 1000000000;
             double bestpar0=1;
             double bestpar0=1;
             double bestpar1=0.001;
             double bestpar1=0.001;
@@ -116,7 +122,19 @@ int main(void)
                     }
                     }
                 }
                 }
             }while(better);
             }while(better);
+#if 0
+            double lastfil=9;
+            TimeFilter *tf= ff_timefilter_new(1, bestpar0, bestpar1);
+            for(i=0; i<SAMPLES; i++){
+                double filtered;
+                filtered=  ff_timefilter_update(tf, samples[i], 1);
+                printf("%f %f %f %f\n", i - samples[i] + 10, filtered - samples[i], samples[FFMAX(i, 1)] - samples[FFMAX(i-1, 0)], filtered - lastfil);
+                lastfil= filtered;
+            }
+            ff_timefilter_destroy(tf);
+#else
             printf(" [%f %f %f]", bestpar0, bestpar1, best_error);
             printf(" [%f %f %f]", bestpar0, bestpar1, best_error);
+#endif
         }
         }
         printf("\n");
         printf("\n");
     }
     }