vivid-vid-cap.h 4.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*
  2. * vivid-vid-cap.h - video capture 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. #ifndef _VIVID_VID_CAP_H_
  20. #define _VIVID_VID_CAP_H_
  21. void vivid_update_quality(struct vivid_dev *dev);
  22. void vivid_update_format_cap(struct vivid_dev *dev, bool keep_controls);
  23. enum tpg_video_aspect vivid_get_video_aspect(const struct vivid_dev *dev);
  24. extern const v4l2_std_id vivid_standard[];
  25. extern const char * const vivid_ctrl_standard_strings[];
  26. extern const struct vb2_ops vivid_vid_cap_qops;
  27. int vivid_g_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f);
  28. int vivid_try_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f);
  29. int vivid_s_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f);
  30. int vidioc_g_fmt_vid_cap_mplane(struct file *file, void *priv, struct v4l2_format *f);
  31. int vidioc_try_fmt_vid_cap_mplane(struct file *file, void *priv, struct v4l2_format *f);
  32. int vidioc_s_fmt_vid_cap_mplane(struct file *file, void *priv, struct v4l2_format *f);
  33. int vidioc_g_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f);
  34. int vidioc_try_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f);
  35. int vidioc_s_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f);
  36. int vivid_vid_cap_g_selection(struct file *file, void *priv, struct v4l2_selection *sel);
  37. int vivid_vid_cap_s_selection(struct file *file, void *fh, struct v4l2_selection *s);
  38. int vivid_vid_cap_cropcap(struct file *file, void *priv, struct v4l2_cropcap *cap);
  39. int vidioc_enum_fmt_vid_overlay(struct file *file, void *priv, struct v4l2_fmtdesc *f);
  40. int vidioc_g_fmt_vid_overlay(struct file *file, void *priv, struct v4l2_format *f);
  41. int vidioc_try_fmt_vid_overlay(struct file *file, void *priv, struct v4l2_format *f);
  42. int vidioc_s_fmt_vid_overlay(struct file *file, void *priv, struct v4l2_format *f);
  43. int vivid_vid_cap_overlay(struct file *file, void *fh, unsigned i);
  44. int vivid_vid_cap_g_fbuf(struct file *file, void *fh, struct v4l2_framebuffer *a);
  45. int vivid_vid_cap_s_fbuf(struct file *file, void *fh, const struct v4l2_framebuffer *a);
  46. int vidioc_enum_input(struct file *file, void *priv, struct v4l2_input *inp);
  47. int vidioc_g_input(struct file *file, void *priv, unsigned *i);
  48. int vidioc_s_input(struct file *file, void *priv, unsigned i);
  49. int vidioc_enumaudio(struct file *file, void *fh, struct v4l2_audio *vin);
  50. int vidioc_g_audio(struct file *file, void *fh, struct v4l2_audio *vin);
  51. int vidioc_s_audio(struct file *file, void *fh, const struct v4l2_audio *vin);
  52. int vivid_video_g_frequency(struct file *file, void *fh, struct v4l2_frequency *vf);
  53. int vivid_video_s_frequency(struct file *file, void *fh, const struct v4l2_frequency *vf);
  54. int vivid_video_s_tuner(struct file *file, void *fh, const struct v4l2_tuner *vt);
  55. int vivid_video_g_tuner(struct file *file, void *fh, struct v4l2_tuner *vt);
  56. int vidioc_querystd(struct file *file, void *priv, v4l2_std_id *id);
  57. int vivid_vid_cap_s_std(struct file *file, void *priv, v4l2_std_id id);
  58. int vivid_vid_cap_s_dv_timings(struct file *file, void *_fh, struct v4l2_dv_timings *timings);
  59. int vidioc_query_dv_timings(struct file *file, void *_fh, struct v4l2_dv_timings *timings);
  60. int vidioc_s_edid(struct file *file, void *_fh, struct v4l2_edid *edid);
  61. int vidioc_enum_framesizes(struct file *file, void *fh, struct v4l2_frmsizeenum *fsize);
  62. int vidioc_enum_frameintervals(struct file *file, void *priv, struct v4l2_frmivalenum *fival);
  63. int vivid_vid_cap_g_parm(struct file *file, void *priv, struct v4l2_streamparm *parm);
  64. int vivid_vid_cap_s_parm(struct file *file, void *priv, struct v4l2_streamparm *parm);
  65. #endif