Pārlūkot izejas kodu

Merge 4e4eb52fb353fc55b4174270a99fe7390aea03b5 on remote branch

Change-Id: Ida0979dccbf774bb3e69f4f477fb4a670ae78c7c
Linux Build Service Account 6 mēneši atpakaļ
vecāks
revīzija
d0f80c27ee

+ 10 - 54
driver/platform/volcano/src/msm_vidc_volcano.c

@@ -819,7 +819,7 @@ static struct msm_platform_inst_capability instance_cap_data_volcano_v0[] = {
 		0},
 
 	{B_FRAME, ENC, H264 | HEVC,
-		0, 7, 1, 0,
+		0, 1, 1, 0,
 		V4L2_CID_MPEG_VIDEO_B_FRAMES,
 		HFI_PROP_MAX_B_FRAMES,
 		CAP_FLAG_OUTPUT_PORT},
@@ -899,9 +899,8 @@ static struct msm_platform_inst_capability instance_cap_data_volcano_v0[] = {
 
 	{IR_TYPE, ENC, H264 | HEVC,
 		V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM,
-		V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC,
-		BIT(V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM) |
-		BIT(V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC),
+		V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM,
+		BIT(V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM),
 		V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM,
 		V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE,
 		0,
@@ -1684,22 +1683,6 @@ static struct msm_platform_inst_capability instance_cap_data_volcano_v0[] = {
 		HFI_PROP_HISTOGRAM_INFO,
 		CAP_FLAG_BITMASK | CAP_FLAG_META},
 
-	{META_TRANSCODING_STAT_INFO, DEC, HEVC | H264,
-		MSM_VIDC_META_DISABLE,
-		MSM_VIDC_META_ENABLE | MSM_VIDC_META_RX_OUTPUT,
-		0, MSM_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_TRANSCODE_STAT_INFO,
-		HFI_PROP_TRANSCODING_STAT_INFO,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_TRANSCODING_STAT_INFO, ENC, HEVC | H264,
-		MSM_VIDC_META_DISABLE,
-		MSM_VIDC_META_DYN_ENABLE | MSM_VIDC_META_TX_INPUT,
-		0, MSM_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_TRANSCODE_STAT_INFO,
-		HFI_PROP_TRANSCODING_STAT_INFO,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
 	{META_PICTURE_TYPE, DEC, CODECS_ALL,
 		MSM_VIDC_META_DISABLE,
 		MSM_VIDC_META_ENABLE | MSM_VIDC_META_RX_INPUT,
@@ -2322,7 +2305,7 @@ static struct msm_platform_inst_capability instance_cap_data_volcano_v1[] = {
 		0},
 
 	{B_FRAME, ENC, H264 | HEVC,
-		0, 7, 1, 0,
+		0, 1, 1, 0,
 		V4L2_CID_MPEG_VIDEO_B_FRAMES,
 		HFI_PROP_MAX_B_FRAMES,
 		CAP_FLAG_OUTPUT_PORT},
@@ -2402,9 +2385,8 @@ static struct msm_platform_inst_capability instance_cap_data_volcano_v1[] = {
 
 	{IR_TYPE, ENC, H264 | HEVC,
 		V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM,
-		V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC,
-		BIT(V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM) |
-		BIT(V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC),
+		V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM,
+		BIT(V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM),
 		V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM,
 		V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE,
 		0,
@@ -3180,22 +3162,6 @@ static struct msm_platform_inst_capability instance_cap_data_volcano_v1[] = {
 		HFI_PROP_HISTOGRAM_INFO,
 		CAP_FLAG_BITMASK | CAP_FLAG_META},
 
-	{META_TRANSCODING_STAT_INFO, DEC, HEVC | H264,
-		MSM_VIDC_META_DISABLE,
-		MSM_VIDC_META_ENABLE | MSM_VIDC_META_RX_OUTPUT,
-		0, MSM_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_TRANSCODE_STAT_INFO,
-		HFI_PROP_TRANSCODING_STAT_INFO,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
-	{META_TRANSCODING_STAT_INFO, ENC, HEVC | H264,
-		MSM_VIDC_META_DISABLE,
-		MSM_VIDC_META_DYN_ENABLE | MSM_VIDC_META_TX_INPUT,
-		0, MSM_VIDC_META_DISABLE,
-		V4L2_CID_MPEG_VIDC_METADATA_TRANSCODE_STAT_INFO,
-		HFI_PROP_TRANSCODING_STAT_INFO,
-		CAP_FLAG_BITMASK | CAP_FLAG_META},
-
 	{META_PICTURE_TYPE, DEC, CODECS_ALL,
 		MSM_VIDC_META_DISABLE,
 		MSM_VIDC_META_ENABLE | MSM_VIDC_META_RX_INPUT,
@@ -3490,7 +3456,7 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_volc
 			P_FRAME_QP, B_FRAME_QP, ENH_LAYER_COUNT, BIT_RATE,
 			META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY,
 			PEAK_BITRATE, SLICE_MODE, CONTENT_ADAPTIVE_CODING,
-			BLUR_TYPES, LOWLATENCY_MODE, META_TRANSCODING_STAT_INFO},
+			BLUR_TYPES, LOWLATENCY_MODE},
 		msm_vidc_adjust_bitrate_mode,
 		msm_vidc_set_u32_enum},
 
@@ -3499,7 +3465,7 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_volc
 			P_FRAME_QP, B_FRAME_QP, CONSTANT_QUALITY, ENH_LAYER_COUNT,
 			BIT_RATE, META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY,
 			PEAK_BITRATE, SLICE_MODE, CONTENT_ADAPTIVE_CODING,
-			BLUR_TYPES, LOWLATENCY_MODE, META_EVA_STATS, META_TRANSCODING_STAT_INFO},
+			BLUR_TYPES, LOWLATENCY_MODE, META_EVA_STATS},
 		msm_vidc_adjust_bitrate_mode,
 		msm_vidc_set_u32_enum},
 
@@ -3918,11 +3884,6 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_volc
 		{0},
 		msm_vidc_adjust_hdr10plus,
 		NULL},
-
-	{META_TRANSCODING_STAT_INFO, ENC, HEVC | H264,
-		{0},
-		msm_vidc_adjust_transcoding_stats,
-		NULL},
 };
 
 static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_volcano_v1[] = {
@@ -4054,7 +4015,7 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_volc
 			P_FRAME_QP, B_FRAME_QP, ENH_LAYER_COUNT, BIT_RATE,
 			META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY,
 			PEAK_BITRATE, SLICE_MODE, CONTENT_ADAPTIVE_CODING,
-			BLUR_TYPES, LOWLATENCY_MODE, META_TRANSCODING_STAT_INFO},
+			BLUR_TYPES, LOWLATENCY_MODE},
 		msm_vidc_adjust_bitrate_mode,
 		msm_vidc_set_u32_enum},
 
@@ -4063,7 +4024,7 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_volc
 			P_FRAME_QP, B_FRAME_QP, CONSTANT_QUALITY, ENH_LAYER_COUNT,
 			BIT_RATE, META_ROI_INFO, MIN_QUALITY, BITRATE_BOOST, VBV_DELAY,
 			PEAK_BITRATE, SLICE_MODE, CONTENT_ADAPTIVE_CODING,
-			BLUR_TYPES, LOWLATENCY_MODE, META_EVA_STATS, META_TRANSCODING_STAT_INFO},
+			BLUR_TYPES, LOWLATENCY_MODE, META_EVA_STATS},
 		msm_vidc_adjust_bitrate_mode,
 		msm_vidc_set_u32_enum},
 
@@ -4482,11 +4443,6 @@ static struct msm_platform_inst_cap_dependency instance_cap_dependency_data_volc
 		{0},
 		msm_vidc_adjust_hdr10plus,
 		NULL},
-
-	{META_TRANSCODING_STAT_INFO, ENC, HEVC | H264,
-		{0},
-		msm_vidc_adjust_transcoding_stats,
-		NULL},
 };
 
 static const u32 volcano_msm_vidc_ssr_type[] = {

+ 4 - 0
driver/variant/iris2/src/msm_vidc_iris2.c

@@ -788,6 +788,10 @@ int msm_vidc_decide_work_mode_iris2(struct msm_vidc_inst *inst)
 			(inst->capabilities[LOWLATENCY_MODE].value)) {
 			work_mode = MSM_VIDC_STAGE_1;
 		}
+		if (inst->capabilities[SLICE_MODE].value ==
+			V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES) {
+			work_mode = MSM_VIDC_STAGE_1;
+		}
 		if (inst->capabilities[LOSSLESS].value)
 			work_mode = MSM_VIDC_STAGE_2;