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

Commit 97254550 authored by Mansur Alisha Shaik's avatar Mansur Alisha Shaik
Browse files

msm: vidc: V4l2 to HAL intra refresh mode mapping



Because of incorrect intra refresh mode mapping
core is going into bad state, setting control is failed.
So added correct mapping for V4l2 to HAL for
intra refresh mode.

Change-Id: I910b8c3dc894adaf0e10a6bb82d47b193b5efeae
Signed-off-by: default avatarMansur Alisha Shaik <mansur@codeaurora.org>
parent 9486b04b
Loading
Loading
Loading
Loading
+27 −4
Original line number Diff line number Diff line
@@ -2278,6 +2278,21 @@ static inline int venc_v4l2_to_hal(int id, int value)
		default:
			goto unknown_value;
		}
	case V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_MODE:
		switch (value) {
		case V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_NONE:
			return HAL_INTRA_REFRESH_NONE;
		case V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_CYCLIC:
			return HAL_INTRA_REFRESH_CYCLIC;
		case V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_RANDOM:
			return HAL_INTRA_REFRESH_RANDOM;
		case V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_ADAPTIVE:
			return HAL_INTRA_REFRESH_ADAPTIVE;
		case V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_CYCLIC_ADAPTIVE:
			return HAL_INTRA_REFRESH_CYCLIC_ADAPTIVE;
		default:
			goto unknown_value;
		}
	}

unknown_value:
@@ -3123,8 +3138,10 @@ static int try_set_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl)
		}

		property_id = HAL_PARAM_VENC_INTRA_REFRESH;
		intra_refresh.mode = venc_v4l2_to_hal(
				V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_MODE,
				ctrl->val);

		intra_refresh.mode = ctrl->val;
		intra_refresh.air_mbs = air_mbs->val;
		intra_refresh.air_ref = air_ref->val;
		intra_refresh.cir_mbs = cir_mbs->val;
@@ -3143,7 +3160,9 @@ static int try_set_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl)
		property_id = HAL_PARAM_VENC_INTRA_REFRESH;

		intra_refresh.air_mbs = ctrl->val;
		intra_refresh.mode = ir_mode->val;
		intra_refresh.mode = venc_v4l2_to_hal(
				V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_MODE,
				ir_mode->val);
		intra_refresh.air_ref = air_ref->val;
		intra_refresh.cir_mbs = cir_mbs->val;

@@ -3162,7 +3181,9 @@ static int try_set_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl)

		intra_refresh.air_ref = ctrl->val;
		intra_refresh.air_mbs = air_mbs->val;
		intra_refresh.mode = ir_mode->val;
		intra_refresh.mode = venc_v4l2_to_hal(
				V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_MODE,
				ir_mode->val);
		intra_refresh.cir_mbs = cir_mbs->val;

		pdata = &intra_refresh;
@@ -3181,7 +3202,9 @@ static int try_set_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl)
		intra_refresh.cir_mbs = ctrl->val;
		intra_refresh.air_mbs = air_mbs->val;
		intra_refresh.air_ref = air_ref->val;
		intra_refresh.mode = ir_mode->val;
		intra_refresh.mode = venc_v4l2_to_hal(
				V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_MODE,
				ir_mode->val);

		pdata = &intra_refresh;
		break;