Loading drivers/media/platform/msm/vidc/hfi_packetization.c +10 −0 Original line number Diff line number Diff line Loading @@ -1698,6 +1698,16 @@ int create_pkt_cmd_session_set_property( pkt->size += sizeof(u32) * 2; break; } case HAL_PARAM_VENC_DISABLE_RC_TIMESTAMP: { struct hfi_enable *hfi; pkt->rg_property_data[0] = HFI_PROPERTY_PARAM_VENC_DISABLE_RC_TIMESTAMP; hfi = (struct hfi_enable *)&pkt->rg_property_data[1]; hfi->enable = ((struct hfi_enable *)pdata)->enable; pkt->size += sizeof(u32) * 2; break; } /* FOLLOWING PROPERTIES ARE NOT IMPLEMENTED IN CORE YET */ case HAL_CONFIG_BUFFER_REQUIREMENTS: case HAL_CONFIG_PRIORITY: Loading drivers/media/platform/msm/vidc/msm_venc.c +22 −0 Original line number Diff line number Diff line Loading @@ -138,6 +138,11 @@ static const char *const intra_refresh_modes[] = { "Random" }; static const char *const timestamp_mode[] = { "Honor", "Ignore", }; enum msm_venc_ctrl_cluster { MSM_VENC_CTRL_CLUSTER_QP = 1 << 0, MSM_VENC_CTRL_CLUSTER_INTRA_PERIOD = 1 << 1, Loading Loading @@ -870,6 +875,17 @@ static struct msm_vidc_ctrl msm_venc_ctrls[] = { .qmenu = NULL, .cluster = 0, }, { .id = V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE, .name = "Encoder Timestamp Mode", .type = V4L2_CTRL_TYPE_MENU, .default_value = V4L2_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE_HONOR, .menu_skip_mask = ~( (1 << V4L2_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE_HONOR) | (1 << V4L2_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE_IGNORE)), .qmenu = timestamp_mode, }, }; #define NUM_CTRLS ARRAY_SIZE(msm_venc_ctrls) Loading Loading @@ -2203,6 +2219,12 @@ static int try_set_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl) } pdata = &hier_p_layers; break; case V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE: property_id = HAL_PARAM_VENC_DISABLE_RC_TIMESTAMP; enable.enable = (ctrl->val == V4L2_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE_IGNORE); 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 @@ -196,6 +196,7 @@ enum hal_property { HAL_CONFIG_VENC_USELTRFRAME, HAL_CONFIG_VENC_LTRPERIOD, HAL_PARAM_VENC_HIER_P_NUM_FRAMES, HAL_PARAM_VENC_DISABLE_RC_TIMESTAMP, }; enum hal_domain { Loading drivers/media/platform/msm/vidc/vidc_hfi_helper.h +2 −0 Original line number Diff line number Diff line Loading @@ -325,6 +325,8 @@ struct hfi_buffer_info { (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x021) #define HFI_PROPERTY_PARAM_VENC_PRESERVE_TEXT_QUALITY \ (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x023) #define HFI_PROPERTY_PARAM_VENC_DISABLE_RC_TIMESTAMP \ (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x027) #define HFI_PROPERTY_CONFIG_VENC_COMMON_START \ Loading include/uapi/linux/v4l2-controls.h +7 −0 Original line number Diff line number Diff line Loading @@ -871,6 +871,13 @@ enum v4l2_mpeg_vidc_video_ltrmode { #define V4L2_CID_MPEG_VIDC_VIDEO_HIER_P_NUM_LAYERS \ (V4L2_CID_MPEG_MSM_VIDC_BASE + 51) #define V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE \ (V4L2_CID_MPEG_MSM_VIDC_BASE + 52) enum v4l2_mpeg_vidc_video_rate_control_timestamp_mode { V4L2_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE_HONOR = 0, V4L2_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE_IGNORE = 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 +10 −0 Original line number Diff line number Diff line Loading @@ -1698,6 +1698,16 @@ int create_pkt_cmd_session_set_property( pkt->size += sizeof(u32) * 2; break; } case HAL_PARAM_VENC_DISABLE_RC_TIMESTAMP: { struct hfi_enable *hfi; pkt->rg_property_data[0] = HFI_PROPERTY_PARAM_VENC_DISABLE_RC_TIMESTAMP; hfi = (struct hfi_enable *)&pkt->rg_property_data[1]; hfi->enable = ((struct hfi_enable *)pdata)->enable; pkt->size += sizeof(u32) * 2; break; } /* FOLLOWING PROPERTIES ARE NOT IMPLEMENTED IN CORE YET */ case HAL_CONFIG_BUFFER_REQUIREMENTS: case HAL_CONFIG_PRIORITY: Loading
drivers/media/platform/msm/vidc/msm_venc.c +22 −0 Original line number Diff line number Diff line Loading @@ -138,6 +138,11 @@ static const char *const intra_refresh_modes[] = { "Random" }; static const char *const timestamp_mode[] = { "Honor", "Ignore", }; enum msm_venc_ctrl_cluster { MSM_VENC_CTRL_CLUSTER_QP = 1 << 0, MSM_VENC_CTRL_CLUSTER_INTRA_PERIOD = 1 << 1, Loading Loading @@ -870,6 +875,17 @@ static struct msm_vidc_ctrl msm_venc_ctrls[] = { .qmenu = NULL, .cluster = 0, }, { .id = V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE, .name = "Encoder Timestamp Mode", .type = V4L2_CTRL_TYPE_MENU, .default_value = V4L2_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE_HONOR, .menu_skip_mask = ~( (1 << V4L2_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE_HONOR) | (1 << V4L2_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE_IGNORE)), .qmenu = timestamp_mode, }, }; #define NUM_CTRLS ARRAY_SIZE(msm_venc_ctrls) Loading Loading @@ -2203,6 +2219,12 @@ static int try_set_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl) } pdata = &hier_p_layers; break; case V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE: property_id = HAL_PARAM_VENC_DISABLE_RC_TIMESTAMP; enable.enable = (ctrl->val == V4L2_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE_IGNORE); 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 @@ -196,6 +196,7 @@ enum hal_property { HAL_CONFIG_VENC_USELTRFRAME, HAL_CONFIG_VENC_LTRPERIOD, HAL_PARAM_VENC_HIER_P_NUM_FRAMES, HAL_PARAM_VENC_DISABLE_RC_TIMESTAMP, }; enum hal_domain { Loading
drivers/media/platform/msm/vidc/vidc_hfi_helper.h +2 −0 Original line number Diff line number Diff line Loading @@ -325,6 +325,8 @@ struct hfi_buffer_info { (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x021) #define HFI_PROPERTY_PARAM_VENC_PRESERVE_TEXT_QUALITY \ (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x023) #define HFI_PROPERTY_PARAM_VENC_DISABLE_RC_TIMESTAMP \ (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x027) #define HFI_PROPERTY_CONFIG_VENC_COMMON_START \ Loading
include/uapi/linux/v4l2-controls.h +7 −0 Original line number Diff line number Diff line Loading @@ -871,6 +871,13 @@ enum v4l2_mpeg_vidc_video_ltrmode { #define V4L2_CID_MPEG_VIDC_VIDEO_HIER_P_NUM_LAYERS \ (V4L2_CID_MPEG_MSM_VIDC_BASE + 51) #define V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE \ (V4L2_CID_MPEG_MSM_VIDC_BASE + 52) enum v4l2_mpeg_vidc_video_rate_control_timestamp_mode { V4L2_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE_HONOR = 0, V4L2_MPEG_VIDC_VIDEO_RATE_CONTROL_TIMESTAMP_MODE_IGNORE = 1, }; /* Camera class control IDs */ #define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900) Loading