Loading drivers/media/platform/msm/vidc/hfi_packetization.c +6 −0 Original line number Diff line number Diff line Loading @@ -1454,6 +1454,12 @@ int create_pkt_cmd_session_set_property( case HAL_RATE_CONTROL_VBR_VFR: pkt->rg_property_data[1] = HFI_RATE_CONTROL_VBR_VFR; break; case HAL_RATE_CONTROL_MBR_CFR: pkt->rg_property_data[1] = HFI_RATE_CONTROL_MBR_CFR; break; case HAL_RATE_CONTROL_MBR_VFR: pkt->rg_property_data[1] = HFI_RATE_CONTROL_MBR_VFR; break; default: dprintk(VIDC_ERR, "Invalid Rate control setting: %p\n", Loading drivers/media/platform/msm/vidc/msm_venc.c +10 −2 Original line number Diff line number Diff line Loading @@ -73,6 +73,8 @@ static const char *const mpeg_video_rate_control[] = { "VBR CFR", "CBR VFR", "CBR CFR", "MBR CFR", "MBR VFR", NULL }; Loading Loading @@ -233,7 +235,7 @@ static struct msm_vidc_ctrl msm_venc_ctrls[] = { .name = "Video Framerate and Bitrate Control", .type = V4L2_CTRL_TYPE_MENU, .minimum = V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_OFF, .maximum = V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_CFR, .maximum = V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_VFR, .default_value = V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_OFF, .step = 0, .menu_skip_mask = ~( Loading @@ -241,7 +243,9 @@ static struct msm_vidc_ctrl msm_venc_ctrls[] = { (1 << V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_VBR_VFR) | (1 << V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_VBR_CFR) | (1 << V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_VFR) | (1 << V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_CFR) (1 << V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_CFR) | (1 << V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_CFR) | (1 << V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_VFR) ), .qmenu = mpeg_video_rate_control, }, Loading Loading @@ -2332,10 +2336,14 @@ static int try_set_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl) case V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_VBR_CFR: update_ctrl.val = V4L2_MPEG_VIDEO_BITRATE_MODE_VBR; break; case V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_VFR: case V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_CFR: case V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_CFR: case V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_VFR: update_ctrl.val = V4L2_MPEG_VIDEO_BITRATE_MODE_CBR; break; } final_mode = ctrl->val; Loading drivers/media/platform/msm/vidc/vidc_hfi.h +3 −0 Original line number Diff line number Diff line Loading @@ -364,6 +364,9 @@ struct hfi_hybrid_hierp { #define HFI_RATE_CONTROL_VBR_CFR (HFI_OX_BASE + 0x3) #define HFI_RATE_CONTROL_CBR_VFR (HFI_OX_BASE + 0x4) #define HFI_RATE_CONTROL_CBR_CFR (HFI_OX_BASE + 0x5) #define HFI_RATE_CONTROL_MBR_CFR (HFI_OX_BASE + 0x6) #define HFI_RATE_CONTROL_MBR_VFR (HFI_OX_BASE + 0x7) struct hfi_uncompressed_plane_actual_constraints_info { u32 buffer_type; Loading drivers/media/platform/msm/vidc/vidc_hfi_api.h +2 −0 Original line number Diff line number Diff line Loading @@ -714,6 +714,8 @@ enum hal_rate_control { HAL_RATE_CONTROL_VBR_CFR, HAL_RATE_CONTROL_CBR_VFR, HAL_RATE_CONTROL_CBR_CFR, HAL_RATE_CONTROL_MBR_CFR, HAL_RATE_CONTROL_MBR_VFR, HAL_UNUSED_RC = 0x10000000, }; Loading include/uapi/linux/v4l2-controls.h +6 −0 Original line number Diff line number Diff line Loading @@ -697,7 +697,13 @@ enum v4l2_mpeg_vidc_video_rate_control { V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_VBR_CFR = 2, V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_VFR = 3, V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_CFR = 4, V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_CFR = 5, V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_VFR = 6, }; #define V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_CFR \ V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_CFR #define V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_VFR \ V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_VFR #define V4L2_CID_MPEG_VIDC_VIDEO_ROTATION (V4L2_CID_MPEG_MSM_VIDC_BASE+14) enum v4l2_mpeg_vidc_video_rotation { Loading Loading
drivers/media/platform/msm/vidc/hfi_packetization.c +6 −0 Original line number Diff line number Diff line Loading @@ -1454,6 +1454,12 @@ int create_pkt_cmd_session_set_property( case HAL_RATE_CONTROL_VBR_VFR: pkt->rg_property_data[1] = HFI_RATE_CONTROL_VBR_VFR; break; case HAL_RATE_CONTROL_MBR_CFR: pkt->rg_property_data[1] = HFI_RATE_CONTROL_MBR_CFR; break; case HAL_RATE_CONTROL_MBR_VFR: pkt->rg_property_data[1] = HFI_RATE_CONTROL_MBR_VFR; break; default: dprintk(VIDC_ERR, "Invalid Rate control setting: %p\n", Loading
drivers/media/platform/msm/vidc/msm_venc.c +10 −2 Original line number Diff line number Diff line Loading @@ -73,6 +73,8 @@ static const char *const mpeg_video_rate_control[] = { "VBR CFR", "CBR VFR", "CBR CFR", "MBR CFR", "MBR VFR", NULL }; Loading Loading @@ -233,7 +235,7 @@ static struct msm_vidc_ctrl msm_venc_ctrls[] = { .name = "Video Framerate and Bitrate Control", .type = V4L2_CTRL_TYPE_MENU, .minimum = V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_OFF, .maximum = V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_CFR, .maximum = V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_VFR, .default_value = V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_OFF, .step = 0, .menu_skip_mask = ~( Loading @@ -241,7 +243,9 @@ static struct msm_vidc_ctrl msm_venc_ctrls[] = { (1 << V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_VBR_VFR) | (1 << V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_VBR_CFR) | (1 << V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_VFR) | (1 << V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_CFR) (1 << V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_CFR) | (1 << V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_CFR) | (1 << V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_VFR) ), .qmenu = mpeg_video_rate_control, }, Loading Loading @@ -2332,10 +2336,14 @@ static int try_set_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl) case V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_VBR_CFR: update_ctrl.val = V4L2_MPEG_VIDEO_BITRATE_MODE_VBR; break; case V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_VFR: case V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_CFR: case V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_CFR: case V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_VFR: update_ctrl.val = V4L2_MPEG_VIDEO_BITRATE_MODE_CBR; break; } final_mode = ctrl->val; Loading
drivers/media/platform/msm/vidc/vidc_hfi.h +3 −0 Original line number Diff line number Diff line Loading @@ -364,6 +364,9 @@ struct hfi_hybrid_hierp { #define HFI_RATE_CONTROL_VBR_CFR (HFI_OX_BASE + 0x3) #define HFI_RATE_CONTROL_CBR_VFR (HFI_OX_BASE + 0x4) #define HFI_RATE_CONTROL_CBR_CFR (HFI_OX_BASE + 0x5) #define HFI_RATE_CONTROL_MBR_CFR (HFI_OX_BASE + 0x6) #define HFI_RATE_CONTROL_MBR_VFR (HFI_OX_BASE + 0x7) struct hfi_uncompressed_plane_actual_constraints_info { u32 buffer_type; Loading
drivers/media/platform/msm/vidc/vidc_hfi_api.h +2 −0 Original line number Diff line number Diff line Loading @@ -714,6 +714,8 @@ enum hal_rate_control { HAL_RATE_CONTROL_VBR_CFR, HAL_RATE_CONTROL_CBR_VFR, HAL_RATE_CONTROL_CBR_CFR, HAL_RATE_CONTROL_MBR_CFR, HAL_RATE_CONTROL_MBR_VFR, HAL_UNUSED_RC = 0x10000000, }; Loading
include/uapi/linux/v4l2-controls.h +6 −0 Original line number Diff line number Diff line Loading @@ -697,7 +697,13 @@ enum v4l2_mpeg_vidc_video_rate_control { V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_VBR_CFR = 2, V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_VFR = 3, V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_CFR = 4, V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_CFR = 5, V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_VFR = 6, }; #define V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_CFR \ V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_CFR #define V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_VFR \ V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_VFR #define V4L2_CID_MPEG_VIDC_VIDEO_ROTATION (V4L2_CID_MPEG_MSM_VIDC_BASE+14) enum v4l2_mpeg_vidc_video_rotation { Loading