Loading drivers/media/platform/msm/vidc/hfi_packetization.c +11 −0 Original line number Diff line number Diff line Loading @@ -2281,6 +2281,17 @@ static int create_3x_pkt_cmd_session_set_property( pkt->size += sizeof(u32) * 2; break; } case HAL_PARAM_VENC_LOW_LATENCY: { struct hfi_enable *hfi; pkt->rg_property_data[0] = HFI_PROPERTY_PARAM_VENC_LOW_LATENCY_MODE; hfi = (struct hfi_enable *) &pkt->rg_property_data[1]; hfi->enable = ((struct hal_enable *) pdata)->enable; pkt->size += sizeof(u32) * 2; break; } default: rc = create_pkt_cmd_session_set_property(pkt, session, ptype, pdata); Loading drivers/media/platform/msm/vidc/msm_venc.c +20 −1 Original line number Diff line number Diff line Loading @@ -1202,7 +1202,15 @@ static struct msm_vidc_ctrl msm_venc_ctrls[] = { .default_value = V4L2_CID_MPEG_VIDC_VIDEO_VPE_CSC_DISABLE, .step = 1, }, { .id = V4L2_CID_MPEG_VIDC_VIDEO_LOWLATENCY_MODE, .name = "Low Latency Mode", .type = V4L2_CTRL_TYPE_BOOLEAN, .minimum = V4L2_CID_MPEG_VIDC_VIDEO_LOWLATENCY_DISABLE, .maximum = V4L2_CID_MPEG_VIDC_VIDEO_LOWLATENCY_ENABLE, .default_value = V4L2_CID_MPEG_VIDC_VIDEO_LOWLATENCY_DISABLE, .step = 1, }, }; #define NUM_CTRLS ARRAY_SIZE(msm_venc_ctrls) Loading Loading @@ -3055,6 +3063,17 @@ static int try_set_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl) dprintk(VIDC_ERR, "fail to set csc: %d\n", rc); } break; case V4L2_CID_MPEG_VIDC_VIDEO_LOWLATENCY_MODE: { property_id = HAL_PARAM_VENC_LOW_LATENCY; if (ctrl->val == V4L2_CID_MPEG_VIDC_VIDEO_LOWLATENCY_ENABLE) enable.enable = 1; else enable.enable = 0; pdata = &enable; break; } default: dprintk(VIDC_ERR, "Unsupported index: %x\n", ctrl->id); rc = -ENOTSUPP; Loading drivers/media/platform/msm/vidc/vidc_hfi_api.h +1 −0 Original line number Diff line number Diff line Loading @@ -230,6 +230,7 @@ enum hal_property { HAL_CONFIG_VDEC_ENTROPY, HAL_PARAM_VENC_BITRATE_TYPE, HAL_PARAM_VENC_H264_PIC_ORDER_CNT, HAL_PARAM_VENC_LOW_LATENCY, }; enum hal_domain { Loading drivers/media/platform/msm/vidc/vidc_hfi_helper.h +2 −0 Original line number Diff line number Diff line Loading @@ -357,6 +357,8 @@ struct hfi_buffer_info { (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x020) #define HFI_PROPERTY_PARAM_VENC_H264_VUI_BITSTREAM_RESTRC \ (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x021) #define HFI_PROPERTY_PARAM_VENC_LOW_LATENCY_MODE \ (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x022) #define HFI_PROPERTY_PARAM_VENC_PRESERVE_TEXT_QUALITY \ (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x023) #define HFI_PROPERTY_PARAM_VENC_HIER_P_MAX_NUM_ENH_LAYER \ Loading include/uapi/linux/v4l2-controls.h +10 −1 Original line number Diff line number Diff line Loading @@ -1127,6 +1127,15 @@ enum v4l2_cid_mpeg_vidc_video_vpe_csc_type_enable { V4L2_CID_MPEG_VIDC_VIDEO_VPE_CSC_ENABLE = 1 }; #define V4L2_CID_MPEG_VIDC_VIDEO_LOWLATENCY_MODE \ (V4L2_CID_MPEG_MSM_VIDC_BASE + 88) enum v4l2_mpeg_vidc_video_lowlatency_mode { V4L2_CID_MPEG_VIDC_VIDEO_LOWLATENCY_DISABLE = 0, V4L2_CID_MPEG_VIDC_VIDEO_LOWLATENCY_ENABLE = 1, }; /* Camera class control IDs */ #define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900) Loading Loading
drivers/media/platform/msm/vidc/hfi_packetization.c +11 −0 Original line number Diff line number Diff line Loading @@ -2281,6 +2281,17 @@ static int create_3x_pkt_cmd_session_set_property( pkt->size += sizeof(u32) * 2; break; } case HAL_PARAM_VENC_LOW_LATENCY: { struct hfi_enable *hfi; pkt->rg_property_data[0] = HFI_PROPERTY_PARAM_VENC_LOW_LATENCY_MODE; hfi = (struct hfi_enable *) &pkt->rg_property_data[1]; hfi->enable = ((struct hal_enable *) pdata)->enable; pkt->size += sizeof(u32) * 2; break; } default: rc = create_pkt_cmd_session_set_property(pkt, session, ptype, pdata); Loading
drivers/media/platform/msm/vidc/msm_venc.c +20 −1 Original line number Diff line number Diff line Loading @@ -1202,7 +1202,15 @@ static struct msm_vidc_ctrl msm_venc_ctrls[] = { .default_value = V4L2_CID_MPEG_VIDC_VIDEO_VPE_CSC_DISABLE, .step = 1, }, { .id = V4L2_CID_MPEG_VIDC_VIDEO_LOWLATENCY_MODE, .name = "Low Latency Mode", .type = V4L2_CTRL_TYPE_BOOLEAN, .minimum = V4L2_CID_MPEG_VIDC_VIDEO_LOWLATENCY_DISABLE, .maximum = V4L2_CID_MPEG_VIDC_VIDEO_LOWLATENCY_ENABLE, .default_value = V4L2_CID_MPEG_VIDC_VIDEO_LOWLATENCY_DISABLE, .step = 1, }, }; #define NUM_CTRLS ARRAY_SIZE(msm_venc_ctrls) Loading Loading @@ -3055,6 +3063,17 @@ static int try_set_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl) dprintk(VIDC_ERR, "fail to set csc: %d\n", rc); } break; case V4L2_CID_MPEG_VIDC_VIDEO_LOWLATENCY_MODE: { property_id = HAL_PARAM_VENC_LOW_LATENCY; if (ctrl->val == V4L2_CID_MPEG_VIDC_VIDEO_LOWLATENCY_ENABLE) enable.enable = 1; else enable.enable = 0; pdata = &enable; break; } default: dprintk(VIDC_ERR, "Unsupported index: %x\n", ctrl->id); rc = -ENOTSUPP; Loading
drivers/media/platform/msm/vidc/vidc_hfi_api.h +1 −0 Original line number Diff line number Diff line Loading @@ -230,6 +230,7 @@ enum hal_property { HAL_CONFIG_VDEC_ENTROPY, HAL_PARAM_VENC_BITRATE_TYPE, HAL_PARAM_VENC_H264_PIC_ORDER_CNT, HAL_PARAM_VENC_LOW_LATENCY, }; enum hal_domain { Loading
drivers/media/platform/msm/vidc/vidc_hfi_helper.h +2 −0 Original line number Diff line number Diff line Loading @@ -357,6 +357,8 @@ struct hfi_buffer_info { (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x020) #define HFI_PROPERTY_PARAM_VENC_H264_VUI_BITSTREAM_RESTRC \ (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x021) #define HFI_PROPERTY_PARAM_VENC_LOW_LATENCY_MODE \ (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x022) #define HFI_PROPERTY_PARAM_VENC_PRESERVE_TEXT_QUALITY \ (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x023) #define HFI_PROPERTY_PARAM_VENC_HIER_P_MAX_NUM_ENH_LAYER \ Loading
include/uapi/linux/v4l2-controls.h +10 −1 Original line number Diff line number Diff line Loading @@ -1127,6 +1127,15 @@ enum v4l2_cid_mpeg_vidc_video_vpe_csc_type_enable { V4L2_CID_MPEG_VIDC_VIDEO_VPE_CSC_ENABLE = 1 }; #define V4L2_CID_MPEG_VIDC_VIDEO_LOWLATENCY_MODE \ (V4L2_CID_MPEG_MSM_VIDC_BASE + 88) enum v4l2_mpeg_vidc_video_lowlatency_mode { V4L2_CID_MPEG_VIDC_VIDEO_LOWLATENCY_DISABLE = 0, V4L2_CID_MPEG_VIDC_VIDEO_LOWLATENCY_ENABLE = 1, }; /* Camera class control IDs */ #define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900) Loading