Skip to content
  • Vivia Nikolaidou's avatar
    deinterlace: Do passthrough in auto mode if downstream only supports interlaced · bd27a1f3
    Vivia Nikolaidou authored
    If the following conditions are met:
    1) upstream and downstream caps are compatible
    2) upstream is interlaced
    3) downstream doesn't support progressive mode
    then deinterlace will just do passthrough instead of failing to link.
    
    This is done with the following scenario in mind:
    
    videotestsrc ! "video/x-raw,interlace-mode=interleaved" ! deinterlace
    name=dein_src ! tee name=t ! queue ! deinterlace name=dein_file ! filesink t. !
    queue ! deinterlace name=dein_desktop ! autovideosink
    In this case, dein_src will do the deinterlacing. However,
    
    videotestsrc ! "video/x-raw,interlace-mode=interleaved" ! deinterlace
    name=dein_src ! tee name=t ! queue ! deinterlace name=dein_file ! filesink t. !
    queue ! deinterlace name=dein_desktop ! autovideosink t. ! queue !
    "video/x-raw,interlace-mode=interleaved" ! fakesink
    
    In this case, caps auto-negotiation will make dein_file and dein_desktop do
    the deinterlacing, while dein_src will be passthrough.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=760995
    bd27a1f3