22 Mar, 2011

3 commits

  • This patch adds the VIDIOC_SUBDEV_S_CROP and G_CROP ioctls to the
    userland API. CROPCAP is not implemented because it's redundant.

    Signed-off-by: Antti Koskipaa
    Signed-off-by: Laurent Pinchart
    Acked-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Antti Koskipaa
     
  • The three new ioctl VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL,
    VIDIOC_SUBDEV_G_FRAME_INTERVAL and VIDIOC_SUBDEV_S_FRAME_INTERVAL can be
    used to enumerate and configure a subdev's frame rate from userspace.

    Two new video::g/s_frame_interval subdev operations are introduced to
    support those ioctls. The existing video::g/s_parm operations are
    deprecated and shouldn't be used anymore.

    Signed-off-by: Laurent Pinchart
    Signed-off-by: Sakari Ailus
    Acked-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Laurent Pinchart
     
  • 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: Laurent Pinchart
    Signed-off-by: Stanimir Varbanov
    Signed-off-by: Sakari Ailus
    Acked-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Laurent Pinchart