#include <media/v4l2-mem2mem.h>
#include <media/videobuf2-dma-contig.h>
#include "vdec_helpers.h"
#include "dos_regs.h"
#include "codec_h264.h"
#define SIZE_EXT_FW …
#define SIZE_WORKSPACE …
#define SIZE_SEI …
#define WORKSPACE_BUF_OFFSET …
#define CMD_MASK …
#define CMD_SRC_CHANGE …
#define CMD_FRAMES_READY …
#define CMD_FATAL_ERROR …
#define CMD_BAD_WIDTH …
#define CMD_BAD_HEIGHT …
#define SEI_DATA_READY …
#define PIC_TOP_BOT …
#define PIC_BOT_TOP …
#define MB_MV_SIZE …
#define PIC_STRUCT_BIT …
#define PIC_STRUCT_MASK …
#define BUF_IDX_MASK …
#define ERROR_FLAG …
#define OFFSET_BIT …
#define OFFSET_MASK …
#define MB_TOTAL_BIT …
#define MB_TOTAL_MASK …
#define MB_WIDTH_MASK …
#define MAX_REF_BIT …
#define MAX_REF_MASK …
#define AR_IDC_BIT …
#define AR_IDC_MASK …
#define AR_PRESENT_FLAG …
#define AR_EXTEND …
static const u8 eos_sequence[SZ_4K] = …;
static const u8 *codec_h264_eos_sequence(u32 *len)
{ … }
struct codec_h264 { … };
static int codec_h264_can_recycle(struct amvdec_core *core)
{ … }
static void codec_h264_recycle(struct amvdec_core *core, u32 buf_idx)
{ … }
static int codec_h264_start(struct amvdec_session *sess)
{ … }
static int codec_h264_stop(struct amvdec_session *sess)
{ … }
static int codec_h264_load_extended_firmware(struct amvdec_session *sess,
const u8 *data, u32 len)
{ … }
static const struct v4l2_fract par_table[] = …;
static void codec_h264_set_par(struct amvdec_session *sess)
{ … }
static void codec_h264_resume(struct amvdec_session *sess)
{ … }
static void codec_h264_src_change(struct amvdec_session *sess)
{ … }
static u32 get_offset_msb(struct amvdec_core *core, int frame_num)
{ … }
static void codec_h264_frames_ready(struct amvdec_session *sess, u32 status)
{ … }
static irqreturn_t codec_h264_threaded_isr(struct amvdec_session *sess)
{ … }
static irqreturn_t codec_h264_isr(struct amvdec_session *sess)
{ … }
struct amvdec_codec_ops codec_h264_ops = …;