Bläddra i källkod

video: driver: modify slice delivery control as boolean control

Update definition of slice delivery control in v4l2_vidc_extensions.h
to make it a boolean control instead of menu control and use it
accordingly.

Change-Id: I8ad5f5b7088bc01b78560cb40eae7c7d677ce7ce
Signed-off-by: Dikshita Agarwal <[email protected]>
Dikshita Agarwal 2 år sedan
förälder
incheckning
9b32ff0498

+ 2 - 10
driver/platform/anorak/src/msm_vidc_anorak.c

@@ -1764,21 +1764,13 @@ static struct msm_platform_inst_capability instance_cap_data_anorak[] = {
 		CAP_FLAG_BITMASK},
 
 	{DELIVERY_MODE, ENC, HEVC,
-		V4L2_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE_FRAME_BASED,
-		V4L2_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE_SLICE_BASED,
-		BIT(V4L2_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE_FRAME_BASED) |
-		BIT(V4L2_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE_SLICE_BASED),
-		V4L2_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE_FRAME_BASED,
+		0, 1, 1, 0,
 		V4L2_CID_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE,
 		HFI_PROP_ENABLE_SLICE_DELIVERY,
 		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
 
 	{DELIVERY_MODE, ENC, H264,
-		V4L2_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE_FRAME_BASED,
-		V4L2_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE_SLICE_BASED,
-		BIT(V4L2_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE_FRAME_BASED) |
-		BIT(V4L2_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE_SLICE_BASED),
-		V4L2_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE_FRAME_BASED,
+		0, 1, 1, 0,
 		V4L2_CID_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE,
 		HFI_PROP_ENABLE_SLICE_DELIVERY,
 		CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},

+ 2 - 6
driver/vidc/src/msm_vidc_control_ext.c

@@ -150,12 +150,8 @@ int msm_vidc_adjust_delivery_mode(void *instance, struct v4l2_ctrl *ctrl)
 		return -EINVAL;
 
 	/* Slice encode delivery mode is only supported for Max MB slice mode */
-	if (slice_mode != V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB) {
-		if (inst->codec == MSM_VIDC_HEVC)
-			adjusted_value = V4L2_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE_FRAME_BASED;
-		else if (inst->codec == MSM_VIDC_H264)
-			adjusted_value = V4L2_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE_FRAME_BASED;
-	}
+	if (slice_mode != V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB)
+		adjusted_value = 0;
 
 	msm_vidc_update_cap_value(inst, DELIVERY_MODE,
 		adjusted_value, __func__);

+ 0 - 8
include/uapi/vidc/media/v4l2_vidc_extensions.h

@@ -245,17 +245,9 @@ enum v4l2_mpeg_video_av1_tier {
  */
 #define V4L2_CID_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE                          \
 	(V4L2_CID_MPEG_VIDC_BASE + 0x3C)
-enum v4l2_hevc_encode_delivery_mode {
-	V4L2_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE_FRAME_BASED = 0,
-	V4L2_MPEG_VIDC_HEVC_ENCODE_DELIVERY_MODE_SLICE_BASED = 1,
-};
 
 #define V4L2_CID_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE                          \
 	(V4L2_CID_MPEG_VIDC_BASE + 0x3D)
-enum v4l2_h264_encode_delivery_mode {
-	V4L2_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE_FRAME_BASED = 0,
-	V4L2_MPEG_VIDC_H264_ENCODE_DELIVERY_MODE_SLICE_BASED = 1,
-};
 
 #define V4L2_CID_MPEG_VIDC_CRITICAL_PRIORITY                                 \
 	(V4L2_CID_MPEG_VIDC_BASE + 0x3E)