1dacca5f0SHans Verkuil /* SPDX-License-Identifier: GPL-2.0-only */ 2dacca5f0SHans Verkuil /* 3dacca5f0SHans Verkuil * vivid-meta-cap.h - meta capture support functions. 4dacca5f0SHans Verkuil */ 5dacca5f0SHans Verkuil #ifndef _VIVID_META_CAP_H_ 6dacca5f0SHans Verkuil #define _VIVID_META_CAP_H_ 7dacca5f0SHans Verkuil 8dacca5f0SHans Verkuil #define VIVID_META_CLOCK_UNIT 10 /* 100 MHz */ 9dacca5f0SHans Verkuil 10dacca5f0SHans Verkuil struct vivid_uvc_meta_buf { 11dacca5f0SHans Verkuil __u64 ns; 12dacca5f0SHans Verkuil __u16 sof; 13dacca5f0SHans Verkuil __u8 length; 14dacca5f0SHans Verkuil __u8 flags; 15dacca5f0SHans Verkuil __u8 buf[10]; /* PTS(4)+STC(4)+SOF(2) */ 16dacca5f0SHans Verkuil } __packed; 17dacca5f0SHans Verkuil 18dacca5f0SHans Verkuil void vivid_meta_cap_fillbuff(struct vivid_dev *dev, 19dacca5f0SHans Verkuil struct vivid_buffer *buf, u64 soe); 20dacca5f0SHans Verkuil 21dacca5f0SHans Verkuil int vidioc_enum_fmt_meta_cap(struct file *file, void *priv, 22dacca5f0SHans Verkuil struct v4l2_fmtdesc *f); 23dacca5f0SHans Verkuil 24dacca5f0SHans Verkuil int vidioc_g_fmt_meta_cap(struct file *file, void *priv, 25dacca5f0SHans Verkuil struct v4l2_format *f); 26dacca5f0SHans Verkuil 27dacca5f0SHans Verkuil extern const struct vb2_ops vivid_meta_cap_qops; 28dacca5f0SHans Verkuil 29dacca5f0SHans Verkuil #endif 30