Loading drivers/media/platform/msm/vidc/msm_vdec.c +36 −83 Original line number Original line Diff line number Diff line Loading @@ -1009,15 +1009,11 @@ int msm_vdec_s_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl) inst->clk_data.frame_rate = ctrl->val; inst->clk_data.frame_rate = ctrl->val; break; break; case V4L2_CID_MPEG_VIDC_VIDEO_EXTRADATA: case V4L2_CID_MPEG_VIDC_VIDEO_EXTRADATA: inst->bufq[CAPTURE_PORT].num_planes = 1; /* inst->bufq[CAPTURE_PORT].plane_sizes[1] = 0; * nothing to do here as inst->bufq[CAPTURE_PORT].num_planes if (ctrl->val != EXTRADATA_NONE) { * and inst->bufq[CAPTURE_PORT].plane_sizes[1] are already inst->bufq[CAPTURE_PORT].num_planes = 2; * initialized to proper values inst->bufq[CAPTURE_PORT].plane_sizes[1] = */ VENUS_EXTRADATA_SIZE( inst->prop.height[CAPTURE_PORT], inst->prop.width[CAPTURE_PORT]); } break; break; case V4L2_CID_MPEG_VIDC_VIDEO_BUFFER_SIZE_LIMIT: case V4L2_CID_MPEG_VIDC_VIDEO_BUFFER_SIZE_LIMIT: inst->buffer_size_limit = ctrl->val; inst->buffer_size_limit = ctrl->val; Loading Loading @@ -1500,6 +1496,7 @@ int msm_vdec_set_extradata(struct msm_vidc_inst *inst) { { uint32_t display_info = HFI_PROPERTY_PARAM_VUI_DISPLAY_INFO_EXTRADATA; uint32_t display_info = HFI_PROPERTY_PARAM_VUI_DISPLAY_INFO_EXTRADATA; struct v4l2_ctrl *ctrl; struct v4l2_ctrl *ctrl; u32 value = 0x0; ctrl = get_ctrl(inst, V4L2_CID_MPEG_VIDC_VIDEO_EXTRADATA); ctrl = get_ctrl(inst, V4L2_CID_MPEG_VIDC_VIDEO_EXTRADATA); switch (inst->fmts[OUTPUT_PORT].fourcc) { switch (inst->fmts[OUTPUT_PORT].fourcc) { Loading @@ -1517,52 +1514,11 @@ int msm_vdec_set_extradata(struct msm_vidc_inst *inst) break; break; } } if (ctrl->val == EXTRADATA_NONE) { /* Enable Default Extradata */ // Disable all Extradata msm_comm_set_index_extradata(inst, MSM_VIDC_EXTRADATA_OUTPUT_CROP, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_INTERLACE_VIDEO_EXTRADATA, 0x0); msm_comm_set_extradata(inst, display_info, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_UBWC_CR_STAT_INFO_EXTRADATA, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_NUM_CONCEALED_MB, 0x0); if (inst->fmts[OUTPUT_PORT].fourcc == V4L2_PIX_FMT_HEVC) { msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_MASTER_DISP_COL_SEI_EXTRADATA, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_CLL_SEI_EXTRADATA, 0x0); } msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_STREAM_USERDATA_EXTRADATA, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_TIMESTAMP_EXTRADATA, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_S3D_FRAME_PACKING_EXTRADATA, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_FRAME_RATE_EXTRADATA, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_PANSCAN_WNDW_EXTRADATA, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_RECOVERY_POINT_SEI_EXTRADATA, 0x0); msm_comm_set_index_extradata(inst, MSM_VIDC_EXTRADATA_ASPECT_RATIO, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_FRAME_QP_EXTRADATA, 0x0); } if (ctrl->val & EXTRADATA_DEFAULT) { // Enable Default Extradata msm_comm_set_index_extradata(inst, msm_comm_set_index_extradata(inst, MSM_VIDC_EXTRADATA_OUTPUT_CROP, 0x1); MSM_VIDC_EXTRADATA_OUTPUT_CROP, 0x1); msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_INTERLACE_VIDEO_EXTRADATA, HFI_PROPERTY_PARAM_VDEC_INTERLACE_VIDEO_EXTRADATA, 0x1); 0x1); msm_comm_set_extradata(inst, display_info, 0x1); msm_comm_set_extradata(inst, display_info, 0x1); msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_NUM_CONCEALED_MB, 0x1); HFI_PROPERTY_PARAM_VDEC_NUM_CONCEALED_MB, 0x1); Loading @@ -1571,31 +1527,28 @@ int msm_vdec_set_extradata(struct msm_vidc_inst *inst) HFI_PROPERTY_PARAM_VDEC_MASTER_DISP_COL_SEI_EXTRADATA, HFI_PROPERTY_PARAM_VDEC_MASTER_DISP_COL_SEI_EXTRADATA, 0x1); 0x1); msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_CLL_SEI_EXTRADATA, HFI_PROPERTY_PARAM_VDEC_CLL_SEI_EXTRADATA, 0x1); 0x1); } } } if (ctrl->val & EXTRADATA_ADVANCED) { // Enable Advanced Extradata /* Enable / Disable Advanced Extradata */ if (ctrl->val == EXTRADATA_ADVANCED) value = 0x1; msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_STREAM_USERDATA_EXTRADATA, HFI_PROPERTY_PARAM_VDEC_STREAM_USERDATA_EXTRADATA, value); 0x1); msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_TIMESTAMP_EXTRADATA, 0x1); HFI_PROPERTY_PARAM_VDEC_TIMESTAMP_EXTRADATA, value); msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_S3D_FRAME_PACKING_EXTRADATA, 0x1); HFI_PROPERTY_PARAM_S3D_FRAME_PACKING_EXTRADATA, value); msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_FRAME_RATE_EXTRADATA, 0x1); HFI_PROPERTY_PARAM_VDEC_FRAME_RATE_EXTRADATA, value); msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_PANSCAN_WNDW_EXTRADATA, 0x1); HFI_PROPERTY_PARAM_VDEC_PANSCAN_WNDW_EXTRADATA, value); msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_RECOVERY_POINT_SEI_EXTRADATA, HFI_PROPERTY_PARAM_VDEC_RECOVERY_POINT_SEI_EXTRADATA, value); 0x1); msm_comm_set_index_extradata(inst, msm_comm_set_index_extradata(inst, MSM_VIDC_EXTRADATA_ASPECT_RATIO, 0x1); MSM_VIDC_EXTRADATA_ASPECT_RATIO, value); msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_FRAME_QP_EXTRADATA, 0x1); HFI_PROPERTY_PARAM_VDEC_FRAME_QP_EXTRADATA, value); } return 0; return 0; } } Loading Loading
drivers/media/platform/msm/vidc/msm_vdec.c +36 −83 Original line number Original line Diff line number Diff line Loading @@ -1009,15 +1009,11 @@ int msm_vdec_s_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl) inst->clk_data.frame_rate = ctrl->val; inst->clk_data.frame_rate = ctrl->val; break; break; case V4L2_CID_MPEG_VIDC_VIDEO_EXTRADATA: case V4L2_CID_MPEG_VIDC_VIDEO_EXTRADATA: inst->bufq[CAPTURE_PORT].num_planes = 1; /* inst->bufq[CAPTURE_PORT].plane_sizes[1] = 0; * nothing to do here as inst->bufq[CAPTURE_PORT].num_planes if (ctrl->val != EXTRADATA_NONE) { * and inst->bufq[CAPTURE_PORT].plane_sizes[1] are already inst->bufq[CAPTURE_PORT].num_planes = 2; * initialized to proper values inst->bufq[CAPTURE_PORT].plane_sizes[1] = */ VENUS_EXTRADATA_SIZE( inst->prop.height[CAPTURE_PORT], inst->prop.width[CAPTURE_PORT]); } break; break; case V4L2_CID_MPEG_VIDC_VIDEO_BUFFER_SIZE_LIMIT: case V4L2_CID_MPEG_VIDC_VIDEO_BUFFER_SIZE_LIMIT: inst->buffer_size_limit = ctrl->val; inst->buffer_size_limit = ctrl->val; Loading Loading @@ -1500,6 +1496,7 @@ int msm_vdec_set_extradata(struct msm_vidc_inst *inst) { { uint32_t display_info = HFI_PROPERTY_PARAM_VUI_DISPLAY_INFO_EXTRADATA; uint32_t display_info = HFI_PROPERTY_PARAM_VUI_DISPLAY_INFO_EXTRADATA; struct v4l2_ctrl *ctrl; struct v4l2_ctrl *ctrl; u32 value = 0x0; ctrl = get_ctrl(inst, V4L2_CID_MPEG_VIDC_VIDEO_EXTRADATA); ctrl = get_ctrl(inst, V4L2_CID_MPEG_VIDC_VIDEO_EXTRADATA); switch (inst->fmts[OUTPUT_PORT].fourcc) { switch (inst->fmts[OUTPUT_PORT].fourcc) { Loading @@ -1517,52 +1514,11 @@ int msm_vdec_set_extradata(struct msm_vidc_inst *inst) break; break; } } if (ctrl->val == EXTRADATA_NONE) { /* Enable Default Extradata */ // Disable all Extradata msm_comm_set_index_extradata(inst, MSM_VIDC_EXTRADATA_OUTPUT_CROP, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_INTERLACE_VIDEO_EXTRADATA, 0x0); msm_comm_set_extradata(inst, display_info, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_UBWC_CR_STAT_INFO_EXTRADATA, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_NUM_CONCEALED_MB, 0x0); if (inst->fmts[OUTPUT_PORT].fourcc == V4L2_PIX_FMT_HEVC) { msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_MASTER_DISP_COL_SEI_EXTRADATA, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_CLL_SEI_EXTRADATA, 0x0); } msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_STREAM_USERDATA_EXTRADATA, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_TIMESTAMP_EXTRADATA, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_S3D_FRAME_PACKING_EXTRADATA, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_FRAME_RATE_EXTRADATA, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_PANSCAN_WNDW_EXTRADATA, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_RECOVERY_POINT_SEI_EXTRADATA, 0x0); msm_comm_set_index_extradata(inst, MSM_VIDC_EXTRADATA_ASPECT_RATIO, 0x0); msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_FRAME_QP_EXTRADATA, 0x0); } if (ctrl->val & EXTRADATA_DEFAULT) { // Enable Default Extradata msm_comm_set_index_extradata(inst, msm_comm_set_index_extradata(inst, MSM_VIDC_EXTRADATA_OUTPUT_CROP, 0x1); MSM_VIDC_EXTRADATA_OUTPUT_CROP, 0x1); msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_INTERLACE_VIDEO_EXTRADATA, HFI_PROPERTY_PARAM_VDEC_INTERLACE_VIDEO_EXTRADATA, 0x1); 0x1); msm_comm_set_extradata(inst, display_info, 0x1); msm_comm_set_extradata(inst, display_info, 0x1); msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_NUM_CONCEALED_MB, 0x1); HFI_PROPERTY_PARAM_VDEC_NUM_CONCEALED_MB, 0x1); Loading @@ -1571,31 +1527,28 @@ int msm_vdec_set_extradata(struct msm_vidc_inst *inst) HFI_PROPERTY_PARAM_VDEC_MASTER_DISP_COL_SEI_EXTRADATA, HFI_PROPERTY_PARAM_VDEC_MASTER_DISP_COL_SEI_EXTRADATA, 0x1); 0x1); msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_CLL_SEI_EXTRADATA, HFI_PROPERTY_PARAM_VDEC_CLL_SEI_EXTRADATA, 0x1); 0x1); } } } if (ctrl->val & EXTRADATA_ADVANCED) { // Enable Advanced Extradata /* Enable / Disable Advanced Extradata */ if (ctrl->val == EXTRADATA_ADVANCED) value = 0x1; msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_STREAM_USERDATA_EXTRADATA, HFI_PROPERTY_PARAM_VDEC_STREAM_USERDATA_EXTRADATA, value); 0x1); msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_TIMESTAMP_EXTRADATA, 0x1); HFI_PROPERTY_PARAM_VDEC_TIMESTAMP_EXTRADATA, value); msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_S3D_FRAME_PACKING_EXTRADATA, 0x1); HFI_PROPERTY_PARAM_S3D_FRAME_PACKING_EXTRADATA, value); msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_FRAME_RATE_EXTRADATA, 0x1); HFI_PROPERTY_PARAM_VDEC_FRAME_RATE_EXTRADATA, value); msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_PANSCAN_WNDW_EXTRADATA, 0x1); HFI_PROPERTY_PARAM_VDEC_PANSCAN_WNDW_EXTRADATA, value); msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_RECOVERY_POINT_SEI_EXTRADATA, HFI_PROPERTY_PARAM_VDEC_RECOVERY_POINT_SEI_EXTRADATA, value); 0x1); msm_comm_set_index_extradata(inst, msm_comm_set_index_extradata(inst, MSM_VIDC_EXTRADATA_ASPECT_RATIO, 0x1); MSM_VIDC_EXTRADATA_ASPECT_RATIO, value); msm_comm_set_extradata(inst, msm_comm_set_extradata(inst, HFI_PROPERTY_PARAM_VDEC_FRAME_QP_EXTRADATA, 0x1); HFI_PROPERTY_PARAM_VDEC_FRAME_QP_EXTRADATA, value); } return 0; return 0; } } Loading