diff --git a/aosp/vendor/isula/vagpu/Android.bp b/aosp/vendor/isula/vagpu/Android.bp new file mode 100644 index 0000000000000000000000000000000000000000..0d046355a43b82680a4fb2926d684c4b56c1cabd --- /dev/null +++ b/aosp/vendor/isula/vagpu/Android.bp @@ -0,0 +1,27 @@ +cc_prebuilt_library_shared { + name: "libvaccrt", + vendor_available: true, + compile_multilib: "both", + target: { + android_arm: { + srcs: ["system/vendor/lib/libvaccrt.so"], + }, + android_arm64: { + srcs: ["system/vendor/lib64/libvaccrt.so"], + }, + }, +} + +cc_prebuilt_library_shared { + name: "libc++_shared", + vendor_available: true, + compile_multilib: "both", + target: { + android_arm: { + srcs: ["system/vendor/lib/libc++_shared.so"], + }, + android_arm64: { + srcs: ["system/vendor/lib64/libc++_shared.so"], + }, + }, +} diff --git a/aosp/vendor/isula/vagpu/Android.mk b/aosp/vendor/isula/vagpu/Android.mk new file mode 100644 index 0000000000000000000000000000000000000000..0d31fd7396ed45686e497a305bb3ff00bdeb529a --- /dev/null +++ b/aosp/vendor/isula/vagpu/Android.mk @@ -0,0 +1,315 @@ +LOCAL_PATH := $(call my-dir) + +define install-va-shared-libs +include $$(CLEAR_VARS) +LOCAL_MODULE := $1 +LOCAL_VENDOR_MODULE := true +LOCAL_SRC_FILES_arm64 := $2 +ifneq ($3,) +LOCAL_SRC_FILES_arm := $3 +endif +LOCAL_MODULE_CLASS := SHARED_LIBRARIES +ifneq ($4,) +LOCAL_MODULE_RELATIVE_PATH := $4 +endif +LOCAL_MODULE_SUFFIX := .so +LOCAL_CHECK_ELF_FILES := false +ifneq ($5,) +LOCAL_MULTILIB := $5 +endif +include $$(BUILD_PREBUILT) +endef + +define install-codec-libs-to-system +include $$(CLEAR_VARS) +LOCAL_MODULE := $1 +LOCAL_SRC_FILES_arm64 := $2 +ifneq ($3,) +LOCAL_SRC_FILES_arm := $3 +endif +LOCAL_MODULE_CLASS := SHARED_LIBRARIES +ifneq ($4,) +LOCAL_MODULE_RELATIVE_PATH := $4 +endif +LOCAL_MODULE_SUFFIX := .so +LOCAL_CHECK_ELF_FILES := false +ifneq ($5,) +LOCAL_MULTILIB := $5 +endif +include $$(BUILD_PREBUILT) +endef + +define install-va-video-libs +include $$(CLEAR_VARS) +LOCAL_MODULE := $1 +LOCAL_VENDOR_MODULE := true +LOCAL_SRC_FILES_arm64 := $2 +ifneq ($3,) +LOCAL_SRC_FILES_arm := $3 +endif +LOCAL_MODULE_CLASS := SHARED_LIBRARIES +ifneq ($4,) +LOCAL_MODULE_RELATIVE_PATH := $4 +endif +LOCAL_CHECK_ELF_FILES := false +ifneq ($5,) +LOCAL_MULTILIB := $5 +endif +include $$(BUILD_PREBUILT) +endef + +define install-va-configs +include $$(CLEAR_VARS) +LOCAL_MODULE := $1 +LOCAL_VENDOR_MODULE := true +LOCAL_SRC_FILES_arm64 := $2 +ifneq ($3,) +LOCAL_SRC_FILES_arm := $3 +endif +ifneq ($4,) +LOCAL_MODULE_PATH := $4 +endif +LOCAL_MODULE_CLASS := ETC +LOCAL_CHECK_ELF_FILES := false +include $$(BUILD_PREBUILT) +endef + +define install-va-bins +include $$(CLEAR_VARS) +LOCAL_MODULE := $1 +LOCAL_SRC_FILES_arm64 := $2 +ifneq ($3,) +LOCAL_SRC_FILES_arm := $3 +endif +ifneq ($4,) +LOCAL_MODULE_RELATIVE_PATH := $4 +endif +LOCAL_MODULE_CLASS := EXECUTABLES +LOCAL_CHECK_ELF_FILES := false +LOCAL_PROPRIETARY_MODULE = true +include $$(BUILD_PREBUILT) +endef + +define override-va-syslibs +include $$(CLEAR_VARS) +LOCAL_MODULE := $1 +LOCAL_SRC_FILES_arm64 := $2 +ifneq ($3,) +LOCAL_SRC_FILES_arm := $3 +endif +LOCAL_MODULE_PATH := $(TARGET_OUT_SYSTEM_LIB64) +LOCAL_MODULE_CLASS := SHARED_LIBRARIES +LOCAL_CHECK_ELF_FILES := false +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_SUFFIX := .so +LOCAL_OVERRIDES_PACKAGES := $1 +include $$(BUILD_PREBUILT) +endef + +ifneq ($(wildcard $(LOCAL_PATH)/system/vendor/lib),) +VA_MULTILIB := both +else +VA_MULTILIB := first +endif + + +# GFX + +egl_libs := \ +libEGL_default \ +libGLESv2_default \ +libGLESv1_CM_default \ + +$(foreach lib, $(egl_libs), \ + $(eval $(call install-va-shared-libs, \ + $(lib), \ + system/vendor/lib64/egl/$(lib).so, \ + system/vendor/lib/egl/$(lib).so, \ + egl, \ + $(VA_MULTILIB)))) + +hw_libs := \ +gralloc.default \ +vulkan.default \ +hwcomposer.default \ + +$(foreach lib, $(hw_libs), \ + $(eval $(call install-va-shared-libs, \ + $(lib), \ + system/vendor/lib64/hw/$(lib).so, \ + system/vendor/lib/hw/$(lib).so, \ + hw, \ + $(VA_MULTILIB)))) + +um_libs := \ +libVAegl \ +libsrv_um \ +libusc \ +libufwriter \ +libsutu_display \ +libcreatesurface \ +libvaANDROID_WSEGL \ +libvalloc \ + +$(foreach lib, $(um_libs), \ + $(eval $(call install-va-shared-libs, \ + $(lib), \ + system/vendor/lib64/$(lib).so, \ + system/vendor/lib/$(lib).so, \ + , \ + $(VA_MULTILIB)))) + +gpu_bins := \ +gpu_config.sh \ + +$(foreach bin, $(gpu_bins), \ + $(eval $(call install-va-bins, \ + $(bin), \ + system/vendor/bin/$(bin), \ + , \ + ))) + +va_config := \ +va_gfx.ini \ + +$(foreach config, $(va_config), \ + $(eval $(call install-va-configs, \ + $(config), \ + system/vendor/etc/$(config), \ + , \ + $(TARGET_OUT_VENDOR_ETC)))) + +$(foreach config, $(vame_config), \ + $(if $(wildcard $(LOCAL_PATH)/system/vendor/etc/$(config)), \ + $(eval $(call install-va-configs, \ + $(config), \ + system/vendor/etc/$(config), \ + , \ + $(TARGET_OUT_VENDOR_ETC))))) + +# va libs + +va_libs := \ +libvmpp-enc \ +libvmpp-dec \ + +$(foreach lib, $(va_libs), \ + $(if $(wildcard $(LOCAL_PATH)/system/vendor/lib64/$(lib).so), \ + $(eval $(call install-va-shared-libs, \ + $(lib), \ + system/vendor/lib64/$(lib).so, \ + system/vendor/lib/$(lib).so, \ + , \ + $(VA_MULTILIB))))) + +# OMX + +omx_libs := \ +libstagefrighthw_va \ +libVa_OMX_VideoDec_HW \ +va_omx_component \ + +$(foreach lib, $(omx_libs), \ + $(if $(wildcard $(LOCAL_PATH)/system/vendor/lib64/$(lib).so), \ + $(eval $(call install-va-shared-libs, \ + $(lib), \ + system/vendor/lib64/$(lib).so, \ + system/vendor/lib/$(lib).so, \ + , \ + $(VA_MULTILIB))))) + +omx_config := \ +media_codecs_va_video.xml \ + +$(foreach config, $(omx_config), \ + $(if $(wildcard $(LOCAL_PATH)/system/vendor/etc/$(config)), \ + $(eval $(call install-va-configs, \ + $(config), \ + system/vendor/etc/$(config), \ + , \ + $(TARGET_OUT_VENDOR_ETC))))) + +# C2 + +codec2_libs := \ + libcodec2_default_common \ + libcodec2_default_store \ + libcodec2_default_video_enc \ + libcodec2_default_video_dec \ + libcodec2_default_component \ + +$(foreach lib, $(codec2_libs), \ + $(if $(wildcard $(LOCAL_PATH)/system/vendor/lib64/$(lib).so), \ + $(eval $(call install-va-shared-libs, \ + $(lib), \ + system/vendor/lib64/$(lib).so, \ + system/vendor/lib/$(lib).so, \ + , \ + $(VA_MULTILIB))))) + +codec2_service := \ + android.hardware.media.c2@1.0-service-default \ + +$(foreach srv, $(codec2_service), \ + $(if $(wildcard $(LOCAL_PATH)/system/vendor/bin/hw/$(srv)), \ + $(eval $(call install-va-bins, \ + $(srv), \ + system/vendor/bin/hw/$(srv), \ + , \ + hw)))) + +codec2_config := \ + media_codecs_c2.xml \ + default_enc_params.json \ + +$(foreach config, $(codec2_config), \ + $(if $(wildcard $(LOCAL_PATH)/system/vendor/etc/$(config)), \ + $(eval $(call install-va-configs, \ + $(config), \ + system/vendor/etc/$(config), \ + , \ + $(TARGET_OUT_VENDOR_ETC))))) + +codec2_init := \ + android.hardware.media.c2@1.0-service-default.rc \ + +$(foreach srv, $(codec2_init), \ + $(if $(wildcard $(LOCAL_PATH)/system/vendor/etc/init/$(srv)), \ + $(eval $(call install-va-configs, \ + $(srv), \ + system/vendor/etc/init/$(srv), \ + , \ + $(TARGET_OUT_VENDOR_ETC)/init)))) + +codec2_xml := \ + android.hardware.media.c2@1.0-service-default.xml \ + +$(foreach srv, $(codec2_xml), \ + $(if $(wildcard $(LOCAL_PATH)/system/vendor/etc/vintf/manifest/$(srv)), \ + $(eval $(call install-va-configs, \ + $(srv), \ + system/vendor/etc/vintf/manifest/$(srv), \ + , \ + $(TARGET_OUT_VENDOR_ETC)/vintf/manifest)))) + +# system libs: FFMPEG c2 va display_server +system_libs := \ +libavdevice \ +libavfilter \ +libswscale \ +libavutil \ +libswresample \ +libavformat \ +libavcodec \ +libpostproc \ +libDisplayServer \ +va_drv_video \ + +$(foreach lib, $(system_libs), \ + $(if $(wildcard $(LOCAL_PATH)/system/lib64/$(lib).so), \ + $(eval $(call install-codec-libs-to-system, \ + $(lib), \ + system/lib64/$(lib).so, \ + system/lib/$(lib).so, \ + , \ + $(VA_MULTILIB)))))