• Anton Khirnov's avatar
    fftools/ffmpeg: rework audio-decode timestamp handling · d85c6aba
    Anton Khirnov authored
    Stop using InputStream.dts for generating missing timestamps for decoded
    frames, because it contains pre-decoding timestamps and there may be
    arbitrary amount of delay between input packets and output frames (e.g.
    dependent on the thread count when frame threading is used). It is also
    in AV_TIME_BASE (i.e. microseconds), which may introduce unnecessary
    rounding issues.
    
    New code maintains a timebase that is the inverse of the LCM of all the
    samplerates seen so far, and thus can accurately represent every audio
    sample. This timebase is used to generate missing timestamps after
    decoding.
    
    Changes the result of the following FATE tests
    * pcm_dvd-16-5.1-96000
    * lavf-smjpeg
    * adpcm-ima-smjpeg
    In all of these the timestamps now better correspond to actual frame
    durations.
    d85c6aba
adpcm-ima-smjpeg 19.9 KB