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

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

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

#include "codec_mpeg12.h"
#include "dos_regs.h"
#include "vdec_helpers.h"

#define SIZE_WORKSPACE
/* Offset substracted by the firmware from the workspace paddr */
#define WORKSPACE_OFFSET

/* map firmware registers to known MPEG1/2 functions */
#define MREG_SEQ_INFO
	#define MPEG2_SEQ_DAR_MASK
	#define MPEG2_DAR_4_3
	#define MPEG2_DAR_16_9
	#define MPEG2_DAR_221_100
#define MREG_PIC_INFO
#define MREG_PIC_WIDTH
#define MREG_PIC_HEIGHT
#define MREG_BUFFERIN
#define MREG_BUFFEROUT
#define MREG_CMD
#define MREG_CO_MV_START
#define MREG_ERROR_COUNT
#define MREG_FRAME_OFFSET
#define MREG_WAIT_BUFFER
#define MREG_FATAL_ERROR

#define PICINFO_PROG
#define PICINFO_TOP_FIRST

struct codec_mpeg12 {};

static const u8 eos_sequence[SZ_1K] =;

static const u8 *codec_mpeg12_eos_sequence(u32 *len)
{}

static int codec_mpeg12_can_recycle(struct amvdec_core *core)
{}

static void codec_mpeg12_recycle(struct amvdec_core *core, u32 buf_idx)
{}

static int codec_mpeg12_start(struct amvdec_session *sess)
{}

static int codec_mpeg12_stop(struct amvdec_session *sess)
{}

static void codec_mpeg12_update_dar(struct amvdec_session *sess)
{}

static irqreturn_t codec_mpeg12_threaded_isr(struct amvdec_session *sess)
{}

static irqreturn_t codec_mpeg12_isr(struct amvdec_session *sess)
{}

struct amvdec_codec_ops codec_mpeg12_ops =;