[jpege]: add new client type for vepu2 jpeg only

Add VPU_CLIENT_VEPU2_JPEG to distinguish vepu2 jpege only device.
And check whether kernel support the client type or not.

rk3588 has 4 jpeg encoder core and we will use VPU_CLIENT_VEPU2_JPEG as
its client type in kernel.

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Ib1c45781ac9c8f504ba7b46f2f0c7aad5d16fa68
This commit is contained in:
Yandong Lin
2022-06-14 16:09:46 +08:00
committed by Herman Chen
parent 8ce07dbfba
commit def09cb3c2
8 changed files with 26 additions and 19 deletions

View File

@@ -92,6 +92,7 @@ public:
const char *get_soc_name() { return soc_name; };
MppServiceCmdCap *get_mpp_service_cmd_cap() { return &mpp_service_cmd_cap; };
RK_U32 get_hw_id(RK_S32 client_type);
RK_U32 get_vcodec_type(void) { return vcodec_type; };
};
MppPlatformService::MppPlatformService()
@@ -127,7 +128,8 @@ MppPlatformService::MppPlatformService()
check_mpp_service_cap(&vcodec_type, hw_ids, cap);
}
kernel_version = check_kernel_version();
vcodec_type = soc_info->vcodec_type;
if (!vcodec_type)
vcodec_type = soc_info->vcodec_type;
}
RK_U32 MppPlatformService::get_hw_id(RK_S32 client_type)
@@ -172,3 +174,13 @@ RK_U32 mpp_get_client_hw_id(RK_S32 client_type)
{
return MppPlatformService::get_instance()->get_hw_id(client_type);
}
RK_U32 mpp_get_vcodec_type(void)
{
static RK_U32 vcodec_type = 0;
if (!vcodec_type)
vcodec_type = MppPlatformService::get_instance()->get_vcodec_type();
return vcodec_type;
}