Commit 938beb48 authored by Dikshita Agarwal's avatar Dikshita Agarwal Committed by Mauro Carvalho Chehab
Browse files

media: venus: enable sufficient sequence change support for vp9



VP9 supports resolution change at interframe.
Currenlty, if sequence change is detected at interframe and
resources are sufficient, sequence change event is not raised
by firmware to driver until the next keyframe.
This change add the HFI to notify the sequence change in this
case to driver.

Reviewed-by: default avatarKonrad Dybcio <konrad.dybcio@linaro.org>
Tested-by: default avatarNathan Hebert <nhebert@chromium.org>
Signed-off-by: default avatarVikash Garodia <quic_vgarodia@quicinc.com>
Signed-off-by: default avatarViswanath Boma <quic_vboma@quicinc.com>
Signed-off-by: default avatarDikshita Agarwal <quic_dikshita@quicinc.com>
Signed-off-by: default avatarStanimir Varbanov <stanimir.k.varbanov@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent ae8cdfc3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -521,6 +521,7 @@ static int pkt_session_set_property_1x(struct hfi_session_set_property_pkt *pkt,
		pkt->shdr.hdr.size += sizeof(u32) + sizeof(*en);
		break;
	}
	case HFI_PROPERTY_PARAM_VDEC_ENABLE_SUFFICIENT_SEQCHANGE_EVENT:
	case HFI_PROPERTY_CONFIG_VDEC_POST_LOOP_DEBLOCKER: {
		struct hfi_enable *in = pdata;
		struct hfi_enable *en = prop_data;
+2 −0
Original line number Diff line number Diff line
@@ -469,6 +469,8 @@
#define HFI_PROPERTY_PARAM_VDEC_PIXEL_BITDEPTH			0x1003007
#define HFI_PROPERTY_PARAM_VDEC_PIC_STRUCT			0x1003009
#define HFI_PROPERTY_PARAM_VDEC_COLOUR_SPACE			0x100300a
#define HFI_PROPERTY_PARAM_VDEC_ENABLE_SUFFICIENT_SEQCHANGE_EVENT \
								0x100300b

/*
 * HFI_PROPERTY_CONFIG_VDEC_COMMON_START
+8 −0
Original line number Diff line number Diff line
@@ -684,6 +684,14 @@ static int vdec_set_properties(struct venus_inst *inst)
			return ret;
	}

	/* Enabling sufficient sequence change support for VP9 */
	if (is_fw_rev_or_newer(inst->core, 5, 4, 51)) {
		ptype = HFI_PROPERTY_PARAM_VDEC_ENABLE_SUFFICIENT_SEQCHANGE_EVENT;
		ret = hfi_session_set_property(inst, ptype, &en);
		if (ret)
			return ret;
	}

	ptype = HFI_PROPERTY_PARAM_VDEC_CONCEAL_COLOR;
	conceal = ctr->conceal_color & 0xffff;
	conceal |= ((ctr->conceal_color >> 16) & 0xffff) << 10;