• Anton Khirnov's avatar
    ffmpeg: init filtergraphs only after we have a frame on each input · af1761f7
    Anton Khirnov authored
    This makes sure the actual stream parameters are used, which is
    important mainly for hardware decoding+filtering cases, which would
    previously require various weird workarounds to handle the fact that a
    fake software graph has to be constructed, but never used.
    This should also improve behaviour in rare cases where
    avformat_find_stream_info() does not provide accurate information.
    
    This merges Libav commit a3a0230a
    
    . It was previously skipped.
    
    The code in flush_encoders() which sets up a "fake" format wasn't in
    Libav. I'm not sure if it's a good idea, but it tends to give
    behavior closer to the old one in certain corner cases.
    
    The vp8-size-change gives different result, because now the size of
    the first frame is used. libavformat reported the size of the largest
    frame for some reason.
    
    The exr tests now use the sample aspect ratio of the first frame. For
    some reason libavformat determines 0/1 as aspect ratio, while the
    decoder returns the correct one.
    
    The ffm and mxf tests change the field_order values. I'm assuming
    another libavformat/decoding mismatch.
    
    Signed-off-by: default avatarwm4 <nfxjfg@googlemail.com>
    af1761f7