diff --git a/CMakeLists.txt b/CMakeLists.txt index e5bcd582..4f2407a1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -257,6 +257,8 @@ if (${CMAKE_VERSION} VERSION_LESS 3.11) else() add_library(camhal SHARED $) endif() +set_target_properties(camhal PROPERTIES SOVERSION 0) +set_target_properties(camhal PROPERTIES VERSION "0.0.0") add_library(camhal_static STATIC ${LIBCAMHAL_SRCS}) diff --git a/config/linux/ipu6epmtl/libcamhal_profile.xml b/config/linux/ipu6epmtl/libcamhal_profile.xml index 225787f3..4d8e1892 100644 --- a/config/linux/ipu6epmtl/libcamhal_profile.xml +++ b/config/linux/ipu6epmtl/libcamhal_profile.xml @@ -20,8 +20,8 @@ diff --git a/config/linux/ipu6epmtl/sensors/hm2172-uf.xml b/config/linux/ipu6epmtl/sensors/hm2172-uf.xml index ed7b4638..f21dfcf4 100644 --- a/config/linux/ipu6epmtl/sensors/hm2172-uf.xml +++ b/config/linux/ipu6epmtl/sensors/hm2172-uf.xml @@ -19,15 +19,15 @@ - + - - + + - + diff --git a/config/linux/ipu6epmtl/sensors/ov02e10-uf.xml b/config/linux/ipu6epmtl/sensors/ov02e10-uf.xml index d7a78cd9..1e1784a3 100644 --- a/config/linux/ipu6epmtl/sensors/ov02e10-uf.xml +++ b/config/linux/ipu6epmtl/sensors/ov02e10-uf.xml @@ -19,15 +19,15 @@ - + - - + + - + diff --git a/include/api/Parameters.h b/include/api/Parameters.h index b2f7ab1d..4f1810ec 100644 --- a/include/api/Parameters.h +++ b/include/api/Parameters.h @@ -232,6 +232,7 @@ typedef enum { BUFFER_FLAG_INTERNAL = 1 << 1, BUFFER_FLAG_SW_READ = 1 << 2, BUFFER_FLAG_SW_WRITE = 1 << 3, + BUFFER_FLAG_NO_FLUSH = 1 << 4, } camera_buffer_flags_t; /** diff --git a/include/api/intel_vendor_metadata_tags.h b/include/api/intel_vendor_metadata_tags.h index d5e6502b..3aba7a26 100644 --- a/include/api/intel_vendor_metadata_tags.h +++ b/include/api/intel_vendor_metadata_tags.h @@ -77,6 +77,9 @@ typedef enum vendor_metadata_tag { INTEL_VENDOR_CAMERA_TOTAL_EXPOSURE_TARGET_RANGE, // int64[] | public INTEL_VENDOR_CAMERA_RAW_DATA_OUTPUT, // enum | public INTEL_VENDOR_CAMERA_HDR_RATIO, // float | public + INTEL_VENDOR_CAMERA_MODULE_ID, // byte[] | public + INTEL_VENDOR_CAMERA_SENSOR_ID, // byte[] | public + INTEL_VENDOR_CAMERA_SENSOR_MODE, // enum | public INTEL_VENDOR_CAMERA_END, } vendor_metadata_tag_t; @@ -139,3 +142,9 @@ typedef enum vendor_metadata_enum_intel_vendor_camera_raw_data_output { INTEL_VENDOR_CAMERA_RAW_DATA_OUTPUT_ON, } vendor_metadata_enum_intel_vendor_camera_raw_data_output_t; +// INTEL_VENDOR_CAMERA_SENSOR_MODE +typedef enum vendor_metadata_enum_intel_vendor_camera_sensor_mode { + INTEL_VENDOR_CAMERA_SENSOR_MODE_FULL, + INTEL_VENDOR_CAMERA_SENSOR_MODE_BINNING, +} vendor_metadata_enum_intel_vendor_camera_sensor_mode_t; + diff --git a/modules/algowrapper/IntelICBM.cpp b/modules/algowrapper/IntelICBM.cpp index acca8c2b..df2b743a 100644 --- a/modules/algowrapper/IntelICBM.cpp +++ b/modules/algowrapper/IntelICBM.cpp @@ -45,9 +45,11 @@ int IntelICBM::shutdown(const ICBMReqInfo& request) { int IntelICBM::processFrame(const ICBMReqInfo& reqInfo) { CheckAndLogError(mIntelOPIC2 == nullptr, UNKNOWN_ERROR, "@%s, no active ICBM session", __func__); + // LEVEL0_ICBM_S if (reqInfo.reqType & (icamera::ICBMFeatureType::USER_FRAMING | icamera::ICBMFeatureType::BC_MODE_BB)) return mIntelOPIC2->processFrame(reqInfo); + // LEVEL0_ICBM_E if (reqInfo.reqType & icamera::ICBMFeatureType::LEVEL0_TNR) return mIntelOPIC2->runTnrFrame(reqInfo); return 0; diff --git a/modules/ia_cipr/src/Context.cpp b/modules/ia_cipr/src/Context.cpp index 1896491c..fb223a67 100644 --- a/modules/ia_cipr/src/Context.cpp +++ b/modules/ia_cipr/src/Context.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2021 Intel Corporation. + * Copyright (C) 2020-2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -229,8 +229,9 @@ Result Context::registerBuffer(MemoryDesc* mem) { mem->sysBuff = ioc_buffer; mem->flags |= MemoryFlag::Migrated; - LOG2("registered buffer:%p -> fd:%d len:%lu offset:%u bytes_used:%u", mem->cpuPtr, - ioc_buffer->base.fd, ioc_buffer->len, ioc_buffer->data_offset, ioc_buffer->bytes_used); + LOG2("registered buffer:%p -> fd:%d len:%lu offset:%u bytes_used:%u, flags:%x", mem->cpuPtr, + ioc_buffer->base.fd, ioc_buffer->len, ioc_buffer->data_offset, ioc_buffer->bytes_used, + ioc_buffer->flags); return res; } diff --git a/modules/ia_css/ipu6/include/assert_support.h b/modules/ia_css/ipu6/include/assert_support.h index b7d5bdc1..947fc5f0 100644 --- a/modules/ia_css/ipu6/include/assert_support.h +++ b/modules/ia_css/ipu6/include/assert_support.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/cpu_mem_support.h b/modules/ia_css/ipu6/include/cpu_mem_support.h index 802436de..d0f1b0f1 100644 --- a/modules/ia_css/ipu6/include/cpu_mem_support.h +++ b/modules/ia_css/ipu6/include/cpu_mem_support.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/error_support.h b/modules/ia_css/ipu6/include/error_support.h index a402a4be..4d43f296 100644 --- a/modules/ia_css/ipu6/include/error_support.h +++ b/modules/ia_css/ipu6/include/error_support.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/frame_support.h b/modules/ia_css/ipu6/include/frame_support.h index bdde4270..5243a860 100644 --- a/modules/ia_css/ipu6/include/frame_support.h +++ b/modules/ia_css/ipu6/include/frame_support.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_base_types.h b/modules/ia_css/ipu6/include/ia_css_base_types.h index e5ad986c..3883e8f1 100644 --- a/modules/ia_css/ipu6/include/ia_css_base_types.h +++ b/modules/ia_css/ipu6/include/ia_css_base_types.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_isa_parameter_defs.h b/modules/ia_css/ipu6/include/ia_css_isa_parameter_defs.h index 69c96052..689c8995 100644 --- a/modules/ia_css/ipu6/include/ia_css_isa_parameter_defs.h +++ b/modules/ia_css/ipu6/include/ia_css_isa_parameter_defs.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_isa_parameter_defs_dep.h b/modules/ia_css/ipu6/include/ia_css_isa_parameter_defs_dep.h index 339e695f..106409e6 100644 --- a/modules/ia_css/ipu6/include/ia_css_isa_parameter_defs_dep.h +++ b/modules/ia_css/ipu6/include/ia_css_isa_parameter_defs_dep.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_kernel_bitmap.h b/modules/ia_css/ipu6/include/ia_css_kernel_bitmap.h index f0499256..4881fdd5 100644 --- a/modules/ia_css/ipu6/include/ia_css_kernel_bitmap.h +++ b/modules/ia_css/ipu6/include/ia_css_kernel_bitmap.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_kernel_bitmap_impl.h b/modules/ia_css/ipu6/include/ia_css_kernel_bitmap_impl.h index beaedc9e..5b1974b7 100644 --- a/modules/ia_css/ipu6/include/ia_css_kernel_bitmap_impl.h +++ b/modules/ia_css/ipu6/include/ia_css_kernel_bitmap_impl.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_kernel_user_param_types.h b/modules/ia_css/ipu6/include/ia_css_kernel_user_param_types.h index cd6223b5..c4c0ef52 100644 --- a/modules/ia_css/ipu6/include/ia_css_kernel_user_param_types.h +++ b/modules/ia_css/ipu6/include/ia_css_kernel_user_param_types.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_program_group_data.h b/modules/ia_css/ipu6/include/ia_css_program_group_data.h index fa014dba..e3be7548 100644 --- a/modules/ia_css/ipu6/include/ia_css_program_group_data.h +++ b/modules/ia_css/ipu6/include/ia_css_program_group_data.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_program_group_data_defs.h b/modules/ia_css/ipu6/include/ia_css_program_group_data_defs.h index 39a4970a..aaad08e9 100644 --- a/modules/ia_css/ipu6/include/ia_css_program_group_data_defs.h +++ b/modules/ia_css/ipu6/include/ia_css_program_group_data_defs.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_program_group_data_impl.h b/modules/ia_css/ipu6/include/ia_css_program_group_data_impl.h index 84f1be04..91e54f12 100644 --- a/modules/ia_css/ipu6/include/ia_css_program_group_data_impl.h +++ b/modules/ia_css/ipu6/include/ia_css_program_group_data_impl.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_program_group_param.h b/modules/ia_css/ipu6/include/ia_css_program_group_param.h index e95e1f76..d45c769a 100644 --- a/modules/ia_css/ipu6/include/ia_css_program_group_param.h +++ b/modules/ia_css/ipu6/include/ia_css_program_group_param.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_program_group_param.sim.h b/modules/ia_css/ipu6/include/ia_css_program_group_param.sim.h index 4e0f8265..ffe3faa0 100644 --- a/modules/ia_css/ipu6/include/ia_css_program_group_param.sim.h +++ b/modules/ia_css/ipu6/include/ia_css_program_group_param.sim.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_program_group_param_private.h b/modules/ia_css/ipu6/include/ia_css_program_group_param_private.h index cfc4fa73..3e13c71c 100644 --- a/modules/ia_css/ipu6/include/ia_css_program_group_param_private.h +++ b/modules/ia_css/ipu6/include/ia_css_program_group_param_private.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_program_group_param_types.h b/modules/ia_css/ipu6/include/ia_css_program_group_param_types.h index 2e404c40..26755f44 100644 --- a/modules/ia_css/ipu6/include/ia_css_program_group_param_types.h +++ b/modules/ia_css/ipu6/include/ia_css_program_group_param_types.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_buffer_set.h b/modules/ia_css/ipu6/include/ia_css_psys_buffer_set.h index 40b4c341..c7b208e7 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_buffer_set.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_buffer_set.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_data_trace.h b/modules/ia_css/ipu6/include/ia_css_psys_data_trace.h index c2f35fbb..5e20f3ae 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_data_trace.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_data_trace.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_dynamic_trace.h b/modules/ia_css/ipu6/include/ia_css_psys_dynamic_trace.h index e79c9469..c8179c51 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_dynamic_trace.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_dynamic_trace.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_kernel_trace.h b/modules/ia_css/ipu6/include/ia_css_psys_kernel_trace.h index 9c0e6488..07ff8446 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_kernel_trace.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_kernel_trace.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_manifest_types.h b/modules/ia_css/ipu6/include/ia_css_psys_manifest_types.h index 3c5ee11d..baebf5ec 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_manifest_types.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_manifest_types.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_param_trace.h b/modules/ia_css/ipu6/include/ia_css_psys_param_trace.h index 36939b1d..87110165 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_param_trace.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_param_trace.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_private_pg_data.h b/modules/ia_css/ipu6/include/ia_css_psys_private_pg_data.h index a2d4aebd..29ceb655 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_private_pg_data.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_private_pg_data.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_process.h b/modules/ia_css/ipu6/include/ia_css_psys_process.h index 480c70f4..6e57cef6 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_process.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_process.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_process.hsys.kernel.h b/modules/ia_css/ipu6/include/ia_css_psys_process.hsys.kernel.h index 05b6f1f8..02a66ee5 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_process.hsys.kernel.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_process.hsys.kernel.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_process.hsys.user.h b/modules/ia_css/ipu6/include/ia_css_psys_process.hsys.user.h index 881f6f08..ccddfd6c 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_process.hsys.user.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_process.hsys.user.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_process.psys.h b/modules/ia_css/ipu6/include/ia_css_psys_process.psys.h index 28b08140..212331bc 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_process.psys.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_process.psys.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_process_group.h b/modules/ia_css/ipu6/include/ia_css_psys_process_group.h index 17a5a008..c35bb30f 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_process_group.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_process_group.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_process_group.hsys.kernel.h b/modules/ia_css/ipu6/include/ia_css_psys_process_group.hsys.kernel.h index 73167fa2..5c300322 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_process_group.hsys.kernel.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_process_group.hsys.kernel.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_process_group.hsys.user.h b/modules/ia_css/ipu6/include/ia_css_psys_process_group.hsys.user.h index 3dc6f61b..f25c0a30 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_process_group.hsys.user.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_process_group.hsys.user.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_process_group.psys.h b/modules/ia_css/ipu6/include/ia_css_psys_process_group.psys.h index e42eadf7..de2e4dd9 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_process_group.psys.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_process_group.psys.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_process_group_cmd_impl.h b/modules/ia_css/ipu6/include/ia_css_psys_process_group_cmd_impl.h index ff9a70e7..2e60e001 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_process_group_cmd_impl.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_process_group_cmd_impl.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_process_group_impl.h b/modules/ia_css/ipu6/include/ia_css_psys_process_group_impl.h index c3d704ce..38e36c64 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_process_group_impl.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_process_group_impl.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -535,6 +535,7 @@ int ia_css_process_group_print( ia_css_rbm_t routing_bitmap; NOT_USED(fid); + NOT_USED(routing_bitmap); IA_CSS_TRACE_0(PSYSAPI_DYNAMIC, VERBOSE, "ia_css_process_group_print(): enter:\n"); @@ -691,6 +692,7 @@ bool ia_css_can_process_group_submit( int retval = -1; uint8_t terminal_count = ia_css_process_group_get_terminal_count(process_group); + NOT_USED(retval); IA_CSS_TRACE_0(PSYSAPI_DYNAMIC, INFO, "ia_css_can_process_group_submit(): enter:\n"); @@ -701,6 +703,7 @@ bool ia_css_can_process_group_submit( ia_css_terminal_t *terminal = ia_css_process_group_get_terminal(process_group, i); vied_vaddress_t buffer; + NOT_USED(buffer); ia_css_buffer_state_t buffer_state; verifexitval(terminal != NULL, EINVAL); @@ -773,6 +776,7 @@ bool ia_css_can_enqueue_buffer_set( bool can_enqueue = false; int retval = -1; uint8_t terminal_count; + NOT_USED(retval); IA_CSS_TRACE_0(PSYSAPI_DYNAMIC, INFO, "ia_css_can_enqueue_buffer_set(): enter:\n"); @@ -796,6 +800,7 @@ bool ia_css_can_enqueue_buffer_set( ia_css_process_group_get_terminal(process_group, i); vied_vaddress_t buffer; ia_css_buffer_state_t buffer_state; + NOT_USED(buffer); verifexitval(terminal != NULL, EINVAL); @@ -855,6 +860,7 @@ bool ia_css_can_process_group_start( bool can_start = false; int retval = -1; uint8_t terminal_count; + NOT_USED(retval); IA_CSS_TRACE_0(PSYSAPI_DYNAMIC, INFO, "ia_css_can_process_group_start(): enter:\n"); diff --git a/modules/ia_css/ipu6/include/ia_css_psys_process_impl.h b/modules/ia_css/ipu6/include/ia_css_psys_process_impl.h index 0c835f7f..55c0c19f 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_process_impl.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_process_impl.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_process_private_types.h b/modules/ia_css/ipu6/include/ia_css_psys_process_private_types.h index 85ae3ea8..d7804fe4 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_process_private_types.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_process_private_types.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_process_types.h b/modules/ia_css/ipu6/include/ia_css_psys_process_types.h index e83b760d..9c7a9dc8 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_process_types.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_process_types.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_program_group_manifest.h b/modules/ia_css/ipu6/include/ia_css_psys_program_group_manifest.h index 88740a99..afac8563 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_program_group_manifest.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_program_group_manifest.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_program_group_manifest.hsys.user.h b/modules/ia_css/ipu6/include/ia_css_psys_program_group_manifest.hsys.user.h index c85ccc66..093f7f0e 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_program_group_manifest.hsys.user.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_program_group_manifest.hsys.user.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_program_group_manifest.sim.h b/modules/ia_css/ipu6/include/ia_css_psys_program_group_manifest.sim.h index 74511440..1ed3f796 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_program_group_manifest.sim.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_program_group_manifest.sim.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_program_group_manifest_impl.h b/modules/ia_css/ipu6/include/ia_css_psys_program_group_manifest_impl.h index 0403700a..5ffec7e6 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_program_group_manifest_impl.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_program_group_manifest_impl.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_program_group_private.h b/modules/ia_css/ipu6/include/ia_css_psys_program_group_private.h index 61f3023f..4424050f 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_program_group_private.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_program_group_private.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_program_manifest.h b/modules/ia_css/ipu6/include/ia_css_psys_program_manifest.h index 7fa8e791..99b6d9ab 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_program_manifest.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_program_manifest.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_program_manifest.hsys.kernel.h b/modules/ia_css/ipu6/include/ia_css_psys_program_manifest.hsys.kernel.h index 93fb1392..6708a653 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_program_manifest.hsys.kernel.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_program_manifest.hsys.kernel.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_program_manifest.hsys.user.h b/modules/ia_css/ipu6/include/ia_css_psys_program_manifest.hsys.user.h index cc9b13bd..aa2bb79e 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_program_manifest.hsys.user.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_program_manifest.hsys.user.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_program_manifest.sim.h b/modules/ia_css/ipu6/include/ia_css_psys_program_manifest.sim.h index 34d742dc..2843b62c 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_program_manifest.sim.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_program_manifest.sim.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_program_manifest_impl.h b/modules/ia_css/ipu6/include/ia_css_psys_program_manifest_impl.h index 04803a38..1e84f22a 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_program_manifest_impl.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_program_manifest_impl.h @@ -1,18 +1,26 @@ /* - * Copyright (C) 2020 Intel Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* INTEL CONFIDENTIAL +* +* Copyright (C) 2018 - 2019 Intel Corporation. +* All Rights Reserved. +* +* The source code contained or described herein and all documents +* related to the source code ("Material") are owned by Intel Corporation +* or licensors. Title to the Material remains with Intel +* Corporation or its licensors. The Material contains trade +* secrets and proprietary and confidential information of Intel or its +* licensors. The Material is protected by worldwide copyright +* and trade secret laws and treaty provisions. No part of the Material may +* be used, copied, reproduced, modified, published, uploaded, posted, +* transmitted, distributed, or disclosed in any way without Intel's prior +* express written permission. +* +* No License under any patent, copyright, trade secret or other intellectual +* property right is granted to or conferred upon you by disclosure or +* delivery of the Materials, either expressly, by implication, inducement, +* estoppel or otherwise. Any license under such intellectual property rights +* must be express and approved by Intel in writing. +*/ #ifndef __IA_CSS_PSYS_PROGRAM_MANIFEST_IMPL_H #define __IA_CSS_PSYS_PROGRAM_MANIFEST_IMPL_H @@ -35,543 +43,543 @@ IA_CSS_PSYS_STATIC_STORAGE_CLASS_C ia_css_program_manifest_ext_t *ia_css_program_manifest_get_extension(const ia_css_program_manifest_t *program) { - DECLARE_ERRVAL - verifexitval(program != NULL, EFAULT); - if (program->program_extension_offset != 0) { - return (ia_css_program_manifest_ext_t *)((uint8_t *)program + program->program_extension_offset); - } + DECLARE_ERRVAL + verifexitval(program != NULL, EFAULT); + if (program->program_extension_offset != 0) { + return (ia_css_program_manifest_ext_t *)((uint8_t *)program + program->program_extension_offset); + } EXIT: - if (!noerror()) { - IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, - "ia_css_program_manifest_get_extension invalid argument\n"); - } - return NULL; + if (!noerror()) { + IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, + "ia_css_program_manifest_get_extension invalid argument\n"); + } + return NULL; } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C vied_nci_resource_size_t ia_css_program_manifest_get_int_mem_size( - const ia_css_program_manifest_t *manifest, - const vied_nci_mem_type_ID_t mem_type_id) + const ia_css_program_manifest_t *manifest, + const vied_nci_mem_type_ID_t mem_type_id) { - (void)manifest; - (void)mem_type_id; - IA_CSS_TRACE_0(PSYSAPI_STATIC, INFO, - "ia_css_program_manifest_get_int_mem_size always returns 0" - "(internally memory feature not used).\n"); - return 0; + (void)manifest; + (void)mem_type_id; + IA_CSS_TRACE_0(PSYSAPI_STATIC, INFO, + "ia_css_program_manifest_get_int_mem_size always returns 0" + "(internally memory feature not used).\n"); + return 0; } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C uint8_t ia_css_program_manifest_get_input_terminal_id( - ia_css_program_manifest_t *manifest, - unsigned char idx) + ia_css_program_manifest_t *manifest, + unsigned char idx) { - DECLARE_ERRVAL - ia_css_program_manifest_ext_t *manifest_ext = NULL; - - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_input_stream_id(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); - verifexitval(idx < IA_CSS_MAX_INPUT_DEC_RESOURCES, EFAULT); - manifest_ext = ia_css_program_manifest_get_extension(manifest); - if (manifest_ext == NULL) { - return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; - } + DECLARE_ERRVAL + ia_css_program_manifest_ext_t *manifest_ext = NULL; + + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_input_stream_id(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); + verifexitval(idx < IA_CSS_MAX_INPUT_DEC_RESOURCES, EFAULT); + manifest_ext = ia_css_program_manifest_get_extension(manifest); + if (manifest_ext == NULL) { + return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; + } EXIT: - if (!noerror()) { - return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; - } + if (!noerror()) { + return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; + } #if IA_CSS_MAX_INPUT_DEC_RESOURCES > 0 - return manifest_ext->dec_resources_input_terminal[idx]; + return manifest_ext->dec_resources_input_terminal[idx]; #else - (void) idx; - return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; + (void) idx; + return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; #endif } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C uint8_t ia_css_program_manifest_get_output_terminal_id( - ia_css_program_manifest_t *manifest, - unsigned char idx) + ia_css_program_manifest_t *manifest, + unsigned char idx) { - DECLARE_ERRVAL - ia_css_program_manifest_ext_t *manifest_ext = NULL; - - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_output_terminal_id(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); - verifexitval(idx < IA_CSS_MAX_OUTPUT_DEC_RESOURCES, EFAULT); - manifest_ext = ia_css_program_manifest_get_extension(manifest); - if (manifest_ext == NULL) { - return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; - } + DECLARE_ERRVAL + ia_css_program_manifest_ext_t *manifest_ext = NULL; + + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_output_terminal_id(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); + verifexitval(idx < IA_CSS_MAX_OUTPUT_DEC_RESOURCES, EFAULT); + manifest_ext = ia_css_program_manifest_get_extension(manifest); + if (manifest_ext == NULL) { + return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; + } EXIT: - if (!noerror()) { - return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; - } + if (!noerror()) { + return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; + } #if IA_CSS_MAX_OUTPUT_DEC_RESOURCES > 0 - return manifest_ext->dec_resources_output_terminal[idx]; + return manifest_ext->dec_resources_output_terminal[idx]; #else - (void) idx; - return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; + (void) idx; + return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; #endif } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C uint8_t ia_css_program_manifest_get_input_stream_id( - ia_css_program_manifest_t *manifest, - unsigned char idx) + ia_css_program_manifest_t *manifest, + unsigned char idx) { - DECLARE_ERRVAL - ia_css_program_manifest_ext_t *manifest_ext = NULL; - - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_input_stream_id(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); - verifexitval(idx < IA_CSS_MAX_INPUT_DEC_RESOURCES, EFAULT); - manifest_ext = ia_css_program_manifest_get_extension(manifest); - if (manifest_ext == NULL) { - return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; - } + DECLARE_ERRVAL + ia_css_program_manifest_ext_t *manifest_ext = NULL; + + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_input_stream_id(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); + verifexitval(idx < IA_CSS_MAX_INPUT_DEC_RESOURCES, EFAULT); + manifest_ext = ia_css_program_manifest_get_extension(manifest); + if (manifest_ext == NULL) { + return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; + } EXIT: - if (!noerror()) { - return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; - } + if (!noerror()) { + return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; + } #if IA_CSS_MAX_INPUT_DEC_RESOURCES > 0 - return manifest_ext->dec_resources_input[idx]; + return manifest_ext->dec_resources_input[idx]; #else - (void) idx; - return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; + (void) idx; + return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; #endif } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C uint8_t ia_css_program_manifest_get_output_stream_id( - ia_css_program_manifest_t *manifest, - unsigned char idx) + ia_css_program_manifest_t *manifest, + unsigned char idx) { - DECLARE_ERRVAL - ia_css_program_manifest_ext_t *manifest_ext = NULL; - - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_output_stream_id(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); - verifexitval(idx < IA_CSS_MAX_OUTPUT_DEC_RESOURCES, EFAULT); - manifest_ext = ia_css_program_manifest_get_extension(manifest); - if (manifest_ext == NULL) { - return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; - } + DECLARE_ERRVAL + ia_css_program_manifest_ext_t *manifest_ext = NULL; + + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_output_stream_id(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); + verifexitval(idx < IA_CSS_MAX_OUTPUT_DEC_RESOURCES, EFAULT); + manifest_ext = ia_css_program_manifest_get_extension(manifest); + if (manifest_ext == NULL) { + return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; + } EXIT: - if (!noerror()) { - return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; - } + if (!noerror()) { + return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; + } #if IA_CSS_MAX_OUTPUT_DEC_RESOURCES > 0 - return manifest_ext->dec_resources_output[idx]; + return manifest_ext->dec_resources_output[idx]; #else - (void) idx; - return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; + (void) idx; + return IA_CSS_PROGRAM_INVALID_DEC_CONFIG; #endif } #if HAS_DFM IA_CSS_PSYS_STATIC_STORAGE_CLASS_C uint8_t ia_css_program_manifest_get_is_dfm_relocatable( - const ia_css_program_manifest_t *manifest, - const vied_nci_dev_dfm_id_t dfm_type_id) + const ia_css_program_manifest_t *manifest, + const vied_nci_dev_dfm_id_t dfm_type_id) { - DECLARE_ERRVAL - ia_css_program_manifest_ext_t *manifest_ext = NULL; - - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_is_dfm_relocatable(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); - verifexitval(dfm_type_id < VIED_NCI_N_DEV_DFM_ID, EFAULT); - manifest_ext = ia_css_program_manifest_get_extension(manifest); - if (manifest_ext == NULL) { - return 0; - } + DECLARE_ERRVAL + ia_css_program_manifest_ext_t *manifest_ext = NULL; + + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_is_dfm_relocatable(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); + verifexitval(dfm_type_id < VIED_NCI_N_DEV_DFM_ID, EFAULT); + manifest_ext = ia_css_program_manifest_get_extension(manifest); + if (manifest_ext == NULL) { + return 0; + } EXIT: - if (!noerror()) { - IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, - "ia_css_program_manifest_get_is_dfm_relocatable invalid argument\n"); - return 0; - } - return manifest_ext->is_dfm_relocatable[dfm_type_id]; + if (!noerror()) { + IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, + "ia_css_program_manifest_get_is_dfm_relocatable invalid argument\n"); + return 0; + } + return manifest_ext->is_dfm_relocatable[dfm_type_id]; } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C vied_nci_resource_bitmap_t ia_css_program_manifest_get_dfm_port_bitmap( - const ia_css_program_manifest_t *manifest, - const vied_nci_dev_dfm_id_t dfm_type_id) + const ia_css_program_manifest_t *manifest, + const vied_nci_dev_dfm_id_t dfm_type_id) { - DECLARE_ERRVAL - ia_css_program_manifest_ext_t *manifest_ext = NULL; - - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_dfm_port_bitmap(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); - verifexitval(dfm_type_id < VIED_NCI_N_DEV_DFM_ID, EFAULT); - manifest_ext = ia_css_program_manifest_get_extension(manifest); - if (manifest_ext == NULL) { - return 0; - } + DECLARE_ERRVAL + ia_css_program_manifest_ext_t *manifest_ext = NULL; + + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_dfm_port_bitmap(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); + verifexitval(dfm_type_id < VIED_NCI_N_DEV_DFM_ID, EFAULT); + manifest_ext = ia_css_program_manifest_get_extension(manifest); + if (manifest_ext == NULL) { + return 0; + } EXIT: - if (!noerror()) { - IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, - "ia_css_program_manifest_get_dfm_port_bitmap invalid argument\n"); - return 0; - } - return manifest_ext->dfm_port_bitmap[dfm_type_id]; + if (!noerror()) { + IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, + "ia_css_program_manifest_get_dfm_port_bitmap invalid argument\n"); + return 0; + } + return manifest_ext->dfm_port_bitmap[dfm_type_id]; } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C vied_nci_resource_bitmap_t ia_css_program_manifest_get_dfm_active_port_bitmap( - const ia_css_program_manifest_t *manifest, - const vied_nci_dev_dfm_id_t dfm_type_id) + const ia_css_program_manifest_t *manifest, + const vied_nci_dev_dfm_id_t dfm_type_id) { - DECLARE_ERRVAL - ia_css_program_manifest_ext_t *manifest_ext = NULL; - - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_dfm_active_port_bitmap(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); - verifexitval(dfm_type_id < VIED_NCI_N_DEV_DFM_ID, EFAULT); - manifest_ext = ia_css_program_manifest_get_extension(manifest); - if (manifest_ext == NULL) { - return 0; - } + DECLARE_ERRVAL + ia_css_program_manifest_ext_t *manifest_ext = NULL; + + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_dfm_active_port_bitmap(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); + verifexitval(dfm_type_id < VIED_NCI_N_DEV_DFM_ID, EFAULT); + manifest_ext = ia_css_program_manifest_get_extension(manifest); + if (manifest_ext == NULL) { + return 0; + } EXIT: - if (!noerror()) { - IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, - "ia_css_program_manifest_get_dfm_active_port_bitmap invalid argument\n"); - return 0; - } - return manifest_ext->dfm_active_port_bitmap[dfm_type_id]; + if (!noerror()) { + IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, + "ia_css_program_manifest_get_dfm_active_port_bitmap invalid argument\n"); + return 0; + } + return manifest_ext->dfm_active_port_bitmap[dfm_type_id]; } #endif /* HAS_DFM */ IA_CSS_PSYS_STATIC_STORAGE_CLASS_C vied_nci_resource_size_t ia_css_program_manifest_get_ext_mem_size( - const ia_css_program_manifest_t *manifest, - const vied_nci_mem_type_ID_t mem_type_id) + const ia_css_program_manifest_t *manifest, + const vied_nci_mem_type_ID_t mem_type_id) { - DECLARE_ERRVAL - ia_css_program_manifest_ext_t *manifest_ext = NULL; - - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_ext_mem_size(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); - verifexitval(mem_type_id < VIED_NCI_N_DATA_MEM_TYPE_ID, EFAULT); - manifest_ext = ia_css_program_manifest_get_extension(manifest); - if (manifest_ext == NULL) { - return 0; - } + DECLARE_ERRVAL + ia_css_program_manifest_ext_t *manifest_ext = NULL; + + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_ext_mem_size(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); + verifexitval(mem_type_id < VIED_NCI_N_DATA_MEM_TYPE_ID, EFAULT); + manifest_ext = ia_css_program_manifest_get_extension(manifest); + if (manifest_ext == NULL) { + return 0; + } EXIT: - if (!noerror()) { - IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, - "ia_css_program_manifest_get_ext_mem_size invalid argument\n"); - return 0; - } - return manifest_ext->ext_mem_size[mem_type_id]; + if (!noerror()) { + IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, + "ia_css_program_manifest_get_ext_mem_size invalid argument\n"); + return 0; + } + return manifest_ext->ext_mem_size[mem_type_id]; } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C vied_nci_resource_size_t ia_css_program_manifest_get_ext_mem_offset( - const ia_css_program_manifest_t *manifest, - const vied_nci_mem_type_ID_t mem_type_id) + const ia_css_program_manifest_t *manifest, + const vied_nci_mem_type_ID_t mem_type_id) { - DECLARE_ERRVAL - ia_css_program_manifest_ext_t *manifest_ext = NULL; - - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_ext_mem_offset(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); - verifexitval(mem_type_id < VIED_NCI_N_DATA_MEM_TYPE_ID, EFAULT); - manifest_ext = ia_css_program_manifest_get_extension(manifest); - if (manifest_ext == NULL) { - return 0; - } + DECLARE_ERRVAL + ia_css_program_manifest_ext_t *manifest_ext = NULL; + + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_ext_mem_offset(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); + verifexitval(mem_type_id < VIED_NCI_N_DATA_MEM_TYPE_ID, EFAULT); + manifest_ext = ia_css_program_manifest_get_extension(manifest); + if (manifest_ext == NULL) { + return 0; + } EXIT: - if (!noerror()) { - IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, - "ia_css_program_manifest_get_ext_mem_offset invalid argument\n"); - return 0; - } - return manifest_ext->ext_mem_offset[mem_type_id]; + if (!noerror()) { + IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, + "ia_css_program_manifest_get_ext_mem_offset invalid argument\n"); + return 0; + } + return manifest_ext->ext_mem_offset[mem_type_id]; } #if HAS_DFM IA_CSS_PSYS_STATIC_STORAGE_CLASS_C vied_nci_resource_size_t ia_css_program_manifest_get_dev_chn_size( - const ia_css_program_manifest_t *manifest, - const vied_nci_dev_chn_ID_t dev_chn_id) + const ia_css_program_manifest_t *manifest, + const vied_nci_dev_chn_ID_t dev_chn_id) { - DECLARE_ERRVAL - ia_css_program_manifest_ext_t *manifest_ext = NULL; - - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_dev_chn_size(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); - verifexitval(dev_chn_id < VIED_NCI_N_DEV_CHN_ID, EFAULT); - manifest_ext = ia_css_program_manifest_get_extension(manifest); - if (manifest_ext == NULL) { - return 0; - } + DECLARE_ERRVAL + ia_css_program_manifest_ext_t *manifest_ext = NULL; + + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_dev_chn_size(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); + verifexitval(dev_chn_id < VIED_NCI_N_DEV_CHN_ID, EFAULT); + manifest_ext = ia_css_program_manifest_get_extension(manifest); + if (manifest_ext == NULL) { + return 0; + } EXIT: - if (!noerror()) { - IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, - "ia_css_program_manifest_get_dev_chn_size invalid argument\n"); - return 0; - } - return manifest_ext->dev_chn_size[dev_chn_id]; + if (!noerror()) { + IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, + "ia_css_program_manifest_get_dev_chn_size invalid argument\n"); + return 0; + } + return manifest_ext->dev_chn_size[dev_chn_id]; } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C vied_nci_resource_size_t ia_css_program_manifest_get_dev_chn_offset( - const ia_css_program_manifest_t *manifest, - const vied_nci_dev_chn_ID_t dev_chn_id) + const ia_css_program_manifest_t *manifest, + const vied_nci_dev_chn_ID_t dev_chn_id) { - DECLARE_ERRVAL - ia_css_program_manifest_ext_t *manifest_ext = NULL; - - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_dev_chn_offset(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); - verifexitval(dev_chn_id < VIED_NCI_N_DEV_CHN_ID, EFAULT); - manifest_ext = ia_css_program_manifest_get_extension(manifest); - if (manifest_ext == NULL) { - return 0; - } + DECLARE_ERRVAL + ia_css_program_manifest_ext_t *manifest_ext = NULL; + + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_dev_chn_offset(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); + verifexitval(dev_chn_id < VIED_NCI_N_DEV_CHN_ID, EFAULT); + manifest_ext = ia_css_program_manifest_get_extension(manifest); + if (manifest_ext == NULL) { + return 0; + } EXIT: - if (!noerror()) { - IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, - "ia_css_program_manifest_get_dev_chn_offset invalid argument\n"); - return 0; - } - return manifest_ext->dev_chn_offset[dev_chn_id]; + if (!noerror()) { + IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, + "ia_css_program_manifest_get_dev_chn_offset invalid argument\n"); + return 0; + } + return manifest_ext->dev_chn_offset[dev_chn_id]; } #endif /* HAS_DFM */ IA_CSS_PSYS_STATIC_STORAGE_CLASS_C size_t ia_css_program_manifest_get_size( - const ia_css_program_manifest_t *manifest) + const ia_css_program_manifest_t *manifest) { - DECLARE_ERRVAL + DECLARE_ERRVAL - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_size(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_size(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); EXIT: - if (!noerror()) { - IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, - "ia_css_program_manifest_get_size invalid argument\n"); - return 0; - } + if (!noerror()) { + IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, + "ia_css_program_manifest_get_size invalid argument\n"); + return 0; + } - return manifest->size; + return manifest->size; } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C ia_css_program_ID_t ia_css_program_manifest_get_program_ID( - const ia_css_program_manifest_t *manifest) + const ia_css_program_manifest_t *manifest) { - DECLARE_ERRVAL + DECLARE_ERRVAL - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_program_ID(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_program_ID(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); EXIT: - if (!noerror()) { - IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, - "ia_css_program_manifest_get_program_ID invalid argument\n"); - return IA_CSS_PROGRAM_INVALID_ID; - } - return manifest->ID; + if (!noerror()) { + IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, + "ia_css_program_manifest_get_program_ID invalid argument\n"); + return IA_CSS_PROGRAM_INVALID_ID; + } + return manifest->ID; } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C ia_css_program_group_manifest_t *ia_css_program_manifest_get_parent( - const ia_css_program_manifest_t *manifest) + const ia_css_program_manifest_t *manifest) { - DECLARE_ERRVAL - char *base = NULL; + DECLARE_ERRVAL + char *base = NULL; - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_parent(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_parent(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); - base = (char *)((char *)manifest + manifest->parent_offset); + base = (char *)((char *)manifest + manifest->parent_offset); EXIT: - if (!noerror()) { - IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, - "ia_css_program_manifest_get_parent invalid argument\n"); - return NULL; - } - return (ia_css_program_group_manifest_t *)(base); + if (!noerror()) { + IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, + "ia_css_program_manifest_get_parent invalid argument\n"); + return NULL; + } + return (ia_css_program_group_manifest_t *)(base); } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C vied_nci_cell_type_ID_t ia_css_program_manifest_get_cell_type_ID( - const ia_css_program_manifest_t *manifest) + const ia_css_program_manifest_t *manifest) { - DECLARE_ERRVAL + DECLARE_ERRVAL - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_cell_type_ID(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_cell_type_ID(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); EXIT: - if (!noerror()) { - IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, - "ia_css_program_manifest_get_cell_type_ID invalid argument\n"); - return VIED_NCI_N_CELL_TYPE_ID; - } - return manifest->cell_type_id; + if (!noerror()) { + IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, + "ia_css_program_manifest_get_cell_type_ID invalid argument\n"); + return VIED_NCI_N_CELL_TYPE_ID; + } + return manifest->cell_type_id; } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C ia_css_program_type_t ia_css_program_manifest_get_type( - const ia_css_program_manifest_t *manifest) + const ia_css_program_manifest_t *manifest) { - DECLARE_ERRVAL + DECLARE_ERRVAL - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_type(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_type(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); EXIT: - if (!noerror()) { - IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, - "ia_css_program_manifest_get_type invalid argument\n"); - return IA_CSS_N_PROGRAM_TYPES; - } - return manifest->program_type; + if (!noerror()) { + IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, + "ia_css_program_manifest_get_type invalid argument\n"); + return IA_CSS_N_PROGRAM_TYPES; + } + return manifest->program_type; } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C uint8_t ia_css_program_manifest_get_terminal_dependency_count( - const ia_css_program_manifest_t *manifest) + const ia_css_program_manifest_t *manifest) { - DECLARE_ERRVAL + DECLARE_ERRVAL - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_terminal_dependency_count(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_terminal_dependency_count(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); EXIT: - if (!noerror()) { - IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, - "ia_css_program_manifest_get_terminal_dependency_count invalid argument\n"); - return 0; - } - return manifest->terminal_dependency_count; + if (!noerror()) { + IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, + "ia_css_program_manifest_get_terminal_dependency_count invalid argument\n"); + return 0; + } + return manifest->terminal_dependency_count; } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C uint8_t ia_css_program_manifest_get_terminal_dependency( - const ia_css_program_manifest_t *manifest, - const unsigned int index) + const ia_css_program_manifest_t *manifest, + const unsigned int index) { - DECLARE_ERRVAL - uint8_t *terminal_dep_ptr = NULL; - uint8_t terminal_dependency_count; - - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_terminal_dependency(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); - terminal_dependency_count = - ia_css_program_manifest_get_terminal_dependency_count(manifest); - verifexitval(index < terminal_dependency_count, EFAULT); - - terminal_dep_ptr = (uint8_t *)((uint8_t *)manifest + - manifest->terminal_dependency_offset + index); + DECLARE_ERRVAL + uint8_t *terminal_dep_ptr = NULL; + uint8_t terminal_dependency_count; + + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_terminal_dependency(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); + terminal_dependency_count = + ia_css_program_manifest_get_terminal_dependency_count(manifest); + verifexitval(index < terminal_dependency_count, EFAULT); + + terminal_dep_ptr = (uint8_t *)((uint8_t *)manifest + + manifest->terminal_dependency_offset + index); EXIT: - if (!noerror()) { - IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, - "ia_css_program_manifest_get_terminal_dependency invalid argument\n"); - return IA_CSS_PROGRAM_INVALID_DEPENDENCY; - } - return *terminal_dep_ptr; + if (!noerror()) { + IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, + "ia_css_program_manifest_get_terminal_dependency invalid argument\n"); + return IA_CSS_PROGRAM_INVALID_DEPENDENCY; + } + return *terminal_dep_ptr; } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C bool ia_css_is_program_manifest_singular_program_type( - const ia_css_program_manifest_t *manifest) + const ia_css_program_manifest_t *manifest) { - ia_css_program_type_t program_type; + ia_css_program_type_t program_type; - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_is_program_manifest_singular_program_type(): enter:\n"); + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_is_program_manifest_singular_program_type(): enter:\n"); - program_type = ia_css_program_manifest_get_type(manifest); + program_type = ia_css_program_manifest_get_type(manifest); /* The error return is the limit value, so no need to check on the manifest * pointer */ - return (program_type == IA_CSS_PROGRAM_TYPE_SINGULAR); + return (program_type == IA_CSS_PROGRAM_TYPE_SINGULAR); } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C uint8_t ia_css_program_manifest_get_program_dependency_count( - const ia_css_program_manifest_t *manifest) + const ia_css_program_manifest_t *manifest) { - DECLARE_ERRVAL + DECLARE_ERRVAL - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_program_dependency_count(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_program_dependency_count(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); EXIT: - if (!noerror()) { - IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, - "ia_css_program_manifest_get_program_dependency_count invalid argument\n"); - return 0; - } - return manifest->program_dependency_count; + if (!noerror()) { + IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, + "ia_css_program_manifest_get_program_dependency_count invalid argument\n"); + return 0; + } + return manifest->program_dependency_count; } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C uint8_t ia_css_program_manifest_get_program_dependency( - const ia_css_program_manifest_t *manifest, - const unsigned int index) + const ia_css_program_manifest_t *manifest, + const unsigned int index) { - DECLARE_ERRVAL - uint8_t *program_dep_ptr = NULL; - uint8_t program_dependency_count; + DECLARE_ERRVAL + uint8_t *program_dep_ptr = NULL; + uint8_t program_dependency_count; - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_program_dependency(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_program_dependency(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); - program_dependency_count = - ia_css_program_manifest_get_program_dependency_count(manifest); + program_dependency_count = + ia_css_program_manifest_get_program_dependency_count(manifest); - verifexitval(index < program_dependency_count, EFAULT); - program_dep_ptr = (uint8_t *)((uint8_t *)manifest + - manifest->program_dependency_offset + - index * sizeof(uint8_t)); + verifexitval(index < program_dependency_count, EFAULT); + program_dep_ptr = (uint8_t *)((uint8_t *)manifest + + manifest->program_dependency_offset + + index * sizeof(uint8_t)); EXIT: - if (!noerror()) { - IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, - "ia_css_program_manifest_get_program_dependency invalid argument\n"); - return IA_CSS_PROGRAM_INVALID_DEPENDENCY; - } - return *program_dep_ptr; + if (!noerror()) { + IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, + "ia_css_program_manifest_get_program_dependency invalid argument\n"); + return IA_CSS_PROGRAM_INVALID_DEPENDENCY; + } + return *program_dep_ptr; } IA_CSS_PSYS_STATIC_STORAGE_CLASS_C ia_css_kernel_bitmap_t ia_css_program_manifest_get_kernel_bitmap( - const ia_css_program_manifest_t *manifest) + const ia_css_program_manifest_t *manifest) { - DECLARE_ERRVAL + DECLARE_ERRVAL - IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, - "ia_css_program_manifest_get_kernel_bitmap(): enter:\n"); - verifexitval(manifest != NULL, EFAULT); + IA_CSS_TRACE_0(PSYSAPI_STATIC, VERBOSE, + "ia_css_program_manifest_get_kernel_bitmap(): enter:\n"); + verifexitval(manifest != NULL, EFAULT); EXIT: - if (!noerror()) { - IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, - "ia_css_program_manifest_get_kernel_bitmap invalid argument\n"); - return ia_css_kernel_bitmap_clear(); - } - return manifest->kernel_bitmap; + if (!noerror()) { + IA_CSS_TRACE_0(PSYSAPI_STATIC, WARNING, + "ia_css_program_manifest_get_kernel_bitmap invalid argument\n"); + return ia_css_kernel_bitmap_clear(); + } + return manifest->kernel_bitmap; } #endif /* __IA_CSS_PSYS_PROGRAM_MANIFEST_IMPL_H */ diff --git a/modules/ia_css/ipu6/include/ia_css_psys_sim_trace.h b/modules/ia_css/ipu6/include/ia_css_psys_sim_trace.h index af2a4345..75f07d5c 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_sim_trace.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_sim_trace.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_static_trace.h b/modules/ia_css/ipu6/include/ia_css_psys_static_trace.h index 8b7a833f..5f0f5a30 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_static_trace.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_static_trace.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_terminal.h b/modules/ia_css/ipu6/include/ia_css_psys_terminal.h index e960bb9a..1794009a 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_terminal.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_terminal.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_terminal.hsys.user.h b/modules/ia_css/ipu6/include/ia_css_psys_terminal.hsys.user.h index c18d3fea..7970906e 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_terminal.hsys.user.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_terminal.hsys.user.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_terminal_impl.h b/modules/ia_css/ipu6/include/ia_css_psys_terminal_impl.h index cd944eee..9b044fc9 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_terminal_impl.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_terminal_impl.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_terminal_manifest.h b/modules/ia_css/ipu6/include/ia_css_psys_terminal_manifest.h index 2bb95044..5a0ee23c 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_terminal_manifest.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_terminal_manifest.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_terminal_manifest.hsys.user.h b/modules/ia_css/ipu6/include/ia_css_psys_terminal_manifest.hsys.user.h index 387afe1b..7bc46b3d 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_terminal_manifest.hsys.user.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_terminal_manifest.hsys.user.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_terminal_manifest.sim.h b/modules/ia_css/ipu6/include/ia_css_psys_terminal_manifest.sim.h index a981a34c..a38336b2 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_terminal_manifest.sim.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_terminal_manifest.sim.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_terminal_manifest_impl.h b/modules/ia_css/ipu6/include/ia_css_psys_terminal_manifest_impl.h index ee198361..e7d54ffc 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_terminal_manifest_impl.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_terminal_manifest_impl.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_terminal_private_types.h b/modules/ia_css/ipu6/include/ia_css_psys_terminal_private_types.h index 547d2f68..def3bdbf 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_terminal_private_types.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_terminal_private_types.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_transport.h b/modules/ia_css/ipu6/include/ia_css_psys_transport.h index 708486f1..cfba5b0c 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_transport.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_transport.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psys_transport_dep.h b/modules/ia_css/ipu6/include/ia_css_psys_transport_dep.h index 8d51d9fe..ffd88ead 100644 --- a/modules/ia_css/ipu6/include/ia_css_psys_transport_dep.h +++ b/modules/ia_css/ipu6/include/ia_css_psys_transport_dep.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psysapi_fw_version.h b/modules/ia_css/ipu6/include/ia_css_psysapi_fw_version.h index c59192b8..724870d8 100644 --- a/modules/ia_css/ipu6/include/ia_css_psysapi_fw_version.h +++ b/modules/ia_css/ipu6/include/ia_css_psysapi_fw_version.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_psysapi_trace.h b/modules/ia_css/ipu6/include/ia_css_psysapi_trace.h index e4d4f091..4ac6cc01 100644 --- a/modules/ia_css/ipu6/include/ia_css_psysapi_trace.h +++ b/modules/ia_css/ipu6/include/ia_css_psysapi_trace.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_rbm.h b/modules/ia_css/ipu6/include/ia_css_rbm.h index d724acc6..915407e0 100644 --- a/modules/ia_css/ipu6/include/ia_css_rbm.h +++ b/modules/ia_css/ipu6/include/ia_css_rbm.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_rbm_impl.h b/modules/ia_css/ipu6/include/ia_css_rbm_impl.h index 673d2368..aaa095ab 100644 --- a/modules/ia_css/ipu6/include/ia_css_rbm_impl.h +++ b/modules/ia_css/ipu6/include/ia_css_rbm_impl.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_rbm_manifest.h b/modules/ia_css/ipu6/include/ia_css_rbm_manifest.h index bde63724..76568c39 100644 --- a/modules/ia_css/ipu6/include/ia_css_rbm_manifest.h +++ b/modules/ia_css/ipu6/include/ia_css_rbm_manifest.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_rbm_manifest_types.h b/modules/ia_css/ipu6/include/ia_css_rbm_manifest_types.h index 8e1d9153..35bbf36e 100644 --- a/modules/ia_css/ipu6/include/ia_css_rbm_manifest_types.h +++ b/modules/ia_css/ipu6/include/ia_css_rbm_manifest_types.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_rbm_trace.h b/modules/ia_css/ipu6/include/ia_css_rbm_trace.h index 9b538305..3f45f1cd 100644 --- a/modules/ia_css/ipu6/include/ia_css_rbm_trace.h +++ b/modules/ia_css/ipu6/include/ia_css_rbm_trace.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_terminal.h b/modules/ia_css/ipu6/include/ia_css_terminal.h index 2bbaf46d..ac53e25e 100644 --- a/modules/ia_css/ipu6/include/ia_css_terminal.h +++ b/modules/ia_css/ipu6/include/ia_css_terminal.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_terminal_base_types.h b/modules/ia_css/ipu6/include/ia_css_terminal_base_types.h index a8fe8d1b..e2d60553 100644 --- a/modules/ia_css/ipu6/include/ia_css_terminal_base_types.h +++ b/modules/ia_css/ipu6/include/ia_css_terminal_base_types.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_terminal_defs.h b/modules/ia_css/ipu6/include/ia_css_terminal_defs.h index 3de05b68..7e235086 100644 --- a/modules/ia_css/ipu6/include/ia_css_terminal_defs.h +++ b/modules/ia_css/ipu6/include/ia_css_terminal_defs.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_terminal_impl.h b/modules/ia_css/ipu6/include/ia_css_terminal_impl.h index 0f040da0..b7e79b9c 100644 --- a/modules/ia_css/ipu6/include/ia_css_terminal_impl.h +++ b/modules/ia_css/ipu6/include/ia_css_terminal_impl.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_terminal_manifest.h b/modules/ia_css/ipu6/include/ia_css_terminal_manifest.h index 15437e09..1dc90554 100644 --- a/modules/ia_css/ipu6/include/ia_css_terminal_manifest.h +++ b/modules/ia_css/ipu6/include/ia_css_terminal_manifest.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_terminal_manifest_base_types.h b/modules/ia_css/ipu6/include/ia_css_terminal_manifest_base_types.h index bac5b767..63d91c3b 100644 --- a/modules/ia_css/ipu6/include/ia_css_terminal_manifest_base_types.h +++ b/modules/ia_css/ipu6/include/ia_css_terminal_manifest_base_types.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_terminal_manifest_impl.h b/modules/ia_css/ipu6/include/ia_css_terminal_manifest_impl.h index 105d6c0f..a44fe0ef 100644 --- a/modules/ia_css/ipu6/include/ia_css_terminal_manifest_impl.h +++ b/modules/ia_css/ipu6/include/ia_css_terminal_manifest_impl.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_terminal_manifest_types.h b/modules/ia_css/ipu6/include/ia_css_terminal_manifest_types.h index d9c8e1b9..c63c1752 100644 --- a/modules/ia_css/ipu6/include/ia_css_terminal_manifest_types.h +++ b/modules/ia_css/ipu6/include/ia_css_terminal_manifest_types.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_terminal_types.h b/modules/ia_css/ipu6/include/ia_css_terminal_types.h index b1e9618d..ad611e94 100644 --- a/modules/ia_css/ipu6/include/ia_css_terminal_types.h +++ b/modules/ia_css/ipu6/include/ia_css_terminal_types.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ia_css_trace.h b/modules/ia_css/ipu6/include/ia_css_trace.h index 14d79db6..bd8212a9 100644 --- a/modules/ia_css/ipu6/include/ia_css_trace.h +++ b/modules/ia_css/ipu6/include/ia_css_trace.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ipu_device_acb_devices.h b/modules/ia_css/ipu6/include/ipu_device_acb_devices.h index c29233e4..d91dc04a 100644 --- a/modules/ia_css/ipu6/include/ipu_device_acb_devices.h +++ b/modules/ia_css/ipu6/include/ipu_device_acb_devices.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/ipu_device_gp_devices.h b/modules/ia_css/ipu6/include/ipu_device_gp_devices.h index 3e678715..631646e1 100644 --- a/modules/ia_css/ipu6/include/ipu_device_gp_devices.h +++ b/modules/ia_css/ipu6/include/ipu_device_gp_devices.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/math_support.h b/modules/ia_css/ipu6/include/math_support.h index 1fa191c7..6682d4d0 100644 --- a/modules/ia_css/ipu6/include/math_support.h +++ b/modules/ia_css/ipu6/include/math_support.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/misc_support.h b/modules/ia_css/ipu6/include/misc_support.h index c2b6a517..1265a37d 100644 --- a/modules/ia_css/ipu6/include/misc_support.h +++ b/modules/ia_css/ipu6/include/misc_support.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/pg_control_init_framework.h b/modules/ia_css/ipu6/include/pg_control_init_framework.h index 649eb2c3..8cd88b88 100644 --- a/modules/ia_css/ipu6/include/pg_control_init_framework.h +++ b/modules/ia_css/ipu6/include/pg_control_init_framework.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/platform_support.h b/modules/ia_css/ipu6/include/platform_support.h index 1dffa4ba..058e71ec 100644 --- a/modules/ia_css/ipu6/include/platform_support.h +++ b/modules/ia_css/ipu6/include/platform_support.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/print_support.h b/modules/ia_css/ipu6/include/print_support.h index c0ea8765..b48eecce 100644 --- a/modules/ia_css/ipu6/include/print_support.h +++ b/modules/ia_css/ipu6/include/print_support.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/psys_system_global_impl.h b/modules/ia_css/ipu6/include/psys_system_global_impl.h index 512b0f5d..75c62439 100644 --- a/modules/ia_css/ipu6/include/psys_system_global_impl.h +++ b/modules/ia_css/ipu6/include/psys_system_global_impl.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/type_support.h b/modules/ia_css/ipu6/include/type_support.h index 81b00539..29539886 100644 --- a/modules/ia_css/ipu6/include/type_support.h +++ b/modules/ia_css/ipu6/include/type_support.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/vied_nci_acb_route_type.h b/modules/ia_css/ipu6/include/vied_nci_acb_route_type.h index 66d79fbc..edbe8984 100644 --- a/modules/ia_css/ipu6/include/vied_nci_acb_route_type.h +++ b/modules/ia_css/ipu6/include/vied_nci_acb_route_type.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/vied_nci_psys_resource_model.h b/modules/ia_css/ipu6/include/vied_nci_psys_resource_model.h index 3f0359d0..e6efb884 100644 --- a/modules/ia_css/ipu6/include/vied_nci_psys_resource_model.h +++ b/modules/ia_css/ipu6/include/vied_nci_psys_resource_model.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/vied_nci_psys_resource_model_common.h b/modules/ia_css/ipu6/include/vied_nci_psys_resource_model_common.h index bb90c2e1..40bf8964 100644 --- a/modules/ia_css/ipu6/include/vied_nci_psys_resource_model_common.h +++ b/modules/ia_css/ipu6/include/vied_nci_psys_resource_model_common.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/include/vied_nci_psys_system_global.h b/modules/ia_css/ipu6/include/vied_nci_psys_system_global.h index 2daf6b39..76b511c2 100644 --- a/modules/ia_css/ipu6/include/vied_nci_psys_system_global.h +++ b/modules/ia_css/ipu6/include/vied_nci_psys_system_global.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/src/ia_css_kernel_bitmap.c b/modules/ia_css/ipu6/src/ia_css_kernel_bitmap.c index 11dd097e..a7747032 100644 --- a/modules/ia_css/ipu6/src/ia_css_kernel_bitmap.c +++ b/modules/ia_css/ipu6/src/ia_css_kernel_bitmap.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/src/ia_css_program_group_param.c b/modules/ia_css/ipu6/src/ia_css_program_group_param.c index e6fa6e49..90883754 100644 --- a/modules/ia_css/ipu6/src/ia_css_program_group_param.c +++ b/modules/ia_css/ipu6/src/ia_css_program_group_param.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/src/ia_css_psys_process.c b/modules/ia_css/ipu6/src/ia_css_psys_process.c index 6d737760..6184ac87 100644 --- a/modules/ia_css/ipu6/src/ia_css_psys_process.c +++ b/modules/ia_css/ipu6/src/ia_css_psys_process.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/src/ia_css_psys_process_group.c b/modules/ia_css/ipu6/src/ia_css_psys_process_group.c index 036a1499..bf1bd22f 100644 --- a/modules/ia_css/ipu6/src/ia_css_psys_process_group.c +++ b/modules/ia_css/ipu6/src/ia_css_psys_process_group.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/src/ia_css_psys_process_group_cmd_impl.c b/modules/ia_css/ipu6/src/ia_css_psys_process_group_cmd_impl.c index f5850036..ad458c40 100644 --- a/modules/ia_css/ipu6/src/ia_css_psys_process_group_cmd_impl.c +++ b/modules/ia_css/ipu6/src/ia_css_psys_process_group_cmd_impl.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/src/ia_css_psys_program_group_manifest.c b/modules/ia_css/ipu6/src/ia_css_psys_program_group_manifest.c index b528fa4a..9eda49ff 100644 --- a/modules/ia_css/ipu6/src/ia_css_psys_program_group_manifest.c +++ b/modules/ia_css/ipu6/src/ia_css_psys_program_group_manifest.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/src/ia_css_psys_program_manifest.c b/modules/ia_css/ipu6/src/ia_css_psys_program_manifest.c index 73635435..d49ddad9 100644 --- a/modules/ia_css/ipu6/src/ia_css_psys_program_manifest.c +++ b/modules/ia_css/ipu6/src/ia_css_psys_program_manifest.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/src/ia_css_psys_terminal.c b/modules/ia_css/ipu6/src/ia_css_psys_terminal.c index 17f69207..2809050a 100644 --- a/modules/ia_css/ipu6/src/ia_css_psys_terminal.c +++ b/modules/ia_css/ipu6/src/ia_css_psys_terminal.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/modules/ia_css/ipu6/src/ia_css_psys_terminal_manifest.c b/modules/ia_css/ipu6/src/ia_css_psys_terminal_manifest.c index 380613be..99a1b3b9 100644 --- a/modules/ia_css/ipu6/src/ia_css_psys_terminal_manifest.c +++ b/modules/ia_css/ipu6/src/ia_css_psys_terminal_manifest.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/3a/AiqUnit.cpp b/src/3a/AiqUnit.cpp index 7fe74ea1..7677ffec 100644 --- a/src/3a/AiqUnit.cpp +++ b/src/3a/AiqUnit.cpp @@ -420,9 +420,7 @@ void AiqUnit::deinitIntelCcaHandle() { } intelCca->deinit(); -#ifndef ENABLE_SANDBOXING IntelCca::releaseInstance(mCameraId, mode); -#endif } mCcaInitialized = false; diff --git a/src/LICENSE b/src/LICENSE deleted file mode 100644 index 53d86be8..00000000 --- a/src/LICENSE +++ /dev/null @@ -1,59 +0,0 @@ -Apache License -Version 2.0, January 2004 - -http://www.apache.org/licenses/ -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this License; and - -You must cause any modified files to carry prominent notices stating that You changed the files; and - -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. -You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work -To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. - diff --git a/src/core/IspParamAdaptor.cpp b/src/core/IspParamAdaptor.cpp index eaf0dc2c..cc4c2e61 100644 --- a/src/core/IspParamAdaptor.cpp +++ b/src/core/IspParamAdaptor.cpp @@ -354,6 +354,7 @@ int IspParamAdaptor::decodeStatsData(TuningMode tuningMode, bParam.mType = M_PSYS; bParam.sequence = statsBuffer->getSequence(); bParam.gParam.appendix = "p2p_decoded_stats"; + bParam.sUsage = (streamId == VIDEO_STREAM_ID) ? 0 : 2; CameraDump::dumpBinary(mCameraId, hwStatsData->data, hwStatsData->size, &bParam); } diff --git a/src/core/psysprocessor/PGCommon.cpp b/src/core/psysprocessor/PGCommon.cpp index 88390771..0bb7df86 100644 --- a/src/core/psysprocessor/PGCommon.cpp +++ b/src/core/psysprocessor/PGCommon.cpp @@ -27,6 +27,7 @@ #include "iutils/CameraDump.h" #include "iutils/CameraLog.h" #include "iutils/Utils.h" +#include "AiqResultStorage.h" namespace icamera { @@ -84,6 +85,7 @@ PGCommon::PGCommon(int cameraId, int pgId, const std::string& pgName, TuningMode mInputMainTerminal(-1), mOutputMainTerminal(-1), mShareReferPool(nullptr), + mIpuParameters(nullptr), mIntelCca(nullptr) { mTnrTerminalPair.inId = -1; mTnrTerminalPair.outId = -1; @@ -1089,9 +1091,10 @@ int PGCommon::prepareTerminalBuffers(const ia_binary_data* ipuParameters, if (buffer) { bool flush = buffer->getUsage() == BUFFER_USAGE_GENERAL ? true : false; - if (PlatformData::removeCacheFlushOutputBuffer(mCameraId) && - buffer->getMemory() == V4L2_MEMORY_DMABUF && - !buffer->isFlagsSet(BUFFER_FLAG_SW_READ)) { + if (buffer->getMemory() == V4L2_MEMORY_DMABUF && + ((PlatformData::removeCacheFlushOutputBuffer(mCameraId) && + !buffer->isFlagsSet(BUFFER_FLAG_SW_READ)) || + buffer->isFlagsSet(BUFFER_FLAG_NO_FLUSH))) { flush = false; } ciprBuf = @@ -1133,6 +1136,16 @@ int PGCommon::prepareTerminalBuffers(const ia_binary_data* ipuParameters, mTerminalBuffers[pair.outId]->getMemoryCpuPtr(&mParamPayload[pair.outId].data); } + const AiqResult* aiqResult = AiqResultStorage::getInstance(mCameraId)->getAiqResult(sequence); + if (aiqResult && aiqResult->mAiqParam.powerMode == CAMERA_LOW_POWER) { + if (ipuParameters != mIpuParameters) { + mIpuParameters = ipuParameters; + } else if (sequence > MAX_SETTING_COUNT) { + LOG2("don't run P2P if no PAL update, seq %ld", sequence); + return OK; + } + } + return mPGParamAdapt->updatePALAndEncode(ipuParameters, mTerminalCount, mParamPayload); } diff --git a/src/core/psysprocessor/PGCommon.h b/src/core/psysprocessor/PGCommon.h index 36bd4572..80e7a585 100644 --- a/src/core/psysprocessor/PGCommon.h +++ b/src/core/psysprocessor/PGCommon.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019-2021 Intel Corporation. + * Copyright (C) 2019-2023 Intel Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -258,6 +258,7 @@ class PGCommon { std::vector mDvsTerminalPairs; std::vector mTnrSimTerminalPairs; + const ia_binary_data* mIpuParameters; IntelCca* mIntelCca; }; diff --git a/src/core/psysprocessor/PipeLiteExecutor.cpp b/src/core/psysprocessor/PipeLiteExecutor.cpp index 54dd9f08..3eef3296 100644 --- a/src/core/psysprocessor/PipeLiteExecutor.cpp +++ b/src/core/psysprocessor/PipeLiteExecutor.cpp @@ -780,7 +780,7 @@ int PipeLiteExecutor::runPipe(map>& inBuffers, unit.inputBuffers.begin()->second->setSequence(sequence); // Currently PG handles one stats buffer only ret = unit.pg->iterate(unit.inputBuffers, unit.outputBuffers, - (statsCount > 0) ? pgStatsDatas[0] : nullptr, ipuParameters); + pgStatsDatas.empty() ? nullptr : pgStatsDatas[0], ipuParameters); CheckAndLogError((ret != OK), ret, "%s: pipe iteration error %d", mName.c_str(), ret); if (CameraDump::isDumpTypeEnable(DUMP_PSYS_INTERM_BUFFER)) { diff --git a/src/hal/hal_adaptor/CMakeLists.txt b/src/hal/hal_adaptor/CMakeLists.txt index 1ac9ae7b..31231353 100644 --- a/src/hal/hal_adaptor/CMakeLists.txt +++ b/src/hal/hal_adaptor/CMakeLists.txt @@ -93,6 +93,8 @@ set(HAL_ADAPTOR_SRCS ) add_library(hal_adaptor SHARED ${HAL_ADAPTOR_SRCS}) +set_target_properties(hal_adaptor PROPERTIES SOVERSION 0) +set_target_properties(hal_adaptor PROPERTIES VERSION "0.0.0") #---------------------------- Link settings ---------------------------- set (THREADS_PREFER_PTHREAD_FLAG ON) diff --git a/src/icbm/ICBMTypes.h b/src/icbm/ICBMTypes.h index 31731797..50608679 100644 --- a/src/icbm/ICBMTypes.h +++ b/src/icbm/ICBMTypes.h @@ -36,8 +36,10 @@ struct ImageInfo { enum ICBMFeatureType { REQUEST_NONE = 0, LEVEL0_TNR = 1 << 1, +// LEVEL0_ICBM_S USER_FRAMING = 1 << 2, BC_MODE_BB = 1 << 3, +// LEVEL0_ICBM_E REQUEST_MAX = 1 << ICBM_REQUEST_MAX_SHIFT }; @@ -46,10 +48,8 @@ struct ICBMInitInfo { uint32_t sessionType; uint32_t height; uint32_t width; -// DLC_FEATURE_S - int32_t dlcPathHandle; - char* dlcPath; -// DLC_FEATURE_E + int32_t libPathHandle; + char* libPath; }; struct ICBMReqInfo { diff --git a/src/icbm/OnePunchIC2.cpp b/src/icbm/OnePunchIC2.cpp index af666f2c..73f10c6f 100644 --- a/src/icbm/OnePunchIC2.cpp +++ b/src/icbm/OnePunchIC2.cpp @@ -31,6 +31,7 @@ namespace icamera { IntelOPIC2* IntelOPIC2::sInstance = nullptr; std::mutex IntelOPIC2::sLock; +// LEVEL0_ICBM_S void UserFramingBuilder::linkToMemoryChain(MemoryChainDescription& memoryChain) { memoryChain.linkIn("user_framing", "source:source", "drain:drain"); } @@ -38,11 +39,14 @@ void UserFramingBuilder::linkToMemoryChain(MemoryChainDescription& memoryChain) void BackgroundBlurBuilder::linkToMemoryChain(MemoryChainDescription& memoryChain) { memoryChain.linkIn("background_concealment", "in:source", "out:drain"); } +// LEVEL0_ICBM_E static const std::unordered_map gFeatureStrMapping = { + {ICBMFeatureType::LEVEL0_TNR, "tnr7us_l0"}, + // LEVEL0_ICBM_S {ICBMFeatureType::USER_FRAMING, "user_framing"}, {ICBMFeatureType::BC_MODE_BB, "background_concealment"}, - {ICBMFeatureType::LEVEL0_TNR, "tnr7us_l0"}, + // LEVEL0_ICBM_E }; IntelOPIC2* IntelOPIC2::getInstance() { @@ -94,7 +98,7 @@ int IntelOPIC2::setup(ICBMInitInfo* initParams, std::shared_ptr ha " @%s, request type: %d is already exist", initParams->cameraId, __func__, initParams->sessionType); - for (int feature = USER_FRAMING; feature < REQUEST_MAX; feature <<= 1) { + for (int feature = LEVEL0_TNR; feature < REQUEST_MAX; feature <<= 1) { if (!(initParams->sessionType & feature)) continue; const char* featureStr = gFeatureStrMapping.at(static_cast(feature)); if (strstr(supportedFeatures.c_str(), featureStr) == nullptr) { @@ -109,6 +113,7 @@ int IntelOPIC2::setup(ICBMInitInfo* initParams, std::shared_ptr ha mFeatureMap[key] = std::vector(); // we use the key value as the unique session id mSessionMap[key] = static_cast(key); + // LEVEL0_ICBM_S if (initParams->sessionType & ICBMFeatureType::USER_FRAMING) { iaic_options option{}; option.profiling = false; @@ -128,6 +133,7 @@ int IntelOPIC2::setup(ICBMInitInfo* initParams, std::shared_ptr ha mIC2Api->create_session(mSessionMap[key], featureStr, option); mFeatureMap[key].push_back(featureStr); } + // LEVEL0_ICBM_E if (initParams->sessionType & ICBMFeatureType::LEVEL0_TNR) { iaic_options option{}; option.profiling = true; @@ -282,7 +288,7 @@ void IntelOPIC2::setData(iaic_session uid, void* p, size_t size, const char* fea MemoryChainDescription IntelOPIC2::createMemoryChain(const ICBMReqInfo& reqInfo) { MemoryChainDescription mCD(reqInfo.inII, reqInfo.outII); - + // LEVEL0_ICBM_S if (reqInfo.reqType & ICBMFeatureType::USER_FRAMING) { UserFramingBuilder().linkToMemoryChain(mCD); } @@ -290,6 +296,7 @@ MemoryChainDescription IntelOPIC2::createMemoryChain(const ICBMReqInfo& reqInfo) if (reqInfo.reqType & ICBMFeatureType::BC_MODE_BB) { BackgroundBlurBuilder().linkToMemoryChain(mCD); } + // LEVEL0_ICBM_E if (reqInfo.reqType & ICBMFeatureType::LEVEL0_TNR) { mCD.linkIn(gFeatureStrMapping.at(ICBMFeatureType::LEVEL0_TNR), "in:source", "out:drain"); } diff --git a/src/icbm/OnePunchIC2.h b/src/icbm/OnePunchIC2.h index 5fdad6db..7b43a37f 100644 --- a/src/icbm/OnePunchIC2.h +++ b/src/icbm/OnePunchIC2.h @@ -29,6 +29,7 @@ namespace icamera { +// LEVEL0_ICBM_S struct IOPIC2Algorithm { virtual ~IOPIC2Algorithm() = default; virtual void linkToMemoryChain(MemoryChainDescription& memoryChain) = 0; @@ -49,6 +50,7 @@ class BackgroundBlurBuilder : public IOPIC2Algorithm { void linkToMemoryChain(MemoryChainDescription& memoryChain) override; }; +// LEVEL0_ICBM_E class IntelOPIC2 { public: diff --git a/src/iutils/Utils.cpp b/src/iutils/Utils.cpp index bb3062ff..8c60930c 100644 --- a/src/iutils/Utils.cpp +++ b/src/iutils/Utils.cpp @@ -595,8 +595,12 @@ void CameraUtils::getDeviceName(const char* entityName, string& deviceNodeName, subDeviceName += dirp->d_name; subDeviceName += "/name"; int fd = open(subDeviceName.c_str(), O_RDONLY); - CheckAndLogError((fd < 0), VOID_VALUE, "@%s, open file %s failed. err: %s", __func__, - subDeviceName.c_str(), strerror(errno)); + if (fd < 0) { + LOGE("@%s, open file %s failed. err: %s", __func__, subDeviceName.c_str(), + strerror(errno)); + closedir(dp); + return; + } char buf[128] = {'\0'}; int len = read(fd, buf, sizeof(buf)); diff --git a/src/metadata/ParameterGenerator.cpp b/src/metadata/ParameterGenerator.cpp index 715c7e67..eaa3abc1 100644 --- a/src/metadata/ParameterGenerator.cpp +++ b/src/metadata/ParameterGenerator.cpp @@ -480,6 +480,14 @@ int ParameterGenerator::updateCommonMetadata(Parameters* params, const AiqResult entry.data.i64 = &frameDuration; ParameterHelper::mergeTag(entry, params); + uint8_t sensorMode = (aiqResult->mTuningMode == TUNING_MODE_VIDEO_BINNING) ? + INTEL_VENDOR_CAMERA_SENSOR_MODE_BINNING : INTEL_VENDOR_CAMERA_SENSOR_MODE_FULL; + entry.tag = INTEL_VENDOR_CAMERA_SENSOR_MODE; + entry.type = ICAMERA_TYPE_BYTE; + entry.count = 1; + entry.data.u8 = &sensorMode; + ParameterHelper::mergeTag(entry, params); + int32_t userRequestId = 0; params->getUserRequestId(userRequestId); camera_msg_data_t data = {CAMERA_METADATA_ENTRY, {}}; diff --git a/src/metadata/vendor_metadata_tag_info.c b/src/metadata/vendor_metadata_tag_info.c index e85a4b7f..427284ef 100644 --- a/src/metadata/vendor_metadata_tag_info.c +++ b/src/metadata/vendor_metadata_tag_info.c @@ -60,6 +60,9 @@ static tag_info_t intel_vendor_camera[INTEL_VENDOR_CAMERA_END - INTEL_VENDOR_CAM {"totalExposureTargetRange", ICAMERA_TYPE_INT64}, {"rawDataOutput", ICAMERA_TYPE_BYTE}, {"hdrRatio", ICAMERA_TYPE_FLOAT}, + {"moduleId", ICAMERA_TYPE_BYTE}, + {"sensorId", ICAMERA_TYPE_BYTE}, + {"sensorMode", ICAMERA_TYPE_BYTE}, }; tag_info_t* vendor_tag_info[INTEL_VENDOR_SECTION_COUNT] = { @@ -234,6 +237,27 @@ int vendor_metadata_enum_snprint(uint32_t tag, int32_t value, char* dst, size_t case INTEL_VENDOR_CAMERA_HDR_RATIO: { break; } + case INTEL_VENDOR_CAMERA_MODULE_ID: { + break; + } + case INTEL_VENDOR_CAMERA_SENSOR_ID: { + break; + } + case INTEL_VENDOR_CAMERA_SENSOR_MODE: { + switch (value) { + case INTEL_VENDOR_CAMERA_SENSOR_MODE_FULL: + msg = "FULL"; + ret = 0; + break; + case INTEL_VENDOR_CAMERA_SENSOR_MODE_BINNING: + msg = "BINNING"; + ret = 0; + break; + default: + msg = "error: enum value out of range"; + } + break; + } } snprintf(dst, size, "%s", msg); diff --git a/src/platformdata/CameraParser.cpp b/src/platformdata/CameraParser.cpp index 30098fd1..4c91ad4b 100644 --- a/src/platformdata/CameraParser.cpp +++ b/src/platformdata/CameraParser.cpp @@ -695,6 +695,10 @@ void CameraParser::handleSensor(CameraParser* profiles, const char* name, const pCurrentCam->mTnrExtraFrameNum = val > 0 ? val : 0; } else if (strcmp(name, "dummyStillSink") == 0) { pCurrentCam->mDummyStillSink = strcmp(atts[1], "true") == 0; + } else if (strcmp(name, "tnrThresholdSizes") == 0) { + parseSizesList(atts[1], pCurrentCam->mTnrThresholdSizes); + for (const auto& s : pCurrentCam->mTnrThresholdSizes) + LOG2("@%s, mTnrThresholdSizes: width:%d, height:%d", __func__, s.width, s.height); } else if (strcmp(name, "useGpuTnr") == 0) { pCurrentCam->mGpuTnrEnabled = strcmp(atts[1], "true") == 0; } else if (!strcmp(name, "removeCacheFlushOutputBuffer")) { @@ -2138,12 +2142,11 @@ void CameraParser::endParseElement(void* userData, const char* name) { } } -int CameraParser::getCameraModuleNameFromEEPROM(const std::string& nvmDir, - std::string* cameraModule) { +int CameraParser::getCameraModuleNameFromEEPROM(PlatformData::StaticCfg::CameraInfo* cam) { const int moduleInfoOffset = CAMERA_MODULE_INFO_OFFSET; - FILE* eepromFile = fopen(nvmDir.c_str(), "rb"); + FILE* eepromFile = fopen(cam->mNvmDirectory.c_str(), "rb"); CheckAndLogError(!eepromFile, UNKNOWN_ERROR, "Failed to open EEPROM file in %s", - nvmDir.c_str()); + cam->mNvmDirectory.c_str()); // file size should be larger than CAMERA_MODULE_INFO_OFFSET fseek(eepromFile, 0, SEEK_END); @@ -2172,8 +2175,20 @@ int CameraParser::getCameraModuleNameFromEEPROM(const std::string& nvmDir, snprintf(tmpName, CAMERA_MODULE_INFO_SIZE, "%c%c_%04x", cameraModuleInfo.mModuleVendor[0], cameraModuleInfo.mModuleVendor[1], cameraModuleInfo.mModuleProduct); - cameraModule->assign(tmpName); - LOG1("%s, aiqb name %s", __func__, cameraModule->c_str()); + cam->mCamModuleName.assign(tmpName); + LOG1("%s, aiqb name %s", __func__, cam->mCamModuleName.c_str()); + + char moduleId[CAMERA_MODULE_INFO_SIZE]; + snprintf(moduleId, CAMERA_MODULE_INFO_SIZE, "%c%c%04x", cameraModuleInfo.mModuleVendor[0], + cameraModuleInfo.mModuleVendor[1], cameraModuleInfo.mModuleProduct); + cam->mModuleId.assign(moduleId); + + char sensorId[CAMERA_MODULE_INFO_SIZE]; + snprintf(sensorId, CAMERA_MODULE_INFO_SIZE, "%c%c%04x", cameraModuleInfo.mSensorVendor[0], + cameraModuleInfo.mSensorVendor[1], cameraModuleInfo.mSensorModel); + cam->mSensorId.assign(sensorId); + + LOG1("module id %s, sensor id %s", cam->mModuleId.c_str(), cam->mSensorId.c_str()); return OK; } @@ -2249,8 +2264,7 @@ void CameraParser::getNVMDirectory(CameraParser* profiles) { LOG2("NVM data is located in %s", nvmPath.c_str()); profiles->pCurrentCam->mNvmDirectory = nvmPath; profiles->pCurrentCam->mMaxNvmDataSize = nvm.dataSize; - int ret = getCameraModuleNameFromEEPROM(profiles->pCurrentCam->mNvmDirectory, - &profiles->pCurrentCam->mCamModuleName); + int ret = getCameraModuleNameFromEEPROM(profiles->pCurrentCam); LOG2("NVM dir %s, ret %d", profiles->pCurrentCam->mNvmDirectory.c_str(), ret); break; } else { diff --git a/src/platformdata/CameraParser.h b/src/platformdata/CameraParser.h index 467b1e01..9782bd67 100644 --- a/src/platformdata/CameraParser.h +++ b/src/platformdata/CameraParser.h @@ -176,7 +176,7 @@ class CameraParser : public ParserBase { std::string replaceStringInXml(CameraParser* profiles, const char* value); void getNVMDirectory(CameraParser* profiles); - int getCameraModuleNameFromEEPROM(const std::string& nvmDir, std::string* cameraModule); + int getCameraModuleNameFromEEPROM(PlatformData::StaticCfg::CameraInfo* cam); private: DISALLOW_COPY_AND_ASSIGN(CameraParser); diff --git a/src/platformdata/PlatformData.cpp b/src/platformdata/PlatformData.cpp index 95842288..a11ed9df 100644 --- a/src/platformdata/PlatformData.cpp +++ b/src/platformdata/PlatformData.cpp @@ -22,6 +22,7 @@ #include #include +#include #include "CameraParser.h" #include "iutils/CameraLog.h" @@ -248,6 +249,17 @@ void PlatformData::releaseGraphConfigNodes() { } } +int PlatformData::getModuleInfo(int cameraId, std::string& moduleId, std::string& sensorId) { + const StaticCfg::CameraInfo& pCam = getInstance()->mStaticCfg.mCameras[cameraId]; + + if (pCam.mModuleId.empty() || pCam.mSensorId.empty()) return NAME_NOT_FOUND; + + moduleId = pCam.mModuleId; + sensorId = pCam.mSensorId; + + return OK; +} + const char* PlatformData::getSensorName(int cameraId) { return getInstance()->mStaticCfg.mCameras[cameraId].sensorName.c_str(); } @@ -1837,6 +1849,11 @@ bool PlatformData::isDummyStillSink(int cameraId) { return getInstance()->mStaticCfg.mCameras[cameraId].mDummyStillSink; } +void PlatformData::getTnrThresholdSizes(int cameraId, + std::vector& resolutions) { + resolutions = getInstance()->mStaticCfg.mCameras[cameraId].mTnrThresholdSizes; +} + bool PlatformData::isGpuTnrEnabled(int cameraId) { return getInstance()->mStaticCfg.mCameras[cameraId].mGpuTnrEnabled; } diff --git a/src/platformdata/PlatformData.h b/src/platformdata/PlatformData.h index ba4a3151..b978dde5 100644 --- a/src/platformdata/PlatformData.h +++ b/src/platformdata/PlatformData.h @@ -328,12 +328,15 @@ class PlatformData { int mNvmOverwrittenFileSize; std::string mNvmOverwrittenFile; // overwrite NVM data std::string mCamModuleName; + std::string mModuleId; + std::string mSensorId; std::vector mSupportModuleNames; /* key: camera module name, value: camera module info */ std::unordered_map mCameraModuleInfoMap; std::vector mScalerInfo; int mTnrExtraFrameNum; bool mDummyStillSink; + std::vector mTnrThresholdSizes; bool mGpuTnrEnabled; bool mRemoveCacheFlushOutputBuffer; bool mPLCEnable; @@ -443,6 +446,17 @@ class PlatformData { */ static int getXmlCameraNumber(); + /** + * get module info of sensor + * + * \param cameraId: [0, MAX_CAMERA_NUMBER - 1] + * \param moduleId: the module id of sensor + * \param sensorId: the sensor id of sensor + * + * \return int: return OK if has module info. + */ + static int getModuleInfo(int cameraId, std::string& moduleId, std::string& sensorId); + /** * get the sensor name * @@ -1691,6 +1705,12 @@ class PlatformData { */ static bool isDummyStillSink(int cameraId); + /** + * get the tnr resolution list + * + * \param cameraId: [0, MAX_CAMERA_NUMBER - 1] + */ + static void getTnrThresholdSizes(int cameraId, std::vector& resolutions); /* * check if removing cache flush output buffer * diff --git a/src/platformdata/gc/GraphConfig.cpp b/src/platformdata/gc/GraphConfig.cpp index 3850ab53..bd73363a 100644 --- a/src/platformdata/gc/GraphConfig.cpp +++ b/src/platformdata/gc/GraphConfig.cpp @@ -18,6 +18,8 @@ #include "src/platformdata/gc/GraphConfig.h" +#include + #include "PlatformData.h" #include "iutils/CameraLog.h" @@ -64,8 +66,23 @@ status_t GraphConfig::queryGraphSettings(const std::vector& activeSt status_t GraphConfig::configStreams(const vector& activeStreams) { LOG1("@%s", __func__); + vector res; + PlatformData::getTnrThresholdSizes(mCameraId, res); + + // enable tnr dummy sink on resolution size larger than threshold + bool highResolution = res.size() > 0 ? false : true; + if (res.size() > 0) { + for (auto& stream : activeStreams) { + if (static_cast(stream->mHeight) * static_cast(stream->mWidth) > + res.begin()->height * res.begin()->width) { + highResolution = true; + break; + } + } + } + bool dummyStillSink = PlatformData::isDummyStillSink(mCameraId); - int ret = mGraphConfigImpl->configStreams(activeStreams, dummyStillSink); + int ret = mGraphConfigImpl->configStreams(activeStreams, dummyStillSink && highResolution); CheckAndLogError(ret != OK, UNKNOWN_ERROR, "%s, Failed to config streams", __func__); ret = mGraphConfigImpl->getGraphConfigData(&mGraphData);