linux/drivers/staging/media/meson/vdec/vdec_helpers.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * Copyright (C) 2018 BayLibre, SAS
 * Author: Maxime Jourdan <[email protected]>
 */

#include <linux/gcd.h>
#include <media/v4l2-mem2mem.h>
#include <media/v4l2-event.h>
#include <media/videobuf2-dma-contig.h>

#include "vdec_helpers.h"

#define NUM_CANVAS_NV12
#define NUM_CANVAS_YUV420

u32 amvdec_read_dos(struct amvdec_core *core, u32 reg)
{}
EXPORT_SYMBOL_GPL();

void amvdec_write_dos(struct amvdec_core *core, u32 reg, u32 val)
{}
EXPORT_SYMBOL_GPL();

void amvdec_write_dos_bits(struct amvdec_core *core, u32 reg, u32 val)
{}
EXPORT_SYMBOL_GPL();

void amvdec_clear_dos_bits(struct amvdec_core *core, u32 reg, u32 val)
{}
EXPORT_SYMBOL_GPL();

u32 amvdec_read_parser(struct amvdec_core *core, u32 reg)
{}
EXPORT_SYMBOL_GPL();

void amvdec_write_parser(struct amvdec_core *core, u32 reg, u32 val)
{}
EXPORT_SYMBOL_GPL();

/* 4 KiB per 64x32 block */
u32 amvdec_am21c_body_size(u32 width, u32 height)
{}
EXPORT_SYMBOL_GPL();

/* 32 bytes per 128x64 block */
u32 amvdec_am21c_head_size(u32 width, u32 height)
{}
EXPORT_SYMBOL_GPL();

u32 amvdec_am21c_size(u32 width, u32 height)
{}
EXPORT_SYMBOL_GPL();

static int canvas_alloc(struct amvdec_session *sess, u8 *canvas_id)
{}

static int set_canvas_yuv420m(struct amvdec_session *sess,
			      struct vb2_buffer *vb, u32 width,
			      u32 height, u32 reg)
{}

static int set_canvas_nv12m(struct amvdec_session *sess,
			    struct vb2_buffer *vb, u32 width,
			    u32 height, u32 reg)
{}

int amvdec_set_canvases(struct amvdec_session *sess,
			u32 reg_base[], u32 reg_num[])
{}
EXPORT_SYMBOL_GPL();

int amvdec_add_ts(struct amvdec_session *sess, u64 ts,
		  struct v4l2_timecode tc, u32 offset, u32 vbuf_flags)
{}
EXPORT_SYMBOL_GPL();

void amvdec_remove_ts(struct amvdec_session *sess, u64 ts)
{}
EXPORT_SYMBOL_GPL();

static void dst_buf_done(struct amvdec_session *sess,
			 struct vb2_v4l2_buffer *vbuf,
			 u32 field, u64 timestamp,
			 struct v4l2_timecode timecode, u32 flags)
{}

void amvdec_dst_buf_done(struct amvdec_session *sess,
			 struct vb2_v4l2_buffer *vbuf, u32 field)
{}
EXPORT_SYMBOL_GPL();

void amvdec_dst_buf_done_offset(struct amvdec_session *sess,
				struct vb2_v4l2_buffer *vbuf,
				u32 offset, u32 field, bool allow_drop)
{}
EXPORT_SYMBOL_GPL();

void amvdec_dst_buf_done_idx(struct amvdec_session *sess,
			     u32 buf_idx, u32 offset, u32 field)
{}
EXPORT_SYMBOL_GPL();

void amvdec_set_par_from_dar(struct amvdec_session *sess,
			     u32 dar_num, u32 dar_den)
{}
EXPORT_SYMBOL_GPL();

void amvdec_src_change(struct amvdec_session *sess, u32 width,
		       u32 height, u32 dpb_size)
{}
EXPORT_SYMBOL_GPL();

void amvdec_abort(struct amvdec_session *sess)
{}
EXPORT_SYMBOL_GPL();