• Jindřich Makovička's avatar
    af_asyncts: fix compensation and PTS monotonicity · 20a8ee30
    Jindřich Makovička authored
    This patch improves af_asyncts behavior on streams with bogus PTS, which
    are either non-monotonic, or contain PTS jitter, and trigger the
    non-monotonicity error. With this patch, af_asyncts is able to correct
    these streams and avoid the error.
    
    Firstly, it fixes resample compensation calculation by supplying proper
    units to avresample_set_compensation (sample count per second instead
    of sample count per some arbitrary frame size). Also, the calculation of
    the compensation itself is fixed - delta is proportional to an adjustment
    of the compensation, not the compensation itself. Ideally, the compensation
    should converge to a value that keeps delta at zero.
    
    To be able to deal with sources with PTS jitter even without resampling,
    small PTS errors are adjusted, so the output frames do not overlap.
    
    Finally, one more monotonicity check is added.
    
    The FATE reference changes because now there is 8 less samples of
    silence because of the pts jitter.
    Signed-off-by: 's avatarJindřich Makovička <makovick@gmail.com>
    20a8ee30
Name
Last commit
Last update
..
x86 Loading commit data...
Makefile Loading commit data...
af_aformat.c Loading commit data...
af_amix.c Loading commit data...
af_anull.c Loading commit data...
af_ashowinfo.c Loading commit data...
af_asyncts.c Loading commit data...
af_channelmap.c Loading commit data...
af_channelsplit.c Loading commit data...
af_join.c Loading commit data...
af_resample.c Loading commit data...
af_volume.c Loading commit data...
af_volume.h Loading commit data...
allfilters.c Loading commit data...
asink_anullsink.c Loading commit data...
asrc_anullsrc.c Loading commit data...
audio.c Loading commit data...
audio.h Loading commit data...
avfilter.c Loading commit data...
avfilter.h Loading commit data...
avfiltergraph.c Loading commit data...
avfiltergraph.h Loading commit data...
buffer.c Loading commit data...
buffersink.c Loading commit data...
buffersink.h Loading commit data...
buffersrc.c Loading commit data...
buffersrc.h Loading commit data...
drawutils.c Loading commit data...
drawutils.h Loading commit data...
fifo.c Loading commit data...
filtfmts.c Loading commit data...
formats.c Loading commit data...
formats.h Loading commit data...
gradfun.h Loading commit data...
graphparser.c Loading commit data...
internal.h Loading commit data...
libavfilter.v Loading commit data...
split.c Loading commit data...
version.h Loading commit data...
vf_aspect.c Loading commit data...
vf_blackframe.c Loading commit data...
vf_boxblur.c Loading commit data...
vf_copy.c Loading commit data...
vf_crop.c Loading commit data...
vf_cropdetect.c Loading commit data...
vf_delogo.c Loading commit data...
vf_drawbox.c Loading commit data...
vf_drawtext.c Loading commit data...
vf_fade.c Loading commit data...
vf_fieldorder.c Loading commit data...
vf_format.c Loading commit data...
vf_fps.c Loading commit data...
vf_frei0r.c Loading commit data...
vf_gradfun.c Loading commit data...
vf_hflip.c Loading commit data...
vf_hqdn3d.c Loading commit data...
vf_hqdn3d.h Loading commit data...
vf_libopencv.c Loading commit data...
vf_lut.c Loading commit data...
vf_null.c Loading commit data...
vf_overlay.c Loading commit data...
vf_pad.c Loading commit data...
vf_pixdesctest.c Loading commit data...
vf_scale.c Loading commit data...
vf_select.c Loading commit data...
vf_setpts.c Loading commit data...
vf_settb.c Loading commit data...
vf_showinfo.c Loading commit data...
vf_transpose.c Loading commit data...
vf_unsharp.c Loading commit data...
vf_vflip.c Loading commit data...
vf_yadif.c Loading commit data...
video.c Loading commit data...
video.h Loading commit data...
vsink_nullsink.c Loading commit data...
vsrc_color.c Loading commit data...
vsrc_movie.c Loading commit data...
vsrc_nullsrc.c Loading commit data...
vsrc_testsrc.c Loading commit data...
yadif.h Loading commit data...