162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * vivid-meta-cap.h - meta capture support functions. 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci#ifndef _VIVID_META_CAP_H_ 662306a36Sopenharmony_ci#define _VIVID_META_CAP_H_ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#define VIVID_META_CLOCK_UNIT 10 /* 100 MHz */ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_cistruct vivid_uvc_meta_buf { 1162306a36Sopenharmony_ci __u64 ns; 1262306a36Sopenharmony_ci __u16 sof; 1362306a36Sopenharmony_ci __u8 length; 1462306a36Sopenharmony_ci __u8 flags; 1562306a36Sopenharmony_ci __u8 buf[10]; /* PTS(4)+STC(4)+SOF(2) */ 1662306a36Sopenharmony_ci} __packed; 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_civoid vivid_meta_cap_fillbuff(struct vivid_dev *dev, 1962306a36Sopenharmony_ci struct vivid_buffer *buf, u64 soe); 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ciint vidioc_enum_fmt_meta_cap(struct file *file, void *priv, 2262306a36Sopenharmony_ci struct v4l2_fmtdesc *f); 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ciint vidioc_g_fmt_meta_cap(struct file *file, void *priv, 2562306a36Sopenharmony_ci struct v4l2_format *f); 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ciextern const struct vb2_ops vivid_meta_cap_qops; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci#endif 30