Kaynağa Gözat

video: driver: Set 1 stage for Byte based Slice mode

Set 1 stage for Byte based Slice mode.

Change-Id: I9924535234e202e83d6f33b03ebc7de578e7aa48
Signed-off-by: Akshata Sahukar <[email protected]>
Akshata Sahukar 3 yıl önce
ebeveyn
işleme
ae362a4130

+ 3 - 2
driver/platform/kalama/src/msm_vidc_kalama.c

@@ -1412,7 +1412,8 @@ static struct msm_platform_inst_capability instance_data_kalama[] = {
 		V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE,
 		0,
 		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU,
-		{BITRATE_MODE, ALL_INTRA}, {0},
+		{BITRATE_MODE, ALL_INTRA},
+		{STAGE},
 		msm_vidc_adjust_slice_count, msm_vidc_set_slice_count},
 
 	{SLICE_MAX_BYTES, ENC, H264|HEVC|HEIC,
@@ -1553,7 +1554,7 @@ static struct msm_platform_inst_capability instance_data_kalama[] = {
 		0,
 		HFI_PROP_STAGE,
 		CAP_FLAG_NONE,
-		{LOWLATENCY_MODE}, {0},
+		{LOWLATENCY_MODE, SLICE_MODE}, {0},
 		NULL, msm_vidc_set_stage},
 
 	{PIPE, DEC|ENC, CODECS_ALL,

+ 4 - 0
driver/variant/iris3/src/msm_vidc_iris3.c

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

+ 1 - 1
driver/vidc/inc/msm_vidc_internal.h

@@ -498,6 +498,7 @@ enum msm_vidc_inst_capability_type {
 	CONTENT_ADAPTIVE_CODING,
 	BLUR_TYPES,
 	REQUEST_PREPROCESS,
+	SLICE_MODE,
 	/* place all intermittent(having both parent and child) enums before this line */
 
 	MIN_FRAME_QP,
@@ -515,7 +516,6 @@ enum msm_vidc_inst_capability_type {
 	LTR_COUNT,
 	IR_PERIOD,
 	BITRATE_BOOST,
-	SLICE_MODE,
 	BLUR_RESOLUTION,
 	OUTPUT_ORDER,
 	INPUT_BUF_HOST_MAX_COUNT,

+ 1 - 1
driver/vidc/src/msm_vidc_driver.c

@@ -195,6 +195,7 @@ static const struct msm_vidc_cap_name cap_name_arr[] = {
 	{CONTENT_ADAPTIVE_CODING,        "CONTENT_ADAPTIVE_CODING"    },
 	{BLUR_TYPES,                     "BLUR_TYPES"                 },
 	{REQUEST_PREPROCESS,             "REQUEST_PREPROCESS"         },
+	{SLICE_MODE,                     "SLICE_MODE"                 },
 	{MIN_FRAME_QP,                   "MIN_FRAME_QP"               },
 	{MAX_FRAME_QP,                   "MAX_FRAME_QP"               },
 	{I_FRAME_QP,                     "I_FRAME_QP"                 },
@@ -210,7 +211,6 @@ static const struct msm_vidc_cap_name cap_name_arr[] = {
 	{LTR_COUNT,                      "LTR_COUNT"                  },
 	{IR_PERIOD,                      "IR_PERIOD"                  },
 	{BITRATE_BOOST,                  "BITRATE_BOOST"              },
-	{SLICE_MODE,                     "SLICE_MODE"                 },
 	{BLUR_RESOLUTION,                "BLUR_RESOLUTION"            },
 	{OUTPUT_ORDER,                   "OUTPUT_ORDER"               },
 	{INPUT_BUF_HOST_MAX_COUNT,       "INPUT_BUF_HOST_MAX_COUNT"   },