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 23 extern const struct vb2_ops vivid_vid_out_qops; 24 25 void vivid_update_format_out(struct vivid_dev *dev); 26 27 int vivid_g_fmt_vid_out(struct file *file, void *priv, struct v4l2_format *f); 28 int vivid_try_fmt_vid_out(struct file *file, void *priv, struct v4l2_format *f); 29 int vivid_s_fmt_vid_out(struct file *file, void *priv, struct v4l2_format *f); 30 int vidioc_g_fmt_vid_out_mplane(struct file *file, void *priv, struct v4l2_format *f); 31 int vidioc_try_fmt_vid_out_mplane(struct file *file, void *priv, struct v4l2_format *f); 32 int vidioc_s_fmt_vid_out_mplane(struct file *file, void *priv, struct v4l2_format *f); 33 int vidioc_g_fmt_vid_out(struct file *file, void *priv, struct v4l2_format *f); 34 int vidioc_try_fmt_vid_out(struct file *file, void *priv, struct v4l2_format *f); 35 int vidioc_s_fmt_vid_out(struct file *file, void *priv, struct v4l2_format *f); 36 int vivid_vid_out_g_selection(struct file *file, void *priv, struct v4l2_selection *sel); 37 int vivid_vid_out_s_selection(struct file *file, void *fh, struct v4l2_selection *s); 38 int vivid_vid_out_cropcap(struct file *file, void *fh, struct v4l2_cropcap *cap); 39 int vidioc_enum_fmt_vid_out_overlay(struct file *file, void *priv, struct v4l2_fmtdesc *f); 40 int vidioc_g_fmt_vid_out_overlay(struct file *file, void *priv, struct v4l2_format *f); 41 int vidioc_try_fmt_vid_out_overlay(struct file *file, void *priv, struct v4l2_format *f); 42 int vidioc_s_fmt_vid_out_overlay(struct file *file, void *priv, struct v4l2_format *f); 43 int vivid_vid_out_overlay(struct file *file, void *fh, unsigned i); 44 int vivid_vid_out_g_fbuf(struct file *file, void *fh, struct v4l2_framebuffer *a); 45 int vivid_vid_out_s_fbuf(struct file *file, void *fh, const struct v4l2_framebuffer *a); 46 int vidioc_enum_output(struct file *file, void *priv, struct v4l2_output *out); 47 int vidioc_g_output(struct file *file, void *priv, unsigned *i); 48 int vidioc_s_output(struct file *file, void *priv, unsigned i); 49 int vidioc_enumaudout(struct file *file, void *fh, struct v4l2_audioout *vout); 50 int vidioc_g_audout(struct file *file, void *fh, struct v4l2_audioout *vout); 51 int vidioc_s_audout(struct file *file, void *fh, const struct v4l2_audioout *vout); 52 int vivid_vid_out_s_std(struct file *file, void *priv, v4l2_std_id id); 53 int vivid_vid_out_s_dv_timings(struct file *file, void *_fh, struct v4l2_dv_timings *timings); 54 int vivid_vid_out_g_parm(struct file *file, void *priv, struct v4l2_streamparm *parm); 55 56 #endif 57