[FFmpeg-devel] [PATCH] ALSA: fix timefilter divergence
Nicolas George
nicolas.george at normalesup.org
Thu Feb 16 20:34:14 CET 2012
L'octidi 28 pluviôse, an CCXX, Michael Niedermayer a écrit :
> could you post a list of input values to the filter that cause the
> current timefiler to fail?
My sound card just produced the following samples:
ff_timefilter_new(20.833333, 0.568689, 0.161704)
ff_timefilter_update( 469, 0) = 469.000000
ff_timefilter_update( 638, 8) = 636.993608
ff_timefilter_update( 1448, 39) = 1449.437554
ff_timefilter_update( 11665, 488) = 11650.928986
ff_timefilter_update( 21836, 488) = 21837.355609
ff_timefilter_update( 32008, 488) = 32015.358763
ff_timefilter_update( 42160, 488) = 42177.384271
ff_timefilter_update( 52322, 488) = 52336.584173
ff_timefilter_update( 62524, 488) = 62517.765708
ff_timefilter_update( 72671, 488) = 72680.516687
ff_timefilter_update( 82860, 488) = 82856.656313
ff_timefilter_update( 93049, 488) = 93040.650179
ff_timefilter_update( 103209, 488) = 103212.349193
ff_timefilter_update( 113380, 488) = 113383.109109
ff_timefilter_update( 123444, 488) = 123492.653079
ff_timefilter_update( 123940, 8) = 123818.860236
ff_timefilter_update( 133668, 480) = 134903.634561
ff_timefilter_update( 133796, 8) = 134361.799455
ff_timefilter_update( 143962, 488) = 139612.262444
ff_timefilter_update( 154232, 488) = 148420.649212
ff_timefilter_update( 164306, 488) = 158888.492658
ff_timefilter_update( 164486, 8) = 162109.603263
ff_timefilter_update( 174668, 488) = 195002.061054
ff_timefilter_update( 184888, 488) = 211712.850286
ff_timefilter_update( 194952, 488) = 220306.008670
ff_timefilter_update( 195164, 8) = 206237.943110
ff_timefilter_update( 205364, 488) = 110533.493181
ff_timefilter_update( 215560, 488) = 90387.900126
ff_timefilter_update( 225623, 488) = 107662.381115
ff_timefilter_update( 225913, 8) = 174245.330886
ff_timefilter_update( 235807, 480) = 670652.957243
ff_timefilter_update( 235970, 8) = 429971.567734
ff_timefilter_update( 246251, 488) = -1190524.090912
ff_timefilter_update( 256323, 489) = -1654032.629836
ff_timefilter_update( 256474, 8) = -583538.730819
ff_timefilter_update( 266619, 487) = 7195369.812186
ff_timefilter_update( 276833, 488) = 9448582.891278
ff_timefilter_update( 286961, 488) = 8943073.161717
ff_timefilter_update( 287162, 8) = 4074729.912698
ff_timefilter_update( 297331, 488) = -32128820.859982
ff_timefilter_update( 307526, 488) = -42494586.738962
ff_timefilter_update( 317736, 488) = -40038393.450799
ff_timefilter_update( 327798, 488) = -32447556.804088
ff_timefilter_update( 328080, 8) = -13973413.473818
ff_timefilter_update( 337973, 480) = 123021413.420661
ff_timefilter_update( 338255, 8) = 55069811.181781
ff_timefilter_update( 348152, 480) = -398049425.718612
ff_timefilter_update( 348333, 8) = -177444618.109880
ff_timefilter_update( 358532, 488) = 1313868509.154909
> Iam quite interrested to see it failing, also heres some simple change
> that vastly improves the timefilters performance in its selftest
> maybe its also fixing the problem you see with alsa ?
> note, the variable names in the patch below are not very good, dont
> be mislead by them
> note2: the feedback factors change in meaning, especially the
> feedback3_factor so tests (with alsa) would likely need new values
> for them. And i havnt really thought about what value would be
> appropriate.
My time for now is running out, I will look at this patch when I have time
again.
But I am not sure it may do anything else than hide the problem: this
timefilter was designed for small constant intervals, while ALSA can have
big (with dsnoop plugin) and variable intervals (with non-blocking mode).
Regards,
--
Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20120216/0674c05a/attachment.asc>
More information about the ffmpeg-devel
mailing list