• Marton Balint's avatar
    avfilter/yadif_common: fix timestamps with very small timebases · 52cc89dc
    Marton Balint authored
    Yadif filter assumed that the output timebase is always half of the input
    timebase. This is not true if halving the input time base is not representable
    as an AVRational causing the output timestamps to be invalidly scaled in such a
    case.
    
    So let's use av_reduce instead of av_mul_q when calculating the output time
    base and if the conversion is inexact then let's fall back to the original
    timebase which probably makes more parctical sense than using x/INT_MAX.
    
    Fixes invalidly scaled pts_time values in this command line:
    ffmpeg -f lavfi -i testsrc -vf settb=tb=1/2000000000,yadif,showinfo -f null none
    Signed-off-by: 's avatarMarton Balint <cus@passwd.hu>
    52cc89dc
yadif.h 3.35 KB