18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * vivid-meta-cap.h - meta capture support functions. 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci#ifndef _VIVID_META_CAP_H_ 68c2ecf20Sopenharmony_ci#define _VIVID_META_CAP_H_ 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#define VIVID_META_CLOCK_UNIT 10 /* 100 MHz */ 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_cistruct vivid_uvc_meta_buf { 118c2ecf20Sopenharmony_ci __u64 ns; 128c2ecf20Sopenharmony_ci __u16 sof; 138c2ecf20Sopenharmony_ci __u8 length; 148c2ecf20Sopenharmony_ci __u8 flags; 158c2ecf20Sopenharmony_ci __u8 buf[10]; /* PTS(4)+STC(4)+SOF(2) */ 168c2ecf20Sopenharmony_ci} __packed; 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_civoid vivid_meta_cap_fillbuff(struct vivid_dev *dev, 198c2ecf20Sopenharmony_ci struct vivid_buffer *buf, u64 soe); 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciint vidioc_enum_fmt_meta_cap(struct file *file, void *priv, 228c2ecf20Sopenharmony_ci struct v4l2_fmtdesc *f); 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciint vidioc_g_fmt_meta_cap(struct file *file, void *priv, 258c2ecf20Sopenharmony_ci struct v4l2_format *f); 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ciextern const struct vb2_ops vivid_meta_cap_qops; 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci#endif 30