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

Originally committed as revision 17857 to svn://svn.ffmpeg.org/ffmpeg/trunk
release/0.6
Michael Niedermayer 16 years ago
parent bb5c0988ea
commit 8b2fa9659a
  1. 18
      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");
} }

Loading…
Cancel
Save