Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 90651f2c authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: vidc: enable default extradata always"

parents fe131729 948d6ada
Loading
Loading
Loading
Loading
+36 −83
Original line number Diff line number Diff line
@@ -1009,15 +1009,11 @@ int msm_vdec_s_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl)
		inst->clk_data.frame_rate = ctrl->val;
		break;
	case V4L2_CID_MPEG_VIDC_VIDEO_EXTRADATA:
		inst->bufq[CAPTURE_PORT].num_planes = 1;
		inst->bufq[CAPTURE_PORT].plane_sizes[1] = 0;
		if (ctrl->val != EXTRADATA_NONE) {
			inst->bufq[CAPTURE_PORT].num_planes = 2;
			inst->bufq[CAPTURE_PORT].plane_sizes[1] =
				VENUS_EXTRADATA_SIZE(
					inst->prop.height[CAPTURE_PORT],
					inst->prop.width[CAPTURE_PORT]);
		}
		/*
		 * nothing to do here as inst->bufq[CAPTURE_PORT].num_planes
		 * and inst->bufq[CAPTURE_PORT].plane_sizes[1] are already
		 * initialized to proper values
		 */
		break;
	case V4L2_CID_MPEG_VIDC_VIDEO_BUFFER_SIZE_LIMIT:
		inst->buffer_size_limit = ctrl->val;
@@ -1500,6 +1496,7 @@ int msm_vdec_set_extradata(struct msm_vidc_inst *inst)
{
	uint32_t display_info = HFI_PROPERTY_PARAM_VUI_DISPLAY_INFO_EXTRADATA;
	struct v4l2_ctrl *ctrl;
	u32 value = 0x0;

	ctrl = get_ctrl(inst, V4L2_CID_MPEG_VIDC_VIDEO_EXTRADATA);
	switch (inst->fmts[OUTPUT_PORT].fourcc) {
@@ -1517,52 +1514,11 @@ int msm_vdec_set_extradata(struct msm_vidc_inst *inst)
		break;
	}

	if (ctrl->val == EXTRADATA_NONE) {
		// Disable all Extradata
		msm_comm_set_index_extradata(inst,
			MSM_VIDC_EXTRADATA_OUTPUT_CROP, 0x0);
		msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_INTERLACE_VIDEO_EXTRADATA, 0x0);
		msm_comm_set_extradata(inst, display_info, 0x0);
		msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_UBWC_CR_STAT_INFO_EXTRADATA,
			0x0);
		msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_NUM_CONCEALED_MB, 0x0);
		if (inst->fmts[OUTPUT_PORT].fourcc == V4L2_PIX_FMT_HEVC) {
			msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_MASTER_DISP_COL_SEI_EXTRADATA,
			0x0);
			msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_CLL_SEI_EXTRADATA,
			0x0);
		}
		msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_STREAM_USERDATA_EXTRADATA,
			0x0);
		msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_TIMESTAMP_EXTRADATA, 0x0);
		msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_S3D_FRAME_PACKING_EXTRADATA, 0x0);
		msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_FRAME_RATE_EXTRADATA, 0x0);
		msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_PANSCAN_WNDW_EXTRADATA, 0x0);
		msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_RECOVERY_POINT_SEI_EXTRADATA,
			0x0);
		msm_comm_set_index_extradata(inst,
			MSM_VIDC_EXTRADATA_ASPECT_RATIO, 0x0);
		msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_FRAME_QP_EXTRADATA, 0x0);
	}
	if (ctrl->val & EXTRADATA_DEFAULT) {
		// Enable Default Extradata
	/* Enable Default Extradata */
	msm_comm_set_index_extradata(inst,
		MSM_VIDC_EXTRADATA_OUTPUT_CROP, 0x1);
	msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_INTERLACE_VIDEO_EXTRADATA,
			0x1);
		HFI_PROPERTY_PARAM_VDEC_INTERLACE_VIDEO_EXTRADATA, 0x1);
	msm_comm_set_extradata(inst, display_info, 0x1);
	msm_comm_set_extradata(inst,
		HFI_PROPERTY_PARAM_VDEC_NUM_CONCEALED_MB, 0x1);
@@ -1571,31 +1527,28 @@ int msm_vdec_set_extradata(struct msm_vidc_inst *inst)
			HFI_PROPERTY_PARAM_VDEC_MASTER_DISP_COL_SEI_EXTRADATA,
			0x1);
		msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_CLL_SEI_EXTRADATA,
			0x1);
		}
			HFI_PROPERTY_PARAM_VDEC_CLL_SEI_EXTRADATA, 0x1);
	}
	if (ctrl->val & EXTRADATA_ADVANCED) {
		// Enable Advanced Extradata

	/* Enable / Disable Advanced Extradata */
	if (ctrl->val == EXTRADATA_ADVANCED)
		value = 0x1;
	msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_STREAM_USERDATA_EXTRADATA,
			0x1);
		HFI_PROPERTY_PARAM_VDEC_STREAM_USERDATA_EXTRADATA, value);
	msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_TIMESTAMP_EXTRADATA, 0x1);
		HFI_PROPERTY_PARAM_VDEC_TIMESTAMP_EXTRADATA, value);
	msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_S3D_FRAME_PACKING_EXTRADATA, 0x1);
		HFI_PROPERTY_PARAM_S3D_FRAME_PACKING_EXTRADATA, value);
	msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_FRAME_RATE_EXTRADATA, 0x1);
		HFI_PROPERTY_PARAM_VDEC_FRAME_RATE_EXTRADATA, value);
	msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_PANSCAN_WNDW_EXTRADATA, 0x1);
		HFI_PROPERTY_PARAM_VDEC_PANSCAN_WNDW_EXTRADATA, value);
	msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_RECOVERY_POINT_SEI_EXTRADATA,
			0x1);
		HFI_PROPERTY_PARAM_VDEC_RECOVERY_POINT_SEI_EXTRADATA, value);
	msm_comm_set_index_extradata(inst,
			MSM_VIDC_EXTRADATA_ASPECT_RATIO, 0x1);
		MSM_VIDC_EXTRADATA_ASPECT_RATIO, value);
	msm_comm_set_extradata(inst,
			HFI_PROPERTY_PARAM_VDEC_FRAME_QP_EXTRADATA, 0x1);
	}
		HFI_PROPERTY_PARAM_VDEC_FRAME_QP_EXTRADATA, value);

	return 0;
}