1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * vivid-vid-cap.h - video capture support functions. 4 * 5 * Copyright 2014 Cisco Systems, Inc. and/or its affiliates. All rights reserved. 6 */ 7 8 #ifndef _VIVID_VID_CAP_H_ 9 #define _VIVID_VID_CAP_H_ 10 11 void vivid_update_quality(struct vivid_dev *dev); 12 void vivid_update_format_cap(struct vivid_dev *dev, bool keep_controls); 13 enum tpg_video_aspect vivid_get_video_aspect(const struct vivid_dev *dev); 14 15 extern const v4l2_std_id vivid_standard[]; 16 extern const char * const vivid_ctrl_standard_strings[]; 17 18 extern const struct vb2_ops vivid_vid_cap_qops; 19 20 int vivid_g_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f); 21 int vivid_try_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f); 22 int vivid_s_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f); 23 int vidioc_g_fmt_vid_cap_mplane(struct file *file, void *priv, struct v4l2_format *f); 24 int vidioc_try_fmt_vid_cap_mplane(struct file *file, void *priv, struct v4l2_format *f); 25 int vidioc_s_fmt_vid_cap_mplane(struct file *file, void *priv, struct v4l2_format *f); 26 int vidioc_g_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f); 27 int vidioc_try_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f); 28 int vidioc_s_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f); 29 int vivid_vid_cap_g_selection(struct file *file, void *priv, struct v4l2_selection *sel); 30 int vivid_vid_cap_s_selection(struct file *file, void *fh, struct v4l2_selection *s); 31 int vivid_vid_cap_g_pixelaspect(struct file *file, void *priv, int type, struct v4l2_fract *f); 32 int vidioc_enum_fmt_vid_overlay(struct file *file, void *priv, struct v4l2_fmtdesc *f); 33 int vidioc_g_fmt_vid_overlay(struct file *file, void *priv, struct v4l2_format *f); 34 int vidioc_try_fmt_vid_overlay(struct file *file, void *priv, struct v4l2_format *f); 35 int vidioc_s_fmt_vid_overlay(struct file *file, void *priv, struct v4l2_format *f); 36 int vivid_vid_cap_overlay(struct file *file, void *fh, unsigned i); 37 int vivid_vid_cap_g_fbuf(struct file *file, void *fh, struct v4l2_framebuffer *a); 38 int vivid_vid_cap_s_fbuf(struct file *file, void *fh, const struct v4l2_framebuffer *a); 39 int vidioc_enum_input(struct file *file, void *priv, struct v4l2_input *inp); 40 int vidioc_g_input(struct file *file, void *priv, unsigned *i); 41 int vidioc_s_input(struct file *file, void *priv, unsigned i); 42 int vidioc_enumaudio(struct file *file, void *fh, struct v4l2_audio *vin); 43 int vidioc_g_audio(struct file *file, void *fh, struct v4l2_audio *vin); 44 int vidioc_s_audio(struct file *file, void *fh, const struct v4l2_audio *vin); 45 int vivid_video_g_frequency(struct file *file, void *fh, struct v4l2_frequency *vf); 46 int vivid_video_s_frequency(struct file *file, void *fh, const struct v4l2_frequency *vf); 47 int vivid_video_s_tuner(struct file *file, void *fh, const struct v4l2_tuner *vt); 48 int vivid_video_g_tuner(struct file *file, void *fh, struct v4l2_tuner *vt); 49 int vidioc_querystd(struct file *file, void *priv, v4l2_std_id *id); 50 int vivid_vid_cap_s_std(struct file *file, void *priv, v4l2_std_id id); 51 int vivid_vid_cap_s_dv_timings(struct file *file, void *_fh, struct v4l2_dv_timings *timings); 52 int vidioc_query_dv_timings(struct file *file, void *_fh, struct v4l2_dv_timings *timings); 53 int vidioc_s_edid(struct file *file, void *_fh, struct v4l2_edid *edid); 54 int vidioc_enum_framesizes(struct file *file, void *fh, struct v4l2_frmsizeenum *fsize); 55 int vidioc_enum_frameintervals(struct file *file, void *priv, struct v4l2_frmivalenum *fival); 56 int vivid_vid_cap_g_parm(struct file *file, void *priv, struct v4l2_streamparm *parm); 57 int vivid_vid_cap_s_parm(struct file *file, void *priv, struct v4l2_streamparm *parm); 58 59 #endif 60