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

Commit 99f536ff authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: vidc: Add sanity check for resolutions"

parents 9184cefb 346e1e54
Loading
Loading
Loading
Loading
+18 −1
Original line number Original line Diff line number Diff line
@@ -5200,7 +5200,7 @@ int msm_vidc_check_session_supported(struct msm_vidc_inst *inst)
	int rc = 0;
	int rc = 0;
	struct hfi_device *hdev;
	struct hfi_device *hdev;
	struct msm_vidc_core *core;
	struct msm_vidc_core *core;
	u32 output_height, output_width;
	u32 output_height, output_width, input_height, input_width;
	u32 rotation;
	u32 rotation;


	if (!inst || !inst->core || !inst->core->device) {
	if (!inst || !inst->core || !inst->core->device) {
@@ -5223,6 +5223,23 @@ int msm_vidc_check_session_supported(struct msm_vidc_inst *inst)
		return -ENOTSUPP;
		return -ENOTSUPP;
	}
	}


	output_height = inst->prop.height[CAPTURE_PORT];
	output_width = inst->prop.width[CAPTURE_PORT];
	input_height = inst->prop.height[OUTPUT_PORT];
	input_width = inst->prop.width[OUTPUT_PORT];

	if (inst->session_type == MSM_VIDC_ENCODER && (input_width % 2 != 0 ||
			input_height % 2 != 0 || output_width % 2 != 0 ||
			output_height % 2 != 0)) {
		dprintk(VIDC_ERR,
			"Height and Width should be even numbers for NV12\n");
		dprintk(VIDC_ERR,
			"Input WxH = (%u)x(%u), Output WxH = (%u)x(%u)\n",
			input_width, input_height,
			output_width, output_height);
		rc = -ENOTSUPP;
	}

	rotation =  msm_comm_g_ctrl_for_id(inst,
	rotation =  msm_comm_g_ctrl_for_id(inst,
					V4L2_CID_ROTATE);
					V4L2_CID_ROTATE);