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