Loading drivers/media/platform/msm/vidc/msm_venc.c +1 −1 Original line number Diff line number Diff line Loading @@ -86,7 +86,6 @@ static const char *const h264_video_entropy_cabac_model[] = { }; static const char *const hevc_tier_level[] = { "Level unknown" "Main Tier Level 1", "Main Tier Level 2", "Main Tier Level 2.1", Loading @@ -113,6 +112,7 @@ static const char *const hevc_tier_level[] = { "High Tier Level 6", "High Tier Level 6.1", "High Tier Level 6.2", "Level unknown", }; static const char *const hevc_profile[] = { Loading drivers/media/platform/msm/vidc/msm_vidc.c +18 −4 Original line number Diff line number Diff line Loading @@ -1888,16 +1888,30 @@ static int try_get_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl) switch (ctrl->id) { case V4L2_CID_MPEG_VIDEO_H264_PROFILE: case V4L2_CID_MPEG_VIDC_VIDEO_MPEG2_PROFILE: ctrl->val = msm_comm_hal_to_v4l2( V4L2_CID_MPEG_VIDEO_H264_PROFILE, inst->profile); break; case V4L2_CID_MPEG_VIDC_VIDEO_HEVC_PROFILE: ctrl->val = inst->profile; ctrl->val = msm_comm_hal_to_v4l2( V4L2_CID_MPEG_VIDC_VIDEO_HEVC_PROFILE, inst->profile); break; case V4L2_CID_MPEG_VIDEO_H264_LEVEL: ctrl->val = msm_comm_hal_to_v4l2( V4L2_CID_MPEG_VIDEO_H264_LEVEL, inst->level); break; case V4L2_CID_MPEG_VIDC_VIDEO_VP8_PROFILE_LEVEL: case V4L2_CID_MPEG_VIDC_VIDEO_MPEG2_LEVEL: ctrl->val = msm_comm_hal_to_v4l2( V4L2_CID_MPEG_VIDC_VIDEO_VP8_PROFILE_LEVEL, inst->level); break; case V4L2_CID_MPEG_VIDC_VIDEO_HEVC_TIER_LEVEL: ctrl->val = inst->level; ctrl->val = msm_comm_hal_to_v4l2( V4L2_CID_MPEG_VIDC_VIDEO_HEVC_TIER_LEVEL, inst->level); break; case V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE: Loading drivers/media/platform/msm/vidc/msm_vidc_common.c +91 −9 Original line number Diff line number Diff line Loading @@ -199,6 +199,8 @@ int msm_comm_hal_to_v4l2(int id, int value) return V4L2_MPEG_VIDEO_H264_LEVEL_5_0; case HAL_H264_LEVEL_51: return V4L2_MPEG_VIDEO_H264_LEVEL_5_1; case HAL_H264_LEVEL_52: return V4L2_MPEG_VIDEO_H264_LEVEL_5_2; default: goto unknown_value; } Loading @@ -212,7 +214,91 @@ int msm_comm_hal_to_v4l2(int id, int value) default: goto unknown_value; } case V4L2_CID_MPEG_VIDC_VIDEO_HEVC_PROFILE: switch (value) { case HAL_HEVC_PROFILE_MAIN: return V4L2_MPEG_VIDC_VIDEO_HEVC_PROFILE_MAIN; case HAL_HEVC_PROFILE_MAIN10: return V4L2_MPEG_VIDC_VIDEO_HEVC_PROFILE_MAIN10; case HAL_HEVC_PROFILE_MAIN_STILL_PIC: return V4L2_MPEG_VIDC_VIDEO_HEVC_PROFILE_MAIN_STILL_PIC; default: goto unknown_value; } case V4L2_CID_MPEG_VIDC_VIDEO_HEVC_TIER_LEVEL: switch (value) { case HAL_HEVC_MAIN_TIER_LEVEL_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_1; case HAL_HEVC_MAIN_TIER_LEVEL_2: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_2; case HAL_HEVC_MAIN_TIER_LEVEL_2_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_2_1; case HAL_HEVC_MAIN_TIER_LEVEL_3: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_3; case HAL_HEVC_MAIN_TIER_LEVEL_3_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_3_1; case HAL_HEVC_MAIN_TIER_LEVEL_4: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_4; case HAL_HEVC_MAIN_TIER_LEVEL_4_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_4_1; case HAL_HEVC_MAIN_TIER_LEVEL_5: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_5; case HAL_HEVC_MAIN_TIER_LEVEL_5_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_5_1; case HAL_HEVC_MAIN_TIER_LEVEL_5_2: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_5_2; case HAL_HEVC_MAIN_TIER_LEVEL_6: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_6; case HAL_HEVC_MAIN_TIER_LEVEL_6_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_6_1; case HAL_HEVC_MAIN_TIER_LEVEL_6_2: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_6_2; case HAL_HEVC_HIGH_TIER_LEVEL_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_1; case HAL_HEVC_HIGH_TIER_LEVEL_2: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_2; case HAL_HEVC_HIGH_TIER_LEVEL_2_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_2_1; case HAL_HEVC_HIGH_TIER_LEVEL_3: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_3; case HAL_HEVC_HIGH_TIER_LEVEL_3_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_3_1; case HAL_HEVC_HIGH_TIER_LEVEL_4: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_4; case HAL_HEVC_HIGH_TIER_LEVEL_4_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_4_1; case HAL_HEVC_HIGH_TIER_LEVEL_5: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_5; case HAL_HEVC_HIGH_TIER_LEVEL_5_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_5_1; case HAL_HEVC_HIGH_TIER_LEVEL_5_2: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_5_2; case HAL_HEVC_HIGH_TIER_LEVEL_6: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_6; case HAL_HEVC_HIGH_TIER_LEVEL_6_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_6_1; case HAL_HEVC_HIGH_TIER_LEVEL_6_2: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_6_2; case V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_UNKNOWN: return HAL_HEVC_TIER_LEVEL_UNKNOWN; default: goto unknown_value; } case V4L2_CID_MPEG_VIDC_VIDEO_VP8_PROFILE_LEVEL: switch (value) { case HAL_VPX_LEVEL_VERSION_0: return V4L2_MPEG_VIDC_VIDEO_VP8_VERSION_0; case HAL_VPX_LEVEL_VERSION_1: return V4L2_MPEG_VIDC_VIDEO_VP8_VERSION_1; case HAL_VPX_LEVEL_VERSION_2: return V4L2_MPEG_VIDC_VIDEO_VP8_VERSION_2; case HAL_VPX_LEVEL_VERSION_3: return V4L2_MPEG_VIDC_VIDEO_VP8_VERSION_3; case HAL_VPX_LEVEL_UNUSED: return V4L2_MPEG_VIDC_VIDEO_VP8_UNUSED; default: goto unknown_value; } case V4L2_CID_MPEG_VIDC_VIDEO_MPEG2_PROFILE: case V4L2_CID_MPEG_VIDC_VIDEO_MPEG2_LEVEL: /* Loading Loading @@ -396,6 +482,8 @@ int msm_comm_v4l2_to_hal(int id, int value) return HAL_HEVC_HIGH_TIER_LEVEL_6; case V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_6_1: return HAL_HEVC_HIGH_TIER_LEVEL_6_1; case V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_6_2: return HAL_HEVC_HIGH_TIER_LEVEL_6_2; case V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_UNKNOWN: return HAL_HEVC_TIER_LEVEL_UNKNOWN; default: Loading Loading @@ -1463,15 +1551,9 @@ static void handle_event_change(enum hal_command_response cmd, void *data) * ptr[4] = colour space */ inst->entropy_mode = msm_comm_hal_to_v4l2( V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE, event_notify->entropy_mode); inst->profile = msm_comm_hal_to_v4l2( V4L2_CID_MPEG_VIDEO_H264_PROFILE, event_notify->profile); inst->level = msm_comm_hal_to_v4l2( V4L2_CID_MPEG_VIDEO_H264_LEVEL, event_notify->level); inst->entropy_mode = event_notify->entropy_mode; inst->profile = event_notify->profile; inst->level = event_notify->level; ptr = (u32 *)seq_changed_event.u.data; ptr[0] = event_notify->height; Loading drivers/media/platform/msm/vidc/vidc_hfi_api.h +1 −1 Original line number Diff line number Diff line Loading @@ -377,11 +377,11 @@ enum hal_vpx_profile { }; enum hal_vpx_level { HAL_VPX_LEVEL_UNUSED = 0x00000000, HAL_VPX_LEVEL_VERSION_0 = 0x00000001, HAL_VPX_LEVEL_VERSION_1 = 0x00000002, HAL_VPX_LEVEL_VERSION_2 = 0x00000004, HAL_VPX_LEVEL_VERSION_3 = 0x00000008, HAL_VPX_LEVEL_UNUSED = 0x10000000, }; struct hal_frame_rate { Loading Loading
drivers/media/platform/msm/vidc/msm_venc.c +1 −1 Original line number Diff line number Diff line Loading @@ -86,7 +86,6 @@ static const char *const h264_video_entropy_cabac_model[] = { }; static const char *const hevc_tier_level[] = { "Level unknown" "Main Tier Level 1", "Main Tier Level 2", "Main Tier Level 2.1", Loading @@ -113,6 +112,7 @@ static const char *const hevc_tier_level[] = { "High Tier Level 6", "High Tier Level 6.1", "High Tier Level 6.2", "Level unknown", }; static const char *const hevc_profile[] = { Loading
drivers/media/platform/msm/vidc/msm_vidc.c +18 −4 Original line number Diff line number Diff line Loading @@ -1888,16 +1888,30 @@ static int try_get_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl) switch (ctrl->id) { case V4L2_CID_MPEG_VIDEO_H264_PROFILE: case V4L2_CID_MPEG_VIDC_VIDEO_MPEG2_PROFILE: ctrl->val = msm_comm_hal_to_v4l2( V4L2_CID_MPEG_VIDEO_H264_PROFILE, inst->profile); break; case V4L2_CID_MPEG_VIDC_VIDEO_HEVC_PROFILE: ctrl->val = inst->profile; ctrl->val = msm_comm_hal_to_v4l2( V4L2_CID_MPEG_VIDC_VIDEO_HEVC_PROFILE, inst->profile); break; case V4L2_CID_MPEG_VIDEO_H264_LEVEL: ctrl->val = msm_comm_hal_to_v4l2( V4L2_CID_MPEG_VIDEO_H264_LEVEL, inst->level); break; case V4L2_CID_MPEG_VIDC_VIDEO_VP8_PROFILE_LEVEL: case V4L2_CID_MPEG_VIDC_VIDEO_MPEG2_LEVEL: ctrl->val = msm_comm_hal_to_v4l2( V4L2_CID_MPEG_VIDC_VIDEO_VP8_PROFILE_LEVEL, inst->level); break; case V4L2_CID_MPEG_VIDC_VIDEO_HEVC_TIER_LEVEL: ctrl->val = inst->level; ctrl->val = msm_comm_hal_to_v4l2( V4L2_CID_MPEG_VIDC_VIDEO_HEVC_TIER_LEVEL, inst->level); break; case V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE: Loading
drivers/media/platform/msm/vidc/msm_vidc_common.c +91 −9 Original line number Diff line number Diff line Loading @@ -199,6 +199,8 @@ int msm_comm_hal_to_v4l2(int id, int value) return V4L2_MPEG_VIDEO_H264_LEVEL_5_0; case HAL_H264_LEVEL_51: return V4L2_MPEG_VIDEO_H264_LEVEL_5_1; case HAL_H264_LEVEL_52: return V4L2_MPEG_VIDEO_H264_LEVEL_5_2; default: goto unknown_value; } Loading @@ -212,7 +214,91 @@ int msm_comm_hal_to_v4l2(int id, int value) default: goto unknown_value; } case V4L2_CID_MPEG_VIDC_VIDEO_HEVC_PROFILE: switch (value) { case HAL_HEVC_PROFILE_MAIN: return V4L2_MPEG_VIDC_VIDEO_HEVC_PROFILE_MAIN; case HAL_HEVC_PROFILE_MAIN10: return V4L2_MPEG_VIDC_VIDEO_HEVC_PROFILE_MAIN10; case HAL_HEVC_PROFILE_MAIN_STILL_PIC: return V4L2_MPEG_VIDC_VIDEO_HEVC_PROFILE_MAIN_STILL_PIC; default: goto unknown_value; } case V4L2_CID_MPEG_VIDC_VIDEO_HEVC_TIER_LEVEL: switch (value) { case HAL_HEVC_MAIN_TIER_LEVEL_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_1; case HAL_HEVC_MAIN_TIER_LEVEL_2: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_2; case HAL_HEVC_MAIN_TIER_LEVEL_2_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_2_1; case HAL_HEVC_MAIN_TIER_LEVEL_3: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_3; case HAL_HEVC_MAIN_TIER_LEVEL_3_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_3_1; case HAL_HEVC_MAIN_TIER_LEVEL_4: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_4; case HAL_HEVC_MAIN_TIER_LEVEL_4_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_4_1; case HAL_HEVC_MAIN_TIER_LEVEL_5: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_5; case HAL_HEVC_MAIN_TIER_LEVEL_5_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_5_1; case HAL_HEVC_MAIN_TIER_LEVEL_5_2: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_5_2; case HAL_HEVC_MAIN_TIER_LEVEL_6: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_6; case HAL_HEVC_MAIN_TIER_LEVEL_6_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_6_1; case HAL_HEVC_MAIN_TIER_LEVEL_6_2: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_MAIN_TIER_LEVEL_6_2; case HAL_HEVC_HIGH_TIER_LEVEL_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_1; case HAL_HEVC_HIGH_TIER_LEVEL_2: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_2; case HAL_HEVC_HIGH_TIER_LEVEL_2_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_2_1; case HAL_HEVC_HIGH_TIER_LEVEL_3: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_3; case HAL_HEVC_HIGH_TIER_LEVEL_3_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_3_1; case HAL_HEVC_HIGH_TIER_LEVEL_4: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_4; case HAL_HEVC_HIGH_TIER_LEVEL_4_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_4_1; case HAL_HEVC_HIGH_TIER_LEVEL_5: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_5; case HAL_HEVC_HIGH_TIER_LEVEL_5_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_5_1; case HAL_HEVC_HIGH_TIER_LEVEL_5_2: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_5_2; case HAL_HEVC_HIGH_TIER_LEVEL_6: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_6; case HAL_HEVC_HIGH_TIER_LEVEL_6_1: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_6_1; case HAL_HEVC_HIGH_TIER_LEVEL_6_2: return V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_6_2; case V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_UNKNOWN: return HAL_HEVC_TIER_LEVEL_UNKNOWN; default: goto unknown_value; } case V4L2_CID_MPEG_VIDC_VIDEO_VP8_PROFILE_LEVEL: switch (value) { case HAL_VPX_LEVEL_VERSION_0: return V4L2_MPEG_VIDC_VIDEO_VP8_VERSION_0; case HAL_VPX_LEVEL_VERSION_1: return V4L2_MPEG_VIDC_VIDEO_VP8_VERSION_1; case HAL_VPX_LEVEL_VERSION_2: return V4L2_MPEG_VIDC_VIDEO_VP8_VERSION_2; case HAL_VPX_LEVEL_VERSION_3: return V4L2_MPEG_VIDC_VIDEO_VP8_VERSION_3; case HAL_VPX_LEVEL_UNUSED: return V4L2_MPEG_VIDC_VIDEO_VP8_UNUSED; default: goto unknown_value; } case V4L2_CID_MPEG_VIDC_VIDEO_MPEG2_PROFILE: case V4L2_CID_MPEG_VIDC_VIDEO_MPEG2_LEVEL: /* Loading Loading @@ -396,6 +482,8 @@ int msm_comm_v4l2_to_hal(int id, int value) return HAL_HEVC_HIGH_TIER_LEVEL_6; case V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_6_1: return HAL_HEVC_HIGH_TIER_LEVEL_6_1; case V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_HIGH_TIER_LEVEL_6_2: return HAL_HEVC_HIGH_TIER_LEVEL_6_2; case V4L2_MPEG_VIDC_VIDEO_HEVC_LEVEL_UNKNOWN: return HAL_HEVC_TIER_LEVEL_UNKNOWN; default: Loading Loading @@ -1463,15 +1551,9 @@ static void handle_event_change(enum hal_command_response cmd, void *data) * ptr[4] = colour space */ inst->entropy_mode = msm_comm_hal_to_v4l2( V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE, event_notify->entropy_mode); inst->profile = msm_comm_hal_to_v4l2( V4L2_CID_MPEG_VIDEO_H264_PROFILE, event_notify->profile); inst->level = msm_comm_hal_to_v4l2( V4L2_CID_MPEG_VIDEO_H264_LEVEL, event_notify->level); inst->entropy_mode = event_notify->entropy_mode; inst->profile = event_notify->profile; inst->level = event_notify->level; ptr = (u32 *)seq_changed_event.u.data; ptr[0] = event_notify->height; Loading
drivers/media/platform/msm/vidc/vidc_hfi_api.h +1 −1 Original line number Diff line number Diff line Loading @@ -377,11 +377,11 @@ enum hal_vpx_profile { }; enum hal_vpx_level { HAL_VPX_LEVEL_UNUSED = 0x00000000, HAL_VPX_LEVEL_VERSION_0 = 0x00000001, HAL_VPX_LEVEL_VERSION_1 = 0x00000002, HAL_VPX_LEVEL_VERSION_2 = 0x00000004, HAL_VPX_LEVEL_VERSION_3 = 0x00000008, HAL_VPX_LEVEL_UNUSED = 0x10000000, }; struct hal_frame_rate { Loading