#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/videodev2.h>
#include <media/v4l2-common.h>
#include "vivid-core.h"
#include "vivid-kthread-out.h"
#include "vivid-vbi-out.h"
#include "vivid-vbi-cap.h"
static int vbi_out_queue_setup(struct vb2_queue *vq,
unsigned *nbuffers, unsigned *nplanes,
unsigned sizes[], struct device *alloc_devs[])
{ … }
static int vbi_out_buf_prepare(struct vb2_buffer *vb)
{ … }
static void vbi_out_buf_queue(struct vb2_buffer *vb)
{ … }
static int vbi_out_start_streaming(struct vb2_queue *vq, unsigned count)
{ … }
static void vbi_out_stop_streaming(struct vb2_queue *vq)
{ … }
static void vbi_out_buf_request_complete(struct vb2_buffer *vb)
{ … }
const struct vb2_ops vivid_vbi_out_qops = …;
int vidioc_g_fmt_vbi_out(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
int vidioc_s_fmt_vbi_out(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
int vidioc_g_fmt_sliced_vbi_out(struct file *file, void *fh, struct v4l2_format *fmt)
{ … }
int vidioc_try_fmt_sliced_vbi_out(struct file *file, void *fh, struct v4l2_format *fmt)
{ … }
int vidioc_s_fmt_sliced_vbi_out(struct file *file, void *fh,
struct v4l2_format *fmt)
{ … }
void vivid_sliced_vbi_out_process(struct vivid_dev *dev,
struct vivid_buffer *buf)
{ … }