Parcourir la source

Merge "video: driver: fix blur parent check"

qctecmdr il y a 2 ans
Parent
commit
31ea48b224

+ 11 - 3
driver/platform/common/src/msm_vidc_platform.c

@@ -2029,8 +2029,6 @@ int msm_vidc_adjust_blur_type(void *instance, struct v4l2_ctrl *ctrl)
 
 	if (msm_vidc_get_parent_value(inst, BLUR_TYPES, BITRATE_MODE,
 		&rc_type, __func__) ||
-		msm_vidc_get_parent_value(inst, BLUR_TYPES, PIX_FMTS,
-		&pix_fmts, __func__) ||
 		msm_vidc_get_parent_value(inst, BLUR_TYPES, MIN_QUALITY,
 		&min_quality, __func__) ||
 		msm_vidc_get_parent_value(inst, BLUR_TYPES, META_ROI_INFO,
@@ -2045,11 +2043,21 @@ int msm_vidc_adjust_blur_type(void *instance, struct v4l2_ctrl *ctrl)
 			(rc_type != HFI_RC_VBR_CFR &&
 			rc_type != HFI_RC_CBR_CFR &&
 			rc_type != HFI_RC_CBR_VFR) ||
-			is_10bit_colorformat(pix_fmts) || roi_enable) {
+			roi_enable) {
 			adjusted_value = MSM_VIDC_BLUR_NONE;
+			goto exit;
+		}
+
+		if (inst->codec == MSM_VIDC_HEVC) {
+			if (msm_vidc_get_parent_value(inst, BLUR_TYPES, PIX_FMTS,
+				&pix_fmts, __func__))
+				return -EINVAL;
+			if (is_10bit_colorformat(pix_fmts))
+				adjusted_value = MSM_VIDC_BLUR_NONE;
 		}
 	}
 
+exit:
 	msm_vidc_update_cap_value(inst, BLUR_TYPES,
 		adjusted_value, __func__);
 

+ 1 - 6
driver/platform/pineapple/src/msm_vidc_pineapple.c

@@ -2194,12 +2194,7 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_pine
 		msm_vidc_adjust_bitrate_boost_iris33,
 		msm_vidc_set_vbr_related_properties},
 
-	{MIN_QUALITY, ENC, H264,
-		{BLUR_TYPES},
-		msm_vidc_adjust_min_quality,
-		msm_vidc_set_u32},
-
-	{MIN_QUALITY, ENC, HEVC,
+	{MIN_QUALITY, ENC, H264 | HEVC,
 		{BLUR_TYPES},
 		msm_vidc_adjust_min_quality,
 		msm_vidc_set_u32},