rkvdec_ctx
int rkvdec_h264_adjust_fmt(struct rkvdec_ctx *ctx,
enum rkvdec_image_fmt rkvdec_h264_get_image_fmt(struct rkvdec_ctx *ctx,
int rkvdec_h264_validate_sps(struct rkvdec_ctx *ctx,
void rkvdec_h264_run_preamble(struct rkvdec_ctx *ctx,
void lookup_ref_buf_idx(struct rkvdec_ctx *ctx,
void lookup_ref_buf_idx(struct rkvdec_ctx *ctx, struct rkvdec_h264_run *run);
int rkvdec_h264_adjust_fmt(struct rkvdec_ctx *ctx, struct v4l2_format *f);
enum rkvdec_image_fmt rkvdec_h264_get_image_fmt(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl);
int rkvdec_h264_validate_sps(struct rkvdec_ctx *ctx, const struct v4l2_ctrl_h264_sps *sps);
void rkvdec_h264_run_preamble(struct rkvdec_ctx *ctx, struct rkvdec_h264_run *run);
static void assemble_hw_pps(struct rkvdec_ctx *ctx,
static void config_registers(struct rkvdec_ctx *ctx,
static int rkvdec_h264_start(struct rkvdec_ctx *ctx)
static void rkvdec_h264_stop(struct rkvdec_ctx *ctx)
static int rkvdec_h264_run(struct rkvdec_ctx *ctx)
static int rkvdec_h264_try_ctrl(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl)
static void assemble_scalingfactor0(struct rkvdec_ctx *ctx, u8 *output,
static void translate_scaling_list(struct rkvdec_ctx *ctx, struct scaling_factor *output,
void rkvdec_hevc_assemble_hw_scaling_list(struct rkvdec_ctx *ctx,
get_ref_buf(struct rkvdec_ctx *ctx, struct rkvdec_hevc_run *run,
int rkvdec_hevc_adjust_fmt(struct rkvdec_ctx *ctx, struct v4l2_format *f)
enum rkvdec_image_fmt rkvdec_hevc_get_image_fmt(struct rkvdec_ctx *ctx,
void rkvdec_hevc_run_preamble(struct rkvdec_ctx *ctx,
struct vb2_buffer *get_ref_buf(struct rkvdec_ctx *ctx,
int rkvdec_hevc_adjust_fmt(struct rkvdec_ctx *ctx, struct v4l2_format *f);
enum rkvdec_image_fmt rkvdec_hevc_get_image_fmt(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl);
void rkvdec_hevc_run_preamble(struct rkvdec_ctx *ctx, struct rkvdec_hevc_run *run);
void rkvdec_hevc_assemble_hw_scaling_list(struct rkvdec_ctx *ctx,
static void assemble_hw_pps(struct rkvdec_ctx *ctx,
static void assemble_sw_rps(struct rkvdec_ctx *ctx,
static void config_registers(struct rkvdec_ctx *ctx,
static int rkvdec_hevc_validate_sps(struct rkvdec_ctx *ctx,
static int rkvdec_hevc_start(struct rkvdec_ctx *ctx)
static void rkvdec_hevc_stop(struct rkvdec_ctx *ctx)
static int rkvdec_hevc_run(struct rkvdec_ctx *ctx)
static int rkvdec_hevc_try_ctrl(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl)
dma_addr_t rkvdec_rcb_buf_dma_addr(struct rkvdec_ctx *ctx, int id)
size_t rkvdec_rcb_buf_size(struct rkvdec_ctx *ctx, int id)
int rkvdec_rcb_buf_count(struct rkvdec_ctx *ctx)
void rkvdec_free_rcb(struct rkvdec_ctx *ctx)
int rkvdec_allocate_rcb(struct rkvdec_ctx *ctx,
struct rkvdec_ctx;
int rkvdec_allocate_rcb(struct rkvdec_ctx *ctx,
dma_addr_t rkvdec_rcb_buf_dma_addr(struct rkvdec_ctx *ctx, int id);
size_t rkvdec_rcb_buf_size(struct rkvdec_ctx *ctx, int id);
int rkvdec_rcb_buf_count(struct rkvdec_ctx *ctx);
void rkvdec_free_rcb(struct rkvdec_ctx *ctx);
static void rkvdec_write_regs(struct rkvdec_ctx *ctx)
static void config_registers(struct rkvdec_ctx *ctx,
static int rkvdec_h264_start(struct rkvdec_ctx *ctx)
static void rkvdec_h264_stop(struct rkvdec_ctx *ctx)
static int rkvdec_h264_run(struct rkvdec_ctx *ctx)
static int rkvdec_h264_try_ctrl(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl)
static void assemble_hw_pps(struct rkvdec_ctx *ctx,
static void assemble_hw_pps(struct rkvdec_ctx *ctx,
static void rkvdec_write_regs(struct rkvdec_ctx *ctx)
static void config_registers(struct rkvdec_ctx *ctx,
static int rkvdec_hevc_validate_sps(struct rkvdec_ctx *ctx,
static int rkvdec_hevc_start(struct rkvdec_ctx *ctx)
static void rkvdec_hevc_stop(struct rkvdec_ctx *ctx)
static int rkvdec_hevc_run(struct rkvdec_ctx *ctx)
static int rkvdec_hevc_try_ctrl(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl)
static void assemble_hw_pps(struct rkvdec_ctx *ctx,
static void rkvdec_write_regs(struct rkvdec_ctx *ctx)
static void config_registers(struct rkvdec_ctx *ctx,
static int rkvdec_h264_start(struct rkvdec_ctx *ctx)
static void rkvdec_h264_stop(struct rkvdec_ctx *ctx)
static int rkvdec_h264_run(struct rkvdec_ctx *ctx)
static int rkvdec_h264_try_ctrl(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl)
static void assemble_hw_pps(struct rkvdec_ctx *ctx,
static void rkvdec_write_regs(struct rkvdec_ctx *ctx)
static void config_registers(struct rkvdec_ctx *ctx,
static int rkvdec_hevc_validate_sps(struct rkvdec_ctx *ctx,
static int rkvdec_hevc_start(struct rkvdec_ctx *ctx)
static void rkvdec_hevc_stop(struct rkvdec_ctx *ctx)
static int rkvdec_hevc_run(struct rkvdec_ctx *ctx)
static int rkvdec_hevc_try_ctrl(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl)
static void rkvdec_vp9_stop(struct rkvdec_ctx *ctx)
static int rkvdec_vp9_adjust_fmt(struct rkvdec_ctx *ctx,
static void init_intra_only_probs(struct rkvdec_ctx *ctx,
static void init_inter_probs(struct rkvdec_ctx *ctx,
static void init_probs(struct rkvdec_ctx *ctx,
get_ref_buf(struct rkvdec_ctx *ctx, struct vb2_v4l2_buffer *dst, u64 timestamp)
static void config_ref_registers(struct rkvdec_ctx *ctx,
static void config_seg_registers(struct rkvdec_ctx *ctx, unsigned int segid)
static void config_registers(struct rkvdec_ctx *ctx,
static int validate_dec_params(struct rkvdec_ctx *ctx,
static int rkvdec_vp9_run_preamble(struct rkvdec_ctx *ctx,
static int rkvdec_vp9_run(struct rkvdec_ctx *ctx)
static void rkvdec_vp9_done(struct rkvdec_ctx *ctx,
rkvdec_init_v4l2_vp9_count_tbl(struct rkvdec_ctx *ctx)
static int rkvdec_vp9_start(struct rkvdec_ctx *ctx)
static void rkvdec_fill_decoded_pixfmt(struct rkvdec_ctx *ctx,
struct rkvdec_ctx *ctx = vb2_get_drv_priv(vq);
struct rkvdec_ctx *ctx = vb2_get_drv_priv(q);
static void rkvdec_job_finish_no_pm(struct rkvdec_ctx *ctx,
static void rkvdec_job_finish(struct rkvdec_ctx *ctx,
void rkvdec_run_preamble(struct rkvdec_ctx *ctx, struct rkvdec_run *run)
void rkvdec_run_postamble(struct rkvdec_ctx *ctx, struct rkvdec_run *run)
void rkvdec_quirks_disable_qos(struct rkvdec_ctx *ctx)
static void rkvdec_reset_fmt(struct rkvdec_ctx *ctx, struct v4l2_format *f,
struct rkvdec_ctx *ctx = priv;
struct rkvdec_ctx *ctx = priv;
static int rkvdec_add_ctrls(struct rkvdec_ctx *ctx,
static void rkvdec_reset_decoded_fmt(struct rkvdec_ctx *ctx)
static int rkvdec_init_ctrls(struct rkvdec_ctx *ctx)
struct rkvdec_ctx *ctx;
struct rkvdec_ctx *ctx = file_to_rkvdec_ctx(filp);
struct rkvdec_ctx *ctx = container_of(ctrl->handler, struct rkvdec_ctx, ctrl_hdl);
static irqreturn_t rk3399_irq_handler(struct rkvdec_ctx *ctx)
static irqreturn_t vdpu381_irq_handler(struct rkvdec_ctx *ctx)
static irqreturn_t vdpu383_irq_handler(struct rkvdec_ctx *ctx)
struct rkvdec_ctx *ctx = container_of(ctrl->handler, struct rkvdec_ctx, ctrl_hdl);
struct rkvdec_ctx *ctx = v4l2_m2m_get_curr_priv(rkvdec->m2m_dev);
struct rkvdec_ctx *ctx;
static bool rkvdec_image_fmt_changed(struct rkvdec_ctx *ctx,
static u32 rkvdec_enum_decoded_fmt(struct rkvdec_ctx *ctx, int index,
rkvdec_enum_coded_fmt_desc(struct rkvdec_ctx *ctx, int index)
rkvdec_find_coded_fmt_desc(struct rkvdec_ctx *ctx, u32 fourcc)
static void rkvdec_reset_coded_fmt(struct rkvdec_ctx *ctx)
struct rkvdec_ctx *ctx = file_to_rkvdec_ctx(file);
struct rkvdec_ctx *ctx = file_to_rkvdec_ctx(file);
struct rkvdec_ctx *ctx = file_to_rkvdec_ctx(file);
struct rkvdec_ctx *ctx = file_to_rkvdec_ctx(file);
static bool rkvdec_is_valid_fmt(struct rkvdec_ctx *ctx, u32 fourcc,
struct rkvdec_ctx *ctx = file_to_rkvdec_ctx(file);
struct rkvdec_ctx *ctx = file_to_rkvdec_ctx(file);
struct rkvdec_ctx *ctx = file_to_rkvdec_ctx(file);
struct rkvdec_ctx *ctx = file_to_rkvdec_ctx(file);
struct rkvdec_ctx *ctx = file_to_rkvdec_ctx(file);
struct rkvdec_ctx *ctx = vb2_get_drv_priv(vq);
struct rkvdec_ctx *ctx = vb2_get_drv_priv(vq);
struct rkvdec_ctx *ctx = vb2_get_drv_priv(vb->vb2_queue);
struct rkvdec_ctx *ctx = vb2_get_drv_priv(vb->vb2_queue);
struct rkvdec_ctx *ctx = vb2_get_drv_priv(q);
int (*try_ctrl)(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl);
enum rkvdec_image_fmt (*get_image_fmt)(struct rkvdec_ctx *ctx,
static inline struct rkvdec_ctx *file_to_rkvdec_ctx(struct file *filp)
return container_of(file_to_v4l2_fh(filp), struct rkvdec_ctx, fh);
void rkvdec_run_preamble(struct rkvdec_ctx *ctx, struct rkvdec_run *run);
void rkvdec_run_postamble(struct rkvdec_ctx *ctx, struct rkvdec_run *run);
void rkvdec_quirks_disable_qos(struct rkvdec_ctx *ctx);
struct rkvdec_ctx;
irqreturn_t (*irq_handler)(struct rkvdec_ctx *ctx);
int (*adjust_fmt)(struct rkvdec_ctx *ctx,
int (*start)(struct rkvdec_ctx *ctx);
void (*stop)(struct rkvdec_ctx *ctx);
int (*run)(struct rkvdec_ctx *ctx);
void (*done)(struct rkvdec_ctx *ctx, struct vb2_v4l2_buffer *src_buf,