msm_vidc_v4l2.h 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
  4. * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
  5. */
  6. #ifndef _MSM_VIDC_V4L2_H_
  7. #define _MSM_VIDC_V4L2_H_
  8. #include <linux/poll.h>
  9. #include <linux/fs.h>
  10. #include <media/v4l2-dev.h>
  11. #include <media/v4l2-ioctl.h>
  12. #include <media/v4l2-ctrls.h>
  13. int msm_v4l2_open(struct file *filp);
  14. int msm_v4l2_close(struct file *filp);
  15. int msm_v4l2_querycap(struct file *filp, void *fh,
  16. struct v4l2_capability *cap);
  17. int msm_v4l2_enum_fmt(struct file *file, void *fh,
  18. struct v4l2_fmtdesc *f);
  19. int msm_v4l2_try_fmt(struct file *file, void *fh,
  20. struct v4l2_format *f);
  21. int msm_v4l2_s_fmt(struct file *file, void *fh,
  22. struct v4l2_format *f);
  23. int msm_v4l2_g_fmt(struct file *file, void *fh,
  24. struct v4l2_format *f);
  25. int msm_v4l2_s_selection(struct file *file, void *fh,
  26. struct v4l2_selection *s);
  27. int msm_v4l2_g_selection(struct file *file, void *fh,
  28. struct v4l2_selection *s);
  29. int msm_v4l2_s_parm(struct file *file, void *fh,
  30. struct v4l2_streamparm *a);
  31. int msm_v4l2_g_parm(struct file *file, void *fh,
  32. struct v4l2_streamparm *a);
  33. int msm_v4l2_reqbufs(struct file *file, void *fh,
  34. struct v4l2_requestbuffers *b);
  35. int msm_v4l2_querybuf(struct file *file, void *fh,
  36. struct v4l2_buffer *b);
  37. int msm_v4l2_create_bufs(struct file *filp, void *fh,
  38. struct v4l2_create_buffers *b);
  39. int msm_v4l2_prepare_buf(struct file *filp, void *fh,
  40. struct v4l2_buffer *b);
  41. int msm_v4l2_qbuf(struct file *file, void *fh,
  42. struct v4l2_buffer *b);
  43. int msm_v4l2_dqbuf(struct file *file, void *fh,
  44. struct v4l2_buffer *b);
  45. int msm_v4l2_streamon(struct file *file, void *fh,
  46. enum v4l2_buf_type i);
  47. int msm_v4l2_streamoff(struct file *file, void *fh,
  48. enum v4l2_buf_type i);
  49. int msm_v4l2_subscribe_event(struct v4l2_fh *fh,
  50. const struct v4l2_event_subscription *sub);
  51. int msm_v4l2_unsubscribe_event(struct v4l2_fh *fh,
  52. const struct v4l2_event_subscription *sub);
  53. int msm_v4l2_try_decoder_cmd(struct file *file, void *fh,
  54. struct v4l2_decoder_cmd *enc);
  55. int msm_v4l2_decoder_cmd(struct file *file, void *fh,
  56. struct v4l2_decoder_cmd *dec);
  57. int msm_v4l2_try_encoder_cmd(struct file *file, void *fh,
  58. struct v4l2_encoder_cmd *enc);
  59. int msm_v4l2_encoder_cmd(struct file *file, void *fh,
  60. struct v4l2_encoder_cmd *enc);
  61. int msm_v4l2_enum_framesizes(struct file *file, void *fh,
  62. struct v4l2_frmsizeenum *fsize);
  63. int msm_v4l2_enum_frameintervals(struct file *file, void *fh,
  64. struct v4l2_frmivalenum *fival);
  65. int msm_v4l2_queryctrl(struct file *file, void *fh,
  66. struct v4l2_queryctrl *ctrl);
  67. int msm_v4l2_querymenu(struct file *file, void *fh,
  68. struct v4l2_querymenu *qmenu);
  69. unsigned int msm_v4l2_poll(struct file *filp,
  70. struct poll_table_struct *pt);
  71. int msm_v4l2_request_validate(struct media_request *req);
  72. void msm_v4l2_request_queue(struct media_request *req);
  73. void msm_v4l2_m2m_device_run(void *priv);
  74. void msm_v4l2_m2m_job_abort(void *priv);
  75. #endif // _MSM_VIDC_V4L2_H_