소스 검색

video-driver: Made changes as per encoder configuration review

- Changed to REFRESH_PERIOD_TYPE_RANDOM in IR_TYPE, ENC, H264 | HEVC
- Changed values of B_FRAME, ENC, H264 | HEVC
- Added inst->capabilities[SLICE_MODE]

Change-Id: I8e9a02fff96433087b859cd098078f6eba75d42f
Divyanshu Varma 10 달 전
부모
커밋
329603cd72
2개의 변경된 파일10개의 추가작업 그리고 8개의 파일을 삭제
  1. 6 8
      driver/platform/volcano/src/msm_vidc_volcano.c
  2. 4 0
      driver/variant/iris2/src/msm_vidc_iris2.c

+ 6 - 8
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,
@@ -2322,7 +2321,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 +2401,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,

+ 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;