162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * vivid-vid-cap.h - video capture support functions.
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright 2014 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#ifndef _VIVID_VID_CAP_H_
962306a36Sopenharmony_ci#define _VIVID_VID_CAP_H_
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_civoid vivid_update_quality(struct vivid_dev *dev);
1262306a36Sopenharmony_civoid vivid_update_format_cap(struct vivid_dev *dev, bool keep_controls);
1362306a36Sopenharmony_cienum tpg_video_aspect vivid_get_video_aspect(const struct vivid_dev *dev);
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciextern const v4l2_std_id vivid_standard[];
1662306a36Sopenharmony_ciextern const char * const vivid_ctrl_standard_strings[];
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciextern const struct vb2_ops vivid_vid_cap_qops;
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciint vivid_g_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f);
2162306a36Sopenharmony_ciint vivid_try_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f);
2262306a36Sopenharmony_ciint vivid_s_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f);
2362306a36Sopenharmony_ciint vidioc_g_fmt_vid_cap_mplane(struct file *file, void *priv, struct v4l2_format *f);
2462306a36Sopenharmony_ciint vidioc_try_fmt_vid_cap_mplane(struct file *file, void *priv, struct v4l2_format *f);
2562306a36Sopenharmony_ciint vidioc_s_fmt_vid_cap_mplane(struct file *file, void *priv, struct v4l2_format *f);
2662306a36Sopenharmony_ciint vidioc_g_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f);
2762306a36Sopenharmony_ciint vidioc_try_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f);
2862306a36Sopenharmony_ciint vidioc_s_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f);
2962306a36Sopenharmony_ciint vivid_vid_cap_g_selection(struct file *file, void *priv, struct v4l2_selection *sel);
3062306a36Sopenharmony_ciint vivid_vid_cap_s_selection(struct file *file, void *fh, struct v4l2_selection *s);
3162306a36Sopenharmony_ciint vivid_vid_cap_g_pixelaspect(struct file *file, void *priv, int type, struct v4l2_fract *f);
3262306a36Sopenharmony_ciint vidioc_enum_fmt_vid_overlay(struct file *file, void  *priv, struct v4l2_fmtdesc *f);
3362306a36Sopenharmony_ciint vidioc_g_fmt_vid_overlay(struct file *file, void *priv, struct v4l2_format *f);
3462306a36Sopenharmony_ciint vidioc_try_fmt_vid_overlay(struct file *file, void *priv, struct v4l2_format *f);
3562306a36Sopenharmony_ciint vidioc_s_fmt_vid_overlay(struct file *file, void *priv, struct v4l2_format *f);
3662306a36Sopenharmony_ciint vidioc_enum_input(struct file *file, void *priv, struct v4l2_input *inp);
3762306a36Sopenharmony_ciint vidioc_g_input(struct file *file, void *priv, unsigned *i);
3862306a36Sopenharmony_ciint vidioc_s_input(struct file *file, void *priv, unsigned i);
3962306a36Sopenharmony_ciint vidioc_enumaudio(struct file *file, void *fh, struct v4l2_audio *vin);
4062306a36Sopenharmony_ciint vidioc_g_audio(struct file *file, void *fh, struct v4l2_audio *vin);
4162306a36Sopenharmony_ciint vidioc_s_audio(struct file *file, void *fh, const struct v4l2_audio *vin);
4262306a36Sopenharmony_ciint vivid_video_g_frequency(struct file *file, void *fh, struct v4l2_frequency *vf);
4362306a36Sopenharmony_ciint vivid_video_s_frequency(struct file *file, void *fh, const struct v4l2_frequency *vf);
4462306a36Sopenharmony_ciint vivid_video_s_tuner(struct file *file, void *fh, const struct v4l2_tuner *vt);
4562306a36Sopenharmony_ciint vivid_video_g_tuner(struct file *file, void *fh, struct v4l2_tuner *vt);
4662306a36Sopenharmony_ciint vidioc_querystd(struct file *file, void *priv, v4l2_std_id *id);
4762306a36Sopenharmony_ciint vivid_vid_cap_s_std(struct file *file, void *priv, v4l2_std_id id);
4862306a36Sopenharmony_ciint vivid_vid_cap_s_dv_timings(struct file *file, void *_fh, struct v4l2_dv_timings *timings);
4962306a36Sopenharmony_ciint vidioc_query_dv_timings(struct file *file, void *_fh, struct v4l2_dv_timings *timings);
5062306a36Sopenharmony_ciint vidioc_s_edid(struct file *file, void *_fh, struct v4l2_edid *edid);
5162306a36Sopenharmony_ciint vidioc_enum_framesizes(struct file *file, void *fh, struct v4l2_frmsizeenum *fsize);
5262306a36Sopenharmony_ciint vidioc_enum_frameintervals(struct file *file, void *priv, struct v4l2_frmivalenum *fival);
5362306a36Sopenharmony_ciint vivid_vid_cap_g_parm(struct file *file, void *priv, struct v4l2_streamparm *parm);
5462306a36Sopenharmony_ciint vivid_vid_cap_s_parm(struct file *file, void *priv, struct v4l2_streamparm *parm);
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci#endif
57