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

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

Merge "msm: vidc: Set plane constraints for NV12"

parents c32c1635 4948676d
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -585,13 +585,17 @@ struct msm_vidc_format_constraint dec_pix_format_constraints[] = {
	{
		.fourcc = V4L2_PIX_FMT_SDE_Y_CBCR_H2V2_P010_VENUS,
		.num_planes = 2,
		.y_stride_multiples = 256,
		.y_max_stride = 8192,
		.y_min_plane_buffer_height_multiple = 32,
		.y_buffer_alignment = 256,
		.uv_stride_multiples = 256,
		.uv_max_stride = 8192,
		.uv_min_plane_buffer_height_multiple = 16,
		.uv_buffer_alignment = 256,
	},
	{
		.fourcc = V4L2_PIX_FMT_NV12,
		.num_planes = 2,
		.y_max_stride = 8192,
		.y_buffer_alignment = 256,
		.uv_max_stride = 8192,
		.uv_buffer_alignment = 256,
	},
};
+8 −8
Original line number Diff line number Diff line
@@ -1122,25 +1122,25 @@ struct msm_vidc_format_constraint enc_pix_format_constraints[] = {
	{
		.fourcc = V4L2_PIX_FMT_SDE_Y_CBCR_H2V2_P010_VENUS,
		.num_planes = 2,
		.y_stride_multiples = 256,
		.y_max_stride = 8192,
		.y_min_plane_buffer_height_multiple = 32,
		.y_buffer_alignment = 256,
		.uv_stride_multiples = 256,
		.uv_max_stride = 8192,
		.uv_min_plane_buffer_height_multiple = 16,
		.uv_buffer_alignment = 256,
	},
	{
		.fourcc = V4L2_PIX_FMT_NV12_512,
		.num_planes = 2,
		.y_stride_multiples = 512,
		.y_max_stride = 8192,
		.y_min_plane_buffer_height_multiple = 512,
		.y_buffer_alignment = 512,
		.uv_stride_multiples = 512,
		.uv_max_stride = 8192,
		.uv_min_plane_buffer_height_multiple = 256,
		.uv_buffer_alignment = 256,
	},
	{
		.fourcc = V4L2_PIX_FMT_NV12,
		.num_planes = 2,
		.y_max_stride = 8192,
		.y_buffer_alignment = 256,
		.uv_max_stride = 8192,
		.uv_buffer_alignment = 256,
	},
};
+6 −4
Original line number Diff line number Diff line
@@ -6624,6 +6624,7 @@ int msm_comm_set_color_format_constraints(struct msm_vidc_inst *inst,
	u32 size = 0;
	int rc = 0;
	struct hfi_device *hdev;
	u32 hfi_fmt;

	if (!inst || !inst->core || !inst->core->device) {
		dprintk(VIDC_ERR, "%s - invalid param\n", __func__);
@@ -6643,27 +6644,28 @@ int msm_comm_set_color_format_constraints(struct msm_vidc_inst *inst,
		goto exit;
	}

	hfi_fmt = msm_comm_convert_color_fmt(pix_constraint->fourcc);
	pconstraint->buffer_type = get_hfi_buffer(buffer_type);
	pconstraint->num_planes = pix_constraint->num_planes;
	//set Y plan constraints
	dprintk(VIDC_INFO, "Set Y plan constraints.\n");
	pconstraint->rg_plane_format[0].stride_multiples =
			pix_constraint->y_stride_multiples;
			VENUS_Y_STRIDE(hfi_fmt, 1);
	pconstraint->rg_plane_format[0].max_stride =
			pix_constraint->y_max_stride;
	pconstraint->rg_plane_format[0].min_plane_buffer_height_multiple =
			pix_constraint->y_min_plane_buffer_height_multiple;
			VENUS_Y_SCANLINES(hfi_fmt, 1);
	pconstraint->rg_plane_format[0].buffer_alignment =
			pix_constraint->y_buffer_alignment;

	//set UV plan constraints
	dprintk(VIDC_INFO, "Set UV plan constraints.\n");
	pconstraint->rg_plane_format[1].stride_multiples =
			pix_constraint->uv_stride_multiples;
			VENUS_UV_STRIDE(hfi_fmt, 1);
	pconstraint->rg_plane_format[1].max_stride =
			pix_constraint->uv_max_stride;
	pconstraint->rg_plane_format[1].min_plane_buffer_height_multiple =
			pix_constraint->uv_min_plane_buffer_height_multiple;
			VENUS_UV_SCANLINES(hfi_fmt, 1);
	pconstraint->rg_plane_format[1].buffer_alignment =
			pix_constraint->uv_buffer_alignment;

+0 −4
Original line number Diff line number Diff line
@@ -269,13 +269,9 @@ struct msm_vidc_format {
struct msm_vidc_format_constraint {
	u32 fourcc;
	u32 num_planes;
	u32 y_stride_multiples;
	u32 y_max_stride;
	u32 y_min_plane_buffer_height_multiple;
	u32 y_buffer_alignment;
	u32 uv_stride_multiples;
	u32 uv_max_stride;
	u32 uv_min_plane_buffer_height_multiple;
	u32 uv_buffer_alignment;
};