#include <linux/debugfs.h>
#include <linux/font.h>
#include <media/v4l2-event.h>
#include <media/v4l2-ioctl.h>
#include <media/videobuf2-vmalloc.h>
#include <media/videobuf2-v4l2.h>
#include "visl-video.h"
#include "visl.h"
#include "visl-debugfs.h"
#define MIN_CODED_SZ …
static void visl_set_current_codec(struct visl_ctx *ctx)
{ … }
static void visl_print_fmt(struct visl_ctx *ctx, const struct v4l2_format *f)
{ … }
static int visl_tpg_init(struct visl_ctx *ctx)
{ … }
static const u32 visl_decoded_fmts[] = …;
const struct visl_coded_format_desc visl_coded_fmts[] = …;
const size_t num_coded_fmts = …;
static const struct visl_coded_format_desc*
visl_find_coded_fmt_desc(u32 fourcc)
{ … }
static void visl_init_fmt(struct v4l2_format *f, u32 fourcc)
{ … }
static void visl_reset_coded_fmt(struct visl_ctx *ctx)
{ … }
static int visl_reset_decoded_fmt(struct visl_ctx *ctx)
{ … }
int visl_set_default_format(struct visl_ctx *ctx)
{ … }
static struct visl_q_data *get_q_data(struct visl_ctx *ctx,
enum v4l2_buf_type type)
{ … }
static int visl_querycap(struct file *file, void *priv,
struct v4l2_capability *cap)
{ … }
static int visl_enum_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_fmtdesc *f)
{ … }
static int visl_enum_fmt_vid_out(struct file *file, void *priv,
struct v4l2_fmtdesc *f)
{ … }
static int visl_g_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
static int visl_g_fmt_vid_out(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
static int visl_try_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
static int visl_try_fmt_vid_out(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
static int visl_s_fmt_vid_out(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
static int visl_s_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_format *f)
{ … }
static int visl_enum_framesizes(struct file *file, void *priv,
struct v4l2_frmsizeenum *fsize)
{ … }
const struct v4l2_ioctl_ops visl_ioctl_ops = …;
static int visl_queue_setup(struct vb2_queue *vq,
unsigned int *nbuffers,
unsigned int *num_planes,
unsigned int sizes[],
struct device *alloc_devs[])
{ … }
static void visl_queue_cleanup(struct vb2_queue *vq, u32 state)
{ … }
static int visl_buf_out_validate(struct vb2_buffer *vb)
{ … }
static int visl_buf_prepare(struct vb2_buffer *vb)
{ … }
static int visl_start_streaming(struct vb2_queue *vq, unsigned int count)
{ … }
static void visl_stop_streaming(struct vb2_queue *vq)
{ … }
static void visl_buf_queue(struct vb2_buffer *vb)
{ … }
static void visl_buf_request_complete(struct vb2_buffer *vb)
{ … }
static const struct vb2_ops visl_qops = …;
int visl_queue_init(void *priv, struct vb2_queue *src_vq,
struct vb2_queue *dst_vq)
{ … }
int visl_request_validate(struct media_request *req)
{ … }