1/* 2 * vivid-vid-out.h - video output support functions. 3 * 4 * Copyright 2014 Cisco Systems, Inc. and/or its affiliates. All rights reserved. 5 * 6 * This program is free software; you may redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; version 2 of the License. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 11 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 12 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 13 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 14 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 15 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 16 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 17 * SOFTWARE. 18 */ 19 20#ifndef _VIVID_VID_OUT_H_ 21#define _VIVID_VID_OUT_H_ 22 23extern const struct vb2_ops vivid_vid_out_qops; 24 25void vivid_update_format_out(struct vivid_dev *dev); 26 27int vivid_g_fmt_vid_out(struct file *file, void *priv, struct v4l2_format *f); 28int vivid_try_fmt_vid_out(struct file *file, void *priv, struct v4l2_format *f); 29int vivid_s_fmt_vid_out(struct file *file, void *priv, struct v4l2_format *f); 30int vidioc_g_fmt_vid_out_mplane(struct file *file, void *priv, struct v4l2_format *f); 31int vidioc_try_fmt_vid_out_mplane(struct file *file, void *priv, struct v4l2_format *f); 32int vidioc_s_fmt_vid_out_mplane(struct file *file, void *priv, struct v4l2_format *f); 33int vidioc_g_fmt_vid_out(struct file *file, void *priv, struct v4l2_format *f); 34int vidioc_try_fmt_vid_out(struct file *file, void *priv, struct v4l2_format *f); 35int vidioc_s_fmt_vid_out(struct file *file, void *priv, struct v4l2_format *f); 36int vivid_vid_out_g_selection(struct file *file, void *priv, struct v4l2_selection *sel); 37int vivid_vid_out_s_selection(struct file *file, void *fh, struct v4l2_selection *s); 38int vivid_vid_out_cropcap(struct file *file, void *fh, struct v4l2_cropcap *cap); 39int vidioc_enum_fmt_vid_out_overlay(struct file *file, void *priv, struct v4l2_fmtdesc *f); 40int vidioc_g_fmt_vid_out_overlay(struct file *file, void *priv, struct v4l2_format *f); 41int vidioc_try_fmt_vid_out_overlay(struct file *file, void *priv, struct v4l2_format *f); 42int vidioc_s_fmt_vid_out_overlay(struct file *file, void *priv, struct v4l2_format *f); 43int vivid_vid_out_overlay(struct file *file, void *fh, unsigned i); 44int vivid_vid_out_g_fbuf(struct file *file, void *fh, struct v4l2_framebuffer *a); 45int vivid_vid_out_s_fbuf(struct file *file, void *fh, const struct v4l2_framebuffer *a); 46int vidioc_enum_output(struct file *file, void *priv, struct v4l2_output *out); 47int vidioc_g_output(struct file *file, void *priv, unsigned *i); 48int vidioc_s_output(struct file *file, void *priv, unsigned i); 49int vidioc_enumaudout(struct file *file, void *fh, struct v4l2_audioout *vout); 50int vidioc_g_audout(struct file *file, void *fh, struct v4l2_audioout *vout); 51int vidioc_s_audout(struct file *file, void *fh, const struct v4l2_audioout *vout); 52int vivid_vid_out_s_std(struct file *file, void *priv, v4l2_std_id id); 53int vivid_vid_out_s_dv_timings(struct file *file, void *_fh, struct v4l2_dv_timings *timings); 54int vivid_vid_out_g_parm(struct file *file, void *priv, struct v4l2_streamparm *parm); 55 56#endif 57