• Laurent Pinchart's avatar
    [media] v4l: v4l2_subdev userspace format API · 333c8b97
    Laurent Pinchart authored
    Add a userspace API to get, set and enumerate the media format on a
    subdev pad.
    
    The format at the output of a subdev usually depends on the format at
    its input(s). The try format operation is thus not suitable for probing
    format at individual pads, as it can't modify the device state and thus
    can't remember the format tried at the input to compute the output
    format.
    
    To fix the problem, pass an extra argument to the get/set format
    operations to select the 'try' or 'active' format.
    
    The try format is used when probing the subdev. Setting the try format
    must not change the device configuration but can store data for later
    reuse. Data storage is provided at the file-handle level so applications
    probing the subdev concurently won't interfere with each other.
    
    The active format is used when configuring the subdev. It's identical to
    the format handled by the usual get/set operations.
    Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: default avatarStanimir Varbanov <svarbanov@mm-sol.com>
    Signed-off-by: default avatarSakari Ailus <sakari.ailus@iki.fi>
    Acked-by: default avatarHans Verkuil <hverkuil@xs4all.nl>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    333c8b97
v4l2-subdev.c 6.92 KB