struct v4l2_subdev_video_ops
Prev | Video2Linux devices | Next

## Name

struct v4l2_subdev_video_ops — Callbacks used when v4l device was opened in video mode.

## Synopsis

    struct v4l2_subdev_video_ops {
      int (* s_routing) (struct v4l2_subdev *sd, u32 input, u32 output, u32 config);
      int (* s_crystal_freq) (struct v4l2_subdev *sd, u32 freq, u32 flags);
      int (* g_std) (struct v4l2_subdev *sd, v4l2_std_id *norm);
      int (* s_std) (struct v4l2_subdev *sd, v4l2_std_id norm);
      int (* s_std_output) (struct v4l2_subdev *sd, v4l2_std_id std);
      int (* g_std_output) (struct v4l2_subdev *sd, v4l2_std_id *std);
      int (* querystd) (struct v4l2_subdev *sd, v4l2_std_id *std);
      int (* g_tvnorms) (struct v4l2_subdev *sd, v4l2_std_id *std);
      int (* g_tvnorms_output) (struct v4l2_subdev *sd, v4l2_std_id *std);
      int (* g_input_status) (struct v4l2_subdev *sd, u32 *status);
      int (* s_stream) (struct v4l2_subdev *sd, int enable);
      int (* cropcap) (struct v4l2_subdev *sd, struct v4l2_cropcap *cc);
      int (* g_crop) (struct v4l2_subdev *sd, struct v4l2_crop *crop);
      int (* s_crop) (struct v4l2_subdev *sd, const struct v4l2_crop *crop);
      int (* g_parm) (struct v4l2_subdev *sd, struct v4l2_streamparm *param);
      int (* s_parm) (struct v4l2_subdev *sd, struct v4l2_streamparm *param);
      int (* g_frame_interval) (struct v4l2_subdev *sd,struct v4l2_subdev_frame_interval *interval);
      int (* s_frame_interval) (struct v4l2_subdev *sd,struct v4l2_subdev_frame_interval *interval);
      int (* s_dv_timings) (struct v4l2_subdev *sd,struct v4l2_dv_timings *timings);
      int (* g_dv_timings) (struct v4l2_subdev *sd,struct v4l2_dv_timings *timings);
      int (* query_dv_timings) (struct v4l2_subdev *sd,struct v4l2_dv_timings *timings);
      int (* g_mbus_config) (struct v4l2_subdev *sd,struct v4l2_mbus_config *cfg);
      int (* s_mbus_config) (struct v4l2_subdev *sd,const struct v4l2_mbus_config *cfg);
      int (* s_rx_buffer) (struct v4l2_subdev *sd, void *buf,unsigned int *size);
    };

## Members

s_routing

  see s_routing in audio_ops, except this version is for video devices.

s_crystal_freq

  sets the frequency of the crystal used to generate the clocks in Hz. An extra flags field allows device specific configuration regarding clock frequency dividers, etc. If not used, then set flags to 0. If the frequency is not supported, then -EINVAL is returned.

g_std

  callback for VIDIOC_G_STD ioctl handler code.

s_std

  callback for VIDIOC_S_STD ioctl handler code.

s_std_output

  set v4l2_std_id for video OUTPUT devices. This is ignored by video input devices.

g_std_output

  get current standard for video OUTPUT devices. This is ignored by video input devices.

querystd

  callback for VIDIOC_QUERYSTD ioctl handler code.

g_tvnorms

  get v4l2_std_id with all standards supported by the video CAPTURE device. This is ignored by video output devices.

g_tvnorms_output

  get v4l2_std_id with all standards supported by the video OUTPUT device. This is ignored by video capture devices.

g_input_status

  get input status. Same as the status field in the v4l2_input struct.

s_stream

  used to notify the driver that a video stream will start or has stopped.

cropcap

  callback for VIDIOC_CROPCAP ioctl handler code.

g_crop

  callback for VIDIOC_G_CROP ioctl handler code.

s_crop

  callback for VIDIOC_S_CROP ioctl handler code.

g_parm

  callback for VIDIOC_G_PARM ioctl handler code.

s_parm

  callback for VIDIOC_S_PARM ioctl handler code.

g_frame_interval

  callback for VIDIOC_G_FRAMEINTERVAL ioctl handler code.

s_frame_interval

  callback for VIDIOC_S_FRAMEINTERVAL ioctl handler code.

s_dv_timings

  Set custom dv timings in the sub device. This is used when sub device is capable of setting detailed timing information in the hardware to generate/detect the video signal.

g_dv_timings

  Get custom dv timings in the sub device.

query_dv_timings

  callback for VIDIOC_QUERY_DV_TIMINGS ioctl handler code.

g_mbus_config

  get supported mediabus configurations

s_mbus_config

  set a certain mediabus configuration. This operation is added for compatibility with soc-camera drivers and should not be used by new software.

s_rx_buffer

  set a host allocated memory buffer for the subdev. The subdev can adjust `size` to a lower value and must not write more data to the buffer starting at `data` than the original value of `size`.

Prev | Up | Next
struct v4l2_mbus_frame_desc | Home | struct v4l2_subdev_vbi_ops