diff --git a/include/uapi/vidc/media/msm_vidc_utils.h b/include/uapi/vidc/media/msm_vidc_utils.h index a6f882e860aa..63894f8fb219 100644 --- a/include/uapi/vidc/media/msm_vidc_utils.h +++ b/include/uapi/vidc/media/msm_vidc_utils.h @@ -229,6 +229,8 @@ enum v4l2_mpeg_vidc_video_hevc_max_hier_coding_layer { }; #define V4L2_CID_MPEG_VIDC_VENC_CVP_DISABLE \ (V4L2_CID_MPEG_MSM_VIDC_BASE + 121) +#define V4L2_CID_MPEG_VIDC_VENC_NATIVE_RECORDER \ + (V4L2_CID_MPEG_MSM_VIDC_BASE + 122) #define V4L2_CID_MPEG_VIDC_VENC_RC_TIMESTAMP_DISABLE \ (V4L2_CID_MPEG_MSM_VIDC_BASE + 123) #define V4L2_CID_MPEG_VIDC_SUPERFRAME \ diff --git a/msm/vidc/msm_venc.c b/msm/vidc/msm_venc.c index 945ff83be6e7..f0f91abcd21d 100644 --- a/msm/vidc/msm_venc.c +++ b/msm/vidc/msm_venc.c @@ -929,6 +929,15 @@ static struct msm_vidc_ctrl msm_venc_ctrls[] = { .default_value = DEFAULT_CHROMA_QP_OFFSET, .step = 1, }, + { + .id = V4L2_CID_MPEG_VIDC_VENC_NATIVE_RECORDER, + .name = "Enable/Disable Native Recorder", + .type = V4L2_CTRL_TYPE_BOOLEAN, + .minimum = V4L2_MPEG_MSM_VIDC_DISABLE, + .maximum = V4L2_MPEG_MSM_VIDC_ENABLE, + .default_value = V4L2_MPEG_MSM_VIDC_DISABLE, + .step = 1, + }, { .id = V4L2_CID_MPEG_VIDC_VENC_BITRATE_SAVINGS, .name = "Enable/Disable bitrate savings", @@ -1992,6 +2001,7 @@ int msm_venc_s_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl) case V4L2_CID_MPEG_VIDC_VIDEO_PRIORITY: case V4L2_CID_MPEG_VIDC_VIDEO_INTRA_REFRESH_RANDOM: case V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB: + case V4L2_CID_MPEG_VIDC_VENC_NATIVE_RECORDER: case V4L2_CID_MPEG_VIDC_VENC_RC_TIMESTAMP_DISABLE: case V4L2_CID_MPEG_VIDEO_VBV_DELAY: case V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET: