• Niklas Söderlund's avatar
    media: rcar-vin: fix handling of single field frames (top, bottom and alternate fields) · 6c51f646
    Niklas Söderlund authored
    There was never proper support in the VIN driver to deliver ALTERNATING
    field format to user-space, remove this field option. The problem is
    that ALTERNATING field order requires the sequence numbers of buffers
    returned to userspace to reflect if fields were dropped or not,
    something which is not possible with the VIN drivers capture logic.
    
    The VIN driver can still capture from a video source which delivers
    frames in ALTERNATING field order, but needs to combine them using the
    VIN hardware into INTERLACED field order. Before this change if a source
    was delivering fields using ALTERNATE the driver would default to
    combining them using this hardware feature. Only if the user explicitly
    requested ALTERNATE field order would incorrect frames be delivered.
    
    The height should not be cut in half for the format for TOP or BOTTOM
    fields settings. This was a mistake and it was made visible by the
    scaling refactoring. Correct behavior is that the user should request a
    frame size that fits the half height frame reflected in the field
    setting. If not the VIN will do its best to scale the top or bottom to
    the requested format and cropping and scaling do not work as expected.
    Signed-off-by: default avatarNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
    Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
    6c51f646
rcar-v4l2.c 20.1 KB