From f815d40eae48520f01eac265c580297559d33bc9 Mon Sep 17 00:00:00 2001 From: hmz007 Date: Wed, 23 Jul 2025 17:39:04 +0800 Subject: [PATCH] rockchip: aiq: disable BAYERTNR_V30 and YUVME_V1 for rk3576 This fixes following log storm: rkisp rkisp-vir1: no bay3d buffer available rkisp rkisp-vir1: yuvme need bay3d enable together Signed-off-by: hmz007 --- external/camera_engine_rkaiq/RkAiqCamGroupManager.cpp | 2 ++ .../camera_engine_rkaiq/aiq_core/RkAiqCoreConfigV39.h | 6 ++++++ external/camera_engine_rkaiq/cmake/BuildOptions.cmake | 6 ++---- external/camera_engine_rkaiq/hwi/isp39/Isp39Params.cpp | 10 ++++++++++ external/camera_engine_rkaiq/rkaiq_switchs.go | 4 ++-- 5 files changed, 22 insertions(+), 6 deletions(-) diff --git a/external/camera_engine_rkaiq/RkAiqCamGroupManager.cpp b/external/camera_engine_rkaiq/RkAiqCamGroupManager.cpp index 628e4c4827f..c586deafa7e 100644 --- a/external/camera_engine_rkaiq/RkAiqCamGroupManager.cpp +++ b/external/camera_engine_rkaiq/RkAiqCamGroupManager.cpp @@ -701,7 +701,9 @@ RkAiqCamGroupManager::newAlgoHandle(RkAiqAlgoDesComm* algo, int hw_ver) NEW_ALGO_HANDLE(AgainV2, AGAIN); #endif #if defined(ISP_HW_V39) +#if (RKAIQ_HAVE_YUVME_V1) NEW_ALGO_HANDLE(AyuvmeV1, AMD); +#endif #if (USE_NEWSTRUCT == 0) NEW_ALGO_HANDLE(AcnrV31, ACNR); #endif diff --git a/external/camera_engine_rkaiq/aiq_core/RkAiqCoreConfigV39.h b/external/camera_engine_rkaiq/aiq_core/RkAiqCoreConfigV39.h index 40b07fdebb3..288b337a22d 100644 --- a/external/camera_engine_rkaiq/aiq_core/RkAiqCoreConfigV39.h +++ b/external/camera_engine_rkaiq/aiq_core/RkAiqCoreConfigV39.h @@ -58,7 +58,9 @@ #include "aynrV24/rk_aiq_aynr_algo_itf_v24.h" #include "ayuvmeV1/rk_aiq_ayuvme_algo_itf_v1.h" #include "newStruct/demosaic/include/demosaic_algo_api.h" +#if (RKAIQ_HAVE_BAYERTNR_V30) #include "newStruct/bayertnr/include/bayertnr_algo_api.h" +#endif #include "newStruct/gamma/include/gamma_algo_api.h" #include "newStruct/ynr/include/ynr_algo_api.h" #include "newStruct/drc/include/drc_algo_api.h" @@ -348,8 +350,10 @@ const static struct RkAiqAlgoDesCommExt g_camgroup_algos[] = { #if USE_NEWSTRUCT { &g_RkIspAlgoDescCamgroupBtnr.common, RK_AIQ_CORE_ANALYZE_OTHER, 40, 40, 40, {0, 0} }, #else +#if (RKAIQ_HAVE_BAYERTNR_V30) { &g_RkIspAlgoDescCamgroupAbayertnrV30.common, RK_AIQ_CORE_ANALYZE_OTHER, 30, 30, 30, {0, 0} }, #endif +#endif #if USE_NEWSTRUCT { &g_RkIspAlgoDescCamgroupSharp.common, RK_AIQ_CORE_ANALYZE_OTHER, 34, 34, 34, {0, 0} }, #else @@ -361,7 +365,9 @@ const static struct RkAiqAlgoDesCommExt g_camgroup_algos[] = { #else { &g_RkIspAlgoDescCamgroupAdhaz.common, RK_AIQ_CORE_ANALYZE_DHAZ, 0, 1, 0, {0, 0} }, #endif +#if (RKAIQ_HAVE_YUVME_V1) { &g_RkIspAlgoDescCamgroupAyuvmeV1.common, RK_AIQ_CORE_ANALYZE_OTHER, 1, 1, 1, {0, 0} }, +#endif #endif { NULL, RK_AIQ_CORE_ANALYZE_ALL, 0, 0, 0, {0, 0} }, // clang-format on diff --git a/external/camera_engine_rkaiq/cmake/BuildOptions.cmake b/external/camera_engine_rkaiq/cmake/BuildOptions.cmake index 5a290a9c74b..2bae3c82a32 100644 --- a/external/camera_engine_rkaiq/cmake/BuildOptions.cmake +++ b/external/camera_engine_rkaiq/cmake/BuildOptions.cmake @@ -136,8 +136,6 @@ elseif (RKAIQ_ISP_VERSION STREQUAL "20") set(RKAIQ_HAVE_FEC TRUE CACHE INTERNAL "Build rkaiq's FEC" FORCE) endif() - - if (RKAIQ_ISP_VERSION STREQUAL "39") set(RKAIQ_HAVE_AWB_V20 FALSE CACHE INTERNAL "Build rkaiq's AWB version 20" FORCE) set(RKAIQ_HAVE_AWB_V21 FALSE CACHE INTERNAL "Build rkaiq's AWB version 21" FORCE) @@ -176,14 +174,14 @@ if (RKAIQ_ISP_VERSION STREQUAL "39") set(RKAIQ_HAVE_BAYERTNR_V2 FALSE CACHE INTERNAL "Build rkaiq's BAYERTNR version 2" FORCE) set(RKAIQ_HAVE_BAYERTNR_V23 FALSE CACHE INTERNAL "Build rkaiq's BAYERTNR version 23" FORCE) set(RKAIQ_HAVE_BAYERTNR_V23_LITE FALSE CACHE INTERNAL "Build rkaiq's BAYERTNR version 23Lite" FORCE) - set(RKAIQ_HAVE_BAYERTNR_V30 TRUE CACHE INTERNAL "Build rkaiq's BAYERTNR version 30" FORCE) + #set(RKAIQ_HAVE_BAYERTNR_V30 TRUE CACHE INTERNAL "Build rkaiq's BAYERTNR version 30" FORCE) set(RKAIQ_HAVE_GAIN_V1 FALSE CACHE INTERNAL "Build rkaiq's GAIN version 1" FORCE) set(RKAIQ_HAVE_GAIN_V2 TRUE CACHE INTERNAL "Build rkaiq's GAIN version 2" FORCE) set(RKAIQ_HAVE_BLC_V1 FALSE CACHE INTERNAL "Build rkaiq's BLC version 1" FORCE) set(RKAIQ_HAVE_BLC_V32 TRUE CACHE INTERNAL "Build rkaiq's BLC version 32" FORCE) set(RKAIQ_HAVE_ANR_V1 FALSE CACHE INTERNAL "Build rkaiq's ANR version 1" FORCE) set(RKAIQ_HAVE_AMD_V1 FALSE CACHE INTERNAL "Build rkaiq's AMD version 1" FORCE) - set(RKAIQ_HAVE_YUVME_V1 TRUE CACHE INTERNAL "Build rkaiq's YUVME version 1" FORCE) + #set(RKAIQ_HAVE_YUVME_V1 TRUE CACHE INTERNAL "Build rkaiq's YUVME version 1" FORCE) set(RKAIQ_HAVE_PDAF TRUE CACHE INTERNAL "Build rkaiq's PDAF" FORCE) set(RKAIQ_HAVE_AF_V20 FALSE CACHE INTERNAL "Build rkaiq's AF version 20" FORCE) set(RKAIQ_HAVE_AF_V30 FALSE CACHE INTERNAL "Build rkaiq's AF version 30" FORCE) diff --git a/external/camera_engine_rkaiq/hwi/isp39/Isp39Params.cpp b/external/camera_engine_rkaiq/hwi/isp39/Isp39Params.cpp index 3269031ffe5..fa84600b19d 100644 --- a/external/camera_engine_rkaiq/hwi/isp39/Isp39Params.cpp +++ b/external/camera_engine_rkaiq/hwi/isp39/Isp39Params.cpp @@ -2974,6 +2974,16 @@ bool Isp39Params::convert3aResultsToIspCfg(SmartPtr& result, void* #if RKAIQ_HAVE_RGBIR_REMOSAIC_V10 RkAiqIspRgbirParamsProxy* params = result.get_cast_ptr(); if (params) convertAiqRgbirToIsp39Params(isp_cfg, params->data()->result); +#endif + } + case RESULT_TYPE_IE_PARAM: + { +#if RKAIQ_HAVE_AIE_V10 +#if USE_NEWSTRUCT + RkAiqIspIeParamsProxy* params = result.get_cast_ptr(); + if (params) + convertAiqIeToIsp20Params(isp_cfg_p, params->data().ptr()); +#endif #endif } break; diff --git a/external/camera_engine_rkaiq/rkaiq_switchs.go b/external/camera_engine_rkaiq/rkaiq_switchs.go index d8ad1c38755..d7dc5771b7c 100644 --- a/external/camera_engine_rkaiq/rkaiq_switchs.go +++ b/external/camera_engine_rkaiq/rkaiq_switchs.go @@ -448,14 +448,14 @@ func rkaiq_macro_switch(soc string) map[string]bool { macros_map["RKAIQ_HAVE_BAYERTNR_V2"] = false macros_map["RKAIQ_HAVE_BAYERTNR_V23"] = false macros_map["RKAIQ_HAVE_BAYERTNR_V23_LITE"] = false - macros_map["RKAIQ_HAVE_BAYERTNR_V30"] = true + macros_map["RKAIQ_HAVE_BAYERTNR_V30"] = false macros_map["RKAIQ_HAVE_GAIN_V1"] = false macros_map["RKAIQ_HAVE_GAIN_V2"] = true macros_map["RKAIQ_HAVE_BLC_V1"] = false macros_map["RKAIQ_HAVE_BLC_V32"] = true macros_map["RKAIQ_HAVE_ANR_V1"] = false macros_map["RKAIQ_HAVE_AMD_V1"] = false - macros_map["RKAIQ_HAVE_YUVME_V1"] = true + macros_map["RKAIQ_HAVE_YUVME_V1"] = false macros_map["RKAIQ_HAVE_PDAF"] = true macros_map["RKAIQ_HAVE_AF_V20"] = false macros_map["RKAIQ_HAVE_AF_V30"] = false