From a35ad1b77cdf6062bd90f026262c2ffaee8f21d0 Mon Sep 17 00:00:00 2001 From: "zejian.su" Date: Thu, 23 Nov 2023 15:36:51 +0800 Subject: [PATCH] Modify the IPA' framework. 1. Move the files of 'ipa/starfive/helper' to 'ipa/starfive'. 2. Add a folder named 'openAlgo' to supply the interface of 'algorithms', but it does nothing. It will generate the starfive_isp_algorithms.so. 3. Let the ipa_starfive.so invoke the functions from starfive_isp_algorithms.so. 4. Add the starfive_isp_algorithms.so.x.x.x to folder 'starfive_post_script'. It's the full IPA algorithms library. Use it to substitute starfive_isp_algorithms.so generated by the building to get the full functions of the IPA. 5. Remove the ipa_starfive.so.x.x.x from folder 'starfive_post_script'. 6. Modify the ls starfive_post_script/replace_and_sign_ipa_starfive_lib.sh to starfive_post_script/replace_algorithm_lib.sh for it just need to replace the so file. And the sign file is not need to create. Signed-off-by: zejian.su --- package/libcamera/libcamera.hash | 2 +- package/libcamera/libcamera.mk | 17 ++++++++--------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/package/libcamera/libcamera.hash b/package/libcamera/libcamera.hash index 8c75ed01..418bb592 100644 --- a/package/libcamera/libcamera.hash +++ b/package/libcamera/libcamera.hash @@ -1 +1 @@ -sha256 bf967a208598db61f3d3470948fc82ef539f5c12b67b09891a6d735ba536db1d libcamera-8e8657042c06d0fc6c90e4031cfb93251ec9d5d2-br1.tar.gz +sha256 82a027fc630b935fcafc0823f552fc9e778cd8223f39a4b257ee7b3fb7735d1c libcamera-9b28cffeba4698ce65c288146fa79cf748f0b609-br1.tar.gz diff --git a/package/libcamera/libcamera.mk b/package/libcamera/libcamera.mk index c0c6b111..bf4f68da 100755 --- a/package/libcamera/libcamera.mk +++ b/package/libcamera/libcamera.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCAMERA_VERSION = 8e8657042c06d0fc6c90e4031cfb93251ec9d5d2 +LIBCAMERA_VERSION = 9b28cffeba4698ce65c288146fa79cf748f0b609 LIBCAMERA_SITE = https://github.com/starfive-tech/libcamera LIBCAMERA_SITE_METHOD = git @@ -142,8 +142,8 @@ endef ## replace with the starfive full feature ipa library which is closed source when post build define LIBCAMERA_BUILD_REPLACE_STARFIVE_IPA @echo "LIBCAMERA_POST_BUILD_HOOKS !!!!" - $(if $(wildcard $(@D)/starfive_post_script/replace_and_sign_ipa_starfive_lib.sh), - $(@D)/starfive_post_script/replace_and_sign_ipa_starfive_lib.sh) + $(if $(wildcard $(@D)/starfive_post_script/replace_algorithm_lib.sh), + $(@D)/starfive_post_script/replace_algorithm_lib.sh) endef LIBCAMERA_POST_BUILD_HOOKS += LIBCAMERA_BUILD_REPLACE_STARFIVE_IPA @@ -151,8 +151,8 @@ LIBCAMERA_POST_BUILD_HOOKS += LIBCAMERA_BUILD_REPLACE_STARFIVE_IPA ## replace with the starfive full feature ipa library which is closed source when post install to stage define LIBCAMERA_INSTALL_STAGING_REPLACE_STARFIVE_IPA @echo "LIBCAMERA_POST_INSTALL_STAGING_HOOKS !!!!" - $(if $(wildcard $(@D)/starfive_post_script/replace_and_sign_ipa_starfive_lib.sh), - $(@D)/starfive_post_script/replace_and_sign_ipa_starfive_lib.sh $(STAGING_DIR)/usr/lib/libcamera) + $(if $(wildcard $(@D)/starfive_post_script/replace_algorithm_lib.sh), + $(@D)/starfive_post_script/replace_algorithm_lib.sh $(STAGING_DIR)/usr/lib/) endef LIBCAMERA_POST_INSTALL_STAGING_HOOKS += LIBCAMERA_INSTALL_STAGING_REPLACE_STARFIVE_IPA @@ -160,13 +160,12 @@ LIBCAMERA_POST_INSTALL_STAGING_HOOKS += LIBCAMERA_INSTALL_STAGING_REPLACE_STARFI ## consider the support/scripts/fix-rpath will always change the rpath in library when make rootfs, so try to run it before sign define LIBCAMERA_TARGET_INSTALL_REPLACE_STARFIVE_IPA @echo "LIBCAMERA_POST_INSTALL_TARGET_HOOKS !!!!" - $(if $(wildcard $(@D)/starfive_post_script/replace_and_sign_ipa_starfive_lib.sh), - $(@D)/starfive_post_script/replace_and_sign_ipa_starfive_lib.sh $(TARGET_DIR)/usr/lib/libcamera; \ - $(@D)/starfive_post_script/replace_and_sign_ipa_starfive_lib.sh) + $(if $(wildcard $(@D)/starfive_post_script/replace_algorithm_lib.sh), + $(@D)/starfive_post_script/replace_algorithm_lib.sh $(TARGET_DIR)/usr/lib/; \ + $(@D)/starfive_post_script/replace_algorithm_lib.sh) PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) $(TOPDIR)/support/scripts/fix-rpath target $(@D)/src/ipa/ipa-sign-install.sh $(@D)/build/src/ipa-priv-key.pem $(TARGET_DIR)/usr/lib/libcamera/ipa_starfive.so @echo "$(@D)/src/ipa/ipa-sign-install.sh $(@D)/build/src/ipa-priv-key.pem $(TARGET_DIR)/usr/lib/libcamera/ipa_starfive.so" - endef LIBCAMERA_POST_INSTALL_TARGET_HOOKS += LIBCAMERA_TARGET_INSTALL_REPLACE_STARFIVE_IPA