linux/drivers/media/pci/saa7164/saa7164-encoder.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *  Driver for the NXP SAA7164 PCIe bridge
 *
 *  Copyright (c) 2010-2015 Steven Toth <[email protected]>
 */

#include "saa7164.h"

#define ENCODER_MAX_BITRATE
#define ENCODER_MIN_BITRATE
#define ENCODER_DEF_BITRATE

/*
 * This is a dummy non-zero value for the sizeimage field of v4l2_pix_format.
 * It is not actually used for anything since this driver does not support
 * stream I/O, only read(), and because this driver produces an MPEG stream
 * and not discrete frames. But the V4L2 spec doesn't allow for this value
 * to be 0, so set it to 0x10000 instead.
 *
 * If we ever change this driver to support stream I/O, then this field
 * will be the size of the streaming buffers.
 */
#define SAA7164_SIZEIMAGE

static struct saa7164_tvnorm saa7164_tvnorms[] =;

/* Take the encoder configuration form the port struct and
 * flush it to the hardware.
 */
static void saa7164_encoder_configure(struct saa7164_port *port)
{}

static int saa7164_encoder_buffers_dealloc(struct saa7164_port *port)
{}

/* Dynamic buffer switch at encoder start time */
static int saa7164_encoder_buffers_alloc(struct saa7164_port *port)
{}

static int saa7164_encoder_initialize(struct saa7164_port *port)
{}

/* -- V4L2 --------------------------------------------------------- */
int saa7164_s_std(struct saa7164_port *port, v4l2_std_id id)
{}

static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id id)
{}

int saa7164_g_std(struct saa7164_port *port, v4l2_std_id *id)
{}

static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *id)
{}

int saa7164_enum_input(struct file *file, void *priv, struct v4l2_input *i)
{}

int saa7164_g_input(struct saa7164_port *port, unsigned int *i)
{}

static int vidioc_g_input(struct file *file, void *priv, unsigned int *i)
{}

int saa7164_s_input(struct saa7164_port *port, unsigned int i)
{}

static int vidioc_s_input(struct file *file, void *priv, unsigned int i)
{}

int saa7164_g_tuner(struct file *file, void *priv, struct v4l2_tuner *t)
{}

int saa7164_s_tuner(struct file *file, void *priv,
			   const struct v4l2_tuner *t)
{}

int saa7164_g_frequency(struct saa7164_port *port, struct v4l2_frequency *f)
{}

static int vidioc_g_frequency(struct file *file, void *priv,
	struct v4l2_frequency *f)
{}

int saa7164_s_frequency(struct saa7164_port *port,
			const struct v4l2_frequency *f)
{}

static int vidioc_s_frequency(struct file *file, void *priv,
			      const struct v4l2_frequency *f)
{}

static int saa7164_s_ctrl(struct v4l2_ctrl *ctrl)
{}

static int vidioc_querycap(struct file *file, void  *priv,
	struct v4l2_capability *cap)
{}

static int vidioc_enum_fmt_vid_cap(struct file *file, void  *priv,
	struct v4l2_fmtdesc *f)
{}

static int vidioc_fmt_vid_cap(struct file *file, void *priv,
				struct v4l2_format *f)
{}

static int saa7164_encoder_stop_port(struct saa7164_port *port)
{}

static int saa7164_encoder_acquire_port(struct saa7164_port *port)
{}

static int saa7164_encoder_pause_port(struct saa7164_port *port)
{}

/* Firmware is very windows centric, meaning you have to transition
 * the part through AVStream / KS Windows stages, forwards or backwards.
 * States are: stopped, acquired (h/w), paused, started.
 * We have to leave here will all of the soft buffers on the free list,
 * else the cfg_post() func won't have soft buffers to correctly configure.
 */
static int saa7164_encoder_stop_streaming(struct saa7164_port *port)
{}

static int saa7164_encoder_start_streaming(struct saa7164_port *port)
{}

static int fops_open(struct file *file)
{}

static int fops_release(struct file *file)
{}

static struct
saa7164_user_buffer *saa7164_enc_next_buf(struct saa7164_port *port)
{}

static ssize_t fops_read(struct file *file, char __user *buffer,
	size_t count, loff_t *pos)
{}

static __poll_t fops_poll(struct file *file, poll_table *wait)
{}

static const struct v4l2_ctrl_ops saa7164_ctrl_ops =;

static const struct v4l2_file_operations mpeg_fops =;

static const struct v4l2_ioctl_ops mpeg_ioctl_ops =;

static struct video_device saa7164_mpeg_template =;

static struct video_device *saa7164_encoder_alloc(
	struct saa7164_port *port,
	struct pci_dev *pci,
	struct video_device *template,
	char *type)
{}

int saa7164_encoder_register(struct saa7164_port *port)
{}

void saa7164_encoder_unregister(struct saa7164_port *port)
{}