Loading drivers/media/platform/msm/vidc/hfi_packetization.c +6 −6 Original line number Diff line number Diff line Loading @@ -1480,22 +1480,22 @@ int create_pkt_cmd_session_set_property( pkt->size += sizeof(u32) + sizeof(struct hfi_enable); break; } case HAL_PARAM_VENC_H264_VUI_TIMING_INFO: case HAL_PARAM_VENC_VUI_TIMING_INFO: { struct hfi_h264_vui_timing_info *hfi; struct hal_h264_vui_timing_info *timing_info = pdata; struct hfi_vui_timing_info *hfi; struct hal_vui_timing_info *timing_info = pdata; pkt->rg_property_data[0] = HFI_PROPERTY_PARAM_VENC_H264_VUI_TIMING_INFO; HFI_PROPERTY_PARAM_VENC_VUI_TIMING_INFO; hfi = (struct hfi_h264_vui_timing_info *)&pkt-> hfi = (struct hfi_vui_timing_info *)&pkt-> rg_property_data[1]; hfi->enable = timing_info->enable; hfi->fixed_frame_rate = timing_info->fixed_frame_rate; hfi->time_scale = timing_info->time_scale; pkt->size += sizeof(u32) + sizeof(struct hfi_h264_vui_timing_info); sizeof(struct hfi_vui_timing_info); break; } case HAL_CONFIG_VPE_DEINTERLACE: Loading drivers/media/platform/msm/vidc/msm_venc.c +31 −0 Original line number Diff line number Diff line Loading @@ -1140,6 +1140,7 @@ int msm_venc_s_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl) int max_hierp_layers; int baselayerid = 0; struct hal_video_signal_info signal_info = {0}; struct hal_vui_timing_info vui_timing_info = {0}; enum hal_iframesize_type iframesize_type = HAL_IFRAMESIZE_TYPE_DEFAULT; if (!inst || !inst->core || !inst->core->device) { Loading Loading @@ -1865,6 +1866,36 @@ int msm_venc_s_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl) pdata = &enable; break; } case V4L2_CID_MPEG_VIDC_VIDEO_VUI_TIMING_INFO: { struct v4l2_ctrl *rc_mode; bool cfr = false; property_id = HAL_PARAM_VENC_VUI_TIMING_INFO; pdata = &vui_timing_info; if (ctrl->val != V4L2_MPEG_VIDC_VIDEO_VUI_TIMING_INFO_ENABLED) { vui_timing_info.enable = 0; break; } rc_mode = TRY_GET_CTRL(V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL); switch (rc_mode->val) { case V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_VBR_CFR: case V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_CFR: case V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_CFR: cfr = true; break; default: cfr = false; } vui_timing_info.enable = 1; vui_timing_info.fixed_frame_rate = cfr; vui_timing_info.time_scale = NSEC_PER_SEC; break; } default: dprintk(VIDC_ERR, "Unsupported index: %x\n", ctrl->id); rc = -ENOTSUPP; Loading drivers/media/platform/msm/vidc/vidc_hfi_api.h +3 −3 Original line number Diff line number Diff line Loading @@ -187,7 +187,7 @@ enum hal_property { HAL_PARAM_VDEC_SYNC_FRAME_DECODE, HAL_PARAM_VENC_H264_ENTROPY_CABAC_MODEL, HAL_CONFIG_VENC_MAX_BITRATE, HAL_PARAM_VENC_H264_VUI_TIMING_INFO, HAL_PARAM_VENC_VUI_TIMING_INFO, HAL_PARAM_VENC_GENERATE_AUDNAL, HAL_PARAM_BUFFER_ALLOC_MODE, HAL_PARAM_VDEC_FRAME_ASSEMBLY, Loading Loading @@ -813,7 +813,7 @@ struct hal_timestamp_scale { }; struct hal_h264_vui_timing_info { struct hal_vui_timing_info { u32 enable; u32 fixed_frame_rate; u32 time_scale; Loading Loading @@ -1036,7 +1036,7 @@ union hal_get_property { struct hal_codec_supported codec_supported; struct hal_multi_view_select multi_view_select; struct hal_timestamp_scale timestamp_scale; struct hal_h264_vui_timing_info h264_vui_timing_info; struct hal_vui_timing_info vui_timing_info; struct hal_preserve_text_quality preserve_text_quality; struct hal_buffer_info buffer_info; struct hal_buffer_alloc_mode buffer_alloc_mode; Loading drivers/media/platform/msm/vidc/vidc_hfi_helper.h +2 −2 Original line number Diff line number Diff line Loading @@ -283,7 +283,7 @@ struct hfi_buffer_info { (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x01C) #define HFI_PROPERTY_PARAM_VENC_VIDEO_SIGNAL_INFO \ (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x01D) #define HFI_PROPERTY_PARAM_VENC_H264_VUI_TIMING_INFO \ #define HFI_PROPERTY_PARAM_VENC_VUI_TIMING_INFO \ (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x01E) #define HFI_PROPERTY_PARAM_VENC_LOW_LATENCY_MODE \ (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x022) Loading Loading @@ -589,7 +589,7 @@ struct hfi_video_signal_metadata { u32 matrix_coeffs; }; struct hfi_h264_vui_timing_info { struct hfi_vui_timing_info { u32 enable; u32 fixed_frame_rate; u32 time_scale; Loading Loading
drivers/media/platform/msm/vidc/hfi_packetization.c +6 −6 Original line number Diff line number Diff line Loading @@ -1480,22 +1480,22 @@ int create_pkt_cmd_session_set_property( pkt->size += sizeof(u32) + sizeof(struct hfi_enable); break; } case HAL_PARAM_VENC_H264_VUI_TIMING_INFO: case HAL_PARAM_VENC_VUI_TIMING_INFO: { struct hfi_h264_vui_timing_info *hfi; struct hal_h264_vui_timing_info *timing_info = pdata; struct hfi_vui_timing_info *hfi; struct hal_vui_timing_info *timing_info = pdata; pkt->rg_property_data[0] = HFI_PROPERTY_PARAM_VENC_H264_VUI_TIMING_INFO; HFI_PROPERTY_PARAM_VENC_VUI_TIMING_INFO; hfi = (struct hfi_h264_vui_timing_info *)&pkt-> hfi = (struct hfi_vui_timing_info *)&pkt-> rg_property_data[1]; hfi->enable = timing_info->enable; hfi->fixed_frame_rate = timing_info->fixed_frame_rate; hfi->time_scale = timing_info->time_scale; pkt->size += sizeof(u32) + sizeof(struct hfi_h264_vui_timing_info); sizeof(struct hfi_vui_timing_info); break; } case HAL_CONFIG_VPE_DEINTERLACE: Loading
drivers/media/platform/msm/vidc/msm_venc.c +31 −0 Original line number Diff line number Diff line Loading @@ -1140,6 +1140,7 @@ int msm_venc_s_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl) int max_hierp_layers; int baselayerid = 0; struct hal_video_signal_info signal_info = {0}; struct hal_vui_timing_info vui_timing_info = {0}; enum hal_iframesize_type iframesize_type = HAL_IFRAMESIZE_TYPE_DEFAULT; if (!inst || !inst->core || !inst->core->device) { Loading Loading @@ -1865,6 +1866,36 @@ int msm_venc_s_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl) pdata = &enable; break; } case V4L2_CID_MPEG_VIDC_VIDEO_VUI_TIMING_INFO: { struct v4l2_ctrl *rc_mode; bool cfr = false; property_id = HAL_PARAM_VENC_VUI_TIMING_INFO; pdata = &vui_timing_info; if (ctrl->val != V4L2_MPEG_VIDC_VIDEO_VUI_TIMING_INFO_ENABLED) { vui_timing_info.enable = 0; break; } rc_mode = TRY_GET_CTRL(V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL); switch (rc_mode->val) { case V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_VBR_CFR: case V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_CBR_CFR: case V4L2_CID_MPEG_VIDC_VIDEO_RATE_CONTROL_MBR_CFR: cfr = true; break; default: cfr = false; } vui_timing_info.enable = 1; vui_timing_info.fixed_frame_rate = cfr; vui_timing_info.time_scale = NSEC_PER_SEC; break; } default: dprintk(VIDC_ERR, "Unsupported index: %x\n", ctrl->id); rc = -ENOTSUPP; Loading
drivers/media/platform/msm/vidc/vidc_hfi_api.h +3 −3 Original line number Diff line number Diff line Loading @@ -187,7 +187,7 @@ enum hal_property { HAL_PARAM_VDEC_SYNC_FRAME_DECODE, HAL_PARAM_VENC_H264_ENTROPY_CABAC_MODEL, HAL_CONFIG_VENC_MAX_BITRATE, HAL_PARAM_VENC_H264_VUI_TIMING_INFO, HAL_PARAM_VENC_VUI_TIMING_INFO, HAL_PARAM_VENC_GENERATE_AUDNAL, HAL_PARAM_BUFFER_ALLOC_MODE, HAL_PARAM_VDEC_FRAME_ASSEMBLY, Loading Loading @@ -813,7 +813,7 @@ struct hal_timestamp_scale { }; struct hal_h264_vui_timing_info { struct hal_vui_timing_info { u32 enable; u32 fixed_frame_rate; u32 time_scale; Loading Loading @@ -1036,7 +1036,7 @@ union hal_get_property { struct hal_codec_supported codec_supported; struct hal_multi_view_select multi_view_select; struct hal_timestamp_scale timestamp_scale; struct hal_h264_vui_timing_info h264_vui_timing_info; struct hal_vui_timing_info vui_timing_info; struct hal_preserve_text_quality preserve_text_quality; struct hal_buffer_info buffer_info; struct hal_buffer_alloc_mode buffer_alloc_mode; Loading
drivers/media/platform/msm/vidc/vidc_hfi_helper.h +2 −2 Original line number Diff line number Diff line Loading @@ -283,7 +283,7 @@ struct hfi_buffer_info { (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x01C) #define HFI_PROPERTY_PARAM_VENC_VIDEO_SIGNAL_INFO \ (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x01D) #define HFI_PROPERTY_PARAM_VENC_H264_VUI_TIMING_INFO \ #define HFI_PROPERTY_PARAM_VENC_VUI_TIMING_INFO \ (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x01E) #define HFI_PROPERTY_PARAM_VENC_LOW_LATENCY_MODE \ (HFI_PROPERTY_PARAM_VENC_COMMON_START + 0x022) Loading Loading @@ -589,7 +589,7 @@ struct hfi_video_signal_metadata { u32 matrix_coeffs; }; struct hfi_h264_vui_timing_info { struct hfi_vui_timing_info { u32 enable; u32 fixed_frame_rate; u32 time_scale; Loading