media: iris: Add platform capabilities for HEVC and VP9 decoders

Add platform capabilities for HEVC and VP9 codecs in decoder driver
with related hooks.

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Acked-by: Vikash Garodia <quic_vgarodia@quicinc.com>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-HDK
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-QRD
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-HDK
Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
Tested-by: Vikash Garodia <quic_vgarodia@quicinc.com> # on sa8775p-ride
Signed-off-by: Bryan O'Donoghue <bod@kernel.org>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
This commit is contained in:
Dikshita Agarwal
2025-05-09 14:09:09 +05:30
committed by Hans Verkuil
parent fde6161d91
commit f44ef2d405
7 changed files with 266 additions and 39 deletions

View File

@@ -18,9 +18,19 @@ static enum platform_inst_fw_cap_type iris_get_cap_id(u32 id)
{
switch (id) {
case V4L2_CID_MPEG_VIDEO_H264_PROFILE:
return PROFILE;
return PROFILE_H264;
case V4L2_CID_MPEG_VIDEO_HEVC_PROFILE:
return PROFILE_HEVC;
case V4L2_CID_MPEG_VIDEO_VP9_PROFILE:
return PROFILE_VP9;
case V4L2_CID_MPEG_VIDEO_H264_LEVEL:
return LEVEL;
return LEVEL_H264;
case V4L2_CID_MPEG_VIDEO_HEVC_LEVEL:
return LEVEL_HEVC;
case V4L2_CID_MPEG_VIDEO_VP9_LEVEL:
return LEVEL_VP9;
case V4L2_CID_MPEG_VIDEO_HEVC_TIER:
return TIER;
default:
return INST_FW_CAP_MAX;
}
@@ -32,10 +42,20 @@ static u32 iris_get_v4l2_id(enum platform_inst_fw_cap_type cap_id)
return 0;
switch (cap_id) {
case PROFILE:
case PROFILE_H264:
return V4L2_CID_MPEG_VIDEO_H264_PROFILE;
case LEVEL:
case PROFILE_HEVC:
return V4L2_CID_MPEG_VIDEO_HEVC_PROFILE;
case PROFILE_VP9:
return V4L2_CID_MPEG_VIDEO_VP9_PROFILE;
case LEVEL_H264:
return V4L2_CID_MPEG_VIDEO_H264_LEVEL;
case LEVEL_HEVC:
return V4L2_CID_MPEG_VIDEO_HEVC_LEVEL;
case LEVEL_VP9:
return V4L2_CID_MPEG_VIDEO_VP9_LEVEL;
case TIER:
return V4L2_CID_MPEG_VIDEO_HEVC_TIER;
default:
return 0;
}