enc_param
ctrl->enc_param = base_phy_addr + offset;
u32 enc_param;
int wave5_vpu_encode(struct vpu_instance *inst, struct enc_param *option, u32 *fail_res)
inst->enc_param.level = 32;
inst->enc_param.level = 40;
inst->enc_param.level = 41;
inst->enc_param.level = 42;
inst->enc_param.level = 50;
inst->enc_param.level = 51;
inst->enc_param.min_qp_i = ctrl->val;
inst->enc_param.min_qp_p = ctrl->val;
inst->enc_param.min_qp_b = ctrl->val;
inst->enc_param.max_qp_i = ctrl->val;
inst->enc_param.max_qp_p = ctrl->val;
inst->enc_param.max_qp_b = ctrl->val;
inst->enc_param.intra_qp = ctrl->val;
inst->enc_param.disable_deblk = 1;
inst->enc_param.lf_cross_slice_boundary_enable = 1;
inst->enc_param.disable_deblk = 0;
inst->enc_param.lf_cross_slice_boundary_enable = 1;
inst->enc_param.disable_deblk = 0;
inst->enc_param.lf_cross_slice_boundary_enable = 0;
inst->enc_param.beta_offset_div2 = ctrl->val;
inst->enc_param.tc_offset_div2 = ctrl->val;
inst->enc_param.transform8x8_enable = ctrl->val;
inst->enc_param.const_intra_pred_flag = ctrl->val;
inst->enc_param.chroma_cb_qp_offset = ctrl->val;
inst->enc_param.chroma_cr_qp_offset = ctrl->val;
inst->enc_param.intra_period = ctrl->val;
inst->enc_param.entropy_coding_mode = ctrl->val;
inst->enc_param.forced_idr_header_enable = ctrl->val;
struct enc_wave_param input = inst->enc_param;
struct enc_param pic_param;
memset(&pic_param, 0, sizeof(struct enc_param));
inst->enc_param.avc_idr_period = ctrl->val;
inst->enc_param.independ_slice_mode = ctrl->val;
inst->enc_param.avc_slice_mode = ctrl->val;
inst->enc_param.independ_slice_mode_arg = ctrl->val;
inst->enc_param.avc_slice_arg = ctrl->val;
inst->enc_param.mb_level_rc_enable = ctrl->val;
inst->enc_param.cu_level_rc_enable = ctrl->val;
inst->enc_param.hvs_qp_enable = ctrl->val;
inst->enc_param.profile = HEVC_PROFILE_MAIN;
inst->enc_param.profile = HEVC_PROFILE_STILLPICTURE;
inst->enc_param.en_still_picture = 1;
inst->enc_param.profile = HEVC_PROFILE_MAIN10;
inst->enc_param.level = 10 * 3;
inst->enc_param.level = 20 * 3;
inst->enc_param.level = 21 * 3;
inst->enc_param.level = 30 * 3;
inst->enc_param.level = 31 * 3;
inst->enc_param.level = 40 * 3;
inst->enc_param.level = 41 * 3;
inst->enc_param.level = 50 * 3;
inst->enc_param.level = 51 * 3;
inst->enc_param.level = 52 * 3;
inst->enc_param.min_qp_i = ctrl->val;
inst->enc_param.min_qp_p = ctrl->val;
inst->enc_param.min_qp_b = ctrl->val;
inst->enc_param.max_qp_i = ctrl->val;
inst->enc_param.max_qp_p = ctrl->val;
inst->enc_param.max_qp_b = ctrl->val;
inst->enc_param.intra_qp = ctrl->val;
inst->enc_param.disable_deblk = 1;
inst->enc_param.sao_enable = 0;
inst->enc_param.lf_cross_slice_boundary_enable = 0;
inst->enc_param.disable_deblk = 0;
inst->enc_param.sao_enable = 1;
inst->enc_param.lf_cross_slice_boundary_enable = 1;
inst->enc_param.disable_deblk = 0;
inst->enc_param.sao_enable = 1;
inst->enc_param.lf_cross_slice_boundary_enable = 0;
inst->enc_param.beta_offset_div2 = ctrl->val;
inst->enc_param.tc_offset_div2 = ctrl->val;
inst->enc_param.decoding_refresh_type = 0;
inst->enc_param.decoding_refresh_type = 1;
inst->enc_param.decoding_refresh_type = 2;
inst->enc_param.intra_period = ctrl->val;
inst->enc_param.lossless_enable = ctrl->val;
inst->enc_param.const_intra_pred_flag = ctrl->val;
inst->enc_param.wpp_enable = ctrl->val;
inst->enc_param.strong_intra_smooth_enable = ctrl->val;
inst->enc_param.max_num_merge = ctrl->val;
inst->enc_param.tmvp_enable = ctrl->val;
inst->enc_param.profile = H264_PROFILE_BP;
inst->enc_param.profile = H264_PROFILE_MP;
inst->enc_param.profile = H264_PROFILE_EXTENDED;
inst->enc_param.profile = H264_PROFILE_HP;
inst->enc_param.profile = H264_PROFILE_HIGH10;
inst->enc_param.profile = H264_PROFILE_HIGH422;
inst->enc_param.profile = H264_PROFILE_HIGH444;
inst->enc_param.level = 10;
inst->enc_param.level = 9;
inst->enc_param.level = 11;
inst->enc_param.level = 12;
inst->enc_param.level = 13;
inst->enc_param.level = 20;
inst->enc_param.level = 21;
inst->enc_param.level = 22;
inst->enc_param.level = 30;
inst->enc_param.level = 31;
static int wave5_check_enc_param(struct vpu_instance *inst, struct enc_param *param)
int wave5_vpu_enc_start_one_frame(struct vpu_instance *inst, struct enc_param *param, u32 *fail_res)
struct enc_wave_param enc_param;
int wave5_vpu_enc_start_one_frame(struct vpu_instance *inst, struct enc_param *param,
int wave5_vpu_encode(struct vpu_instance *inst, struct enc_param *option, u32 *fail_res);
struct venc_enc_param *enc_param)
venc_enc_param_crop_right(vpu, enc_param);
venc_enc_param_crop_bottom(enc_param);
out.base.data[2] = venc_enc_param_num_mb(enc_param);
out.base.data[0] = enc_param->bitrate;
out.base.data[0] = enc_param->frm_rate;
out.base.data[0] = enc_param->gop_size;
out.base.data[0] = enc_param->intra_period;