Skip to content

Commit

Permalink
ASL MR1 release
Browse files Browse the repository at this point in the history
Signed-off-by: zouxiaoh <[email protected]>
  • Loading branch information
zouxiaoh committed Jan 18, 2024
1 parent 89a862c commit e52e8e0
Show file tree
Hide file tree
Showing 47 changed files with 691 additions and 150 deletions.
14 changes: 7 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ if (CAL_BUILD)
include_directories(include include/api include/utils include/linux
${USR_INCLUDE_HEADER}/android/system/core/include/
${USR_INCLUDE_HEADER}/ia_imaging
${USR_INCLUDE_HEADER}/lib${IPU_VER}
${USR_INCLUDE_HEADER}/usr/lib${IPU_VER}
${USR_INCLUDE_HEADER}/android/hardware/libhardware/include/
aal aal/chrome src/iutils src/jpeg
modules/memory modules/memory/chrome
Expand Down Expand Up @@ -391,9 +391,9 @@ endif() #ENABLE_SANDBOXING
if (NOT CAL_BUILD)
# Install headers
if ("${CMAKE_INSTALL_SUB_PATH}" STREQUAL "")
install(DIRECTORY include/ DESTINATION include/libcamhal)
install(DIRECTORY include/ DESTINATION usr/include/libcamhal)
if (SUPPORT_LIVE_TUNING)
install(FILES modules/livetune/LiveTuning.h DESTINATION include/libcamhal/api)
install(FILES modules/livetune/LiveTuning.h DESTINATION usr/include/libcamhal/api)
endif() #SUPPORT_LIVE_TUNING
endif()

Expand All @@ -413,18 +413,18 @@ endif()
# Install libraries
if (${CMAKE_VERSION} VERSION_LESS 3.11)
install(TARGETS camhal camhal_static
LIBRARY DESTINATION lib/${CMAKE_INSTALL_SUB_PATH}
ARCHIVE DESTINATION lib/${CMAKE_INSTALL_SUB_PATH}
LIBRARY DESTINATION usr/lib/${CMAKE_INSTALL_SUB_PATH}
ARCHIVE DESTINATION usr/lib/${CMAKE_INSTALL_SUB_PATH}
)
else()
install(TARGETS camhal camhal_static DESTINATION lib/${CMAKE_INSTALL_SUB_PATH})
install(TARGETS camhal camhal_static DESTINATION usr/lib/${CMAKE_INSTALL_SUB_PATH})
endif()

# Install package config file
configure_file(${PROJECT_SOURCE_DIR}/cmake/libcamhal.pc.cmakein
${PROJECT_SOURCE_DIR}/libcamhal.pc @ONLY)
install(FILES libcamhal.pc
DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CMAKE_INSTALL_SUB_PATH}/pkgconfig)
DESTINATION usr/${CMAKE_INSTALL_LIBDIR}/${CMAKE_INSTALL_SUB_PATH}/pkgconfig)

endif() #NOT CAL_BUILD

Expand Down
Binary file modified config/linux/ipu6/AR0234_TGL_10bits.aiqb
Binary file not shown.
Binary file modified config/linux/ipu6ep/AR0234_TGL_10bits.aiqb
Binary file not shown.
Binary file modified config/linux/ipu6epmtl/AR0234_TGL_10bits.aiqb
Binary file not shown.
Binary file modified config/linux/ipu6epmtl/OV02E10_ASG202N3_MTL.aiqb
Binary file not shown.
4 changes: 2 additions & 2 deletions config/linux/ipu6epmtl/libcamhal_profile.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
<platform value="IPU6"/>
<!-- The value format of availableSensors is "sensor name"-wf/uf-"CSI port ID". -->
<availableSensors value="ov13b10-uf-0,ov13b10-wf-4,ov5675-uf-4,ov01a1s-uf-0,ov01a10-uf-0,ov01a10-uf-4,
ov02c10-uf-0,ov02c10-uf-4,ov02e10-uf-1,ov02e10-uf-4,
hm2170-uf-0,hm2170-uf-4,hm2172-uf-1,hm2172-uf-4,hi556-uf-1,
ov02c10-uf-0,ov02c10-uf-1,ov02c10-uf-4,ov02e10-uf-1,ov02e10-uf-4,
hm2170-uf-0,hm2170-uf-1,hm2170-uf-4,hm2172-uf-1,hm2172-uf-4,hi556-uf-1,
imx390,ar0234,external_source,ar0234_usb,lt6911uxc,lt6911uxe"/>
</Common>
</CameraSettings>
2 changes: 1 addition & 1 deletion config/linux/ipu6epmtl_upstream/libcamhal_profile.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@
<version value="1.0"/>
<platform value="IPU6"/>
<!-- The value format of availableSensors is "sensor name"-wf/uf-"CSI port ID". -->
<availableSensors value="ov13b10-uf-0,ov13b10-wf-4"/>
<availableSensors value="ov13b10-uf-0,ov13b10-wf-4,lt6911uxe"/>
</Common>
</CameraSettings>
171 changes: 171 additions & 0 deletions config/linux/ipu6epmtl_upstream/sensors/lt6911uxe.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2022-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.
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.
-->
<CameraSettings>
<Sensor name="lt6911uxe" description="lt6911uxe sensor">
<MediaCtlConfig id="0">
<!-- FE capture -->
<format name="lt6911uxe 16-002b" pad="0" width="1280" height="720" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<format name="Intel IPU6 CSI2 0" pad="0" width="1280" height="720" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<link srcName="lt6911uxe 16-002b" srcPad="0" sinkName="Intel IPU6 CSI2 0" sinkPad="0" enable="true"/>
<link srcName="Intel IPU6 CSI2 0" srcPad="1" sinkName="Intel IPU6 ISYS Capture 0" sinkPad="0" enable="true"/>
<videonode name="Intel IPU6 ISYS Capture 0" videoNodeType="VIDEO_GENERIC"/>
<videonode name="Intel IPU6 CSI2 0" videoNodeType="VIDEO_ISYS_RECEIVER"/>
<videonode name="lt6911uxe 16-002b" videoNodeType="VIDEO_PIXEL_ARRAY"/>
</MediaCtlConfig>
<MediaCtlConfig id="1">
<!-- FE capture -->
<format name="lt6911uxe 16-002b" pad="0" width="1920" height="1080" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<format name="Intel IPU6 CSI2 0" pad="0" width="1920" height="1080" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<link srcName="lt6911uxe 16-002b" srcPad="0" sinkName="Intel IPU6 CSI2 0" sinkPad="0" enable="true"/>
<link srcName="Intel IPU6 CSI2 0" srcPad="1" sinkName="Intel IPU6 ISYS Capture 0" sinkPad="0" enable="true"/>
<videonode name="Intel IPU6 ISYS Capture 0" videoNodeType="VIDEO_GENERIC"/>
<videonode name="Intel IPU6 CSI2 0" videoNodeType="VIDEO_ISYS_RECEIVER"/>
<videonode name="lt6911uxe 16-002b" videoNodeType="VIDEO_PIXEL_ARRAY"/>
</MediaCtlConfig>
<MediaCtlConfig id="2">
<!-- FE capture -->
<format name="lt6911uxe 16-002b" pad="0" width="2048" height="1080" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<format name="Intel IPU6 CSI2 0" pad="0" width="2048" height="1080" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<link srcName="lt6911uxe 16-002b" srcPad="0" sinkName="Intel IPU6 CSI2 0" sinkPad="0" enable="true"/>
<link srcName="Intel IPU6 CSI2 0" srcPad="1" sinkName="Intel IPU6 ISYS Capture 0" sinkPad="0" enable="true"/>
<videonode name="Intel IPU6 ISYS Capture 0" videoNodeType="VIDEO_GENERIC"/>
<videonode name="Intel IPU6 CSI2 0" videoNodeType="VIDEO_ISYS_RECEIVER"/>
<videonode name="lt6911uxe 16-002b" videoNodeType="VIDEO_PIXEL_ARRAY"/>
</MediaCtlConfig>
<MediaCtlConfig id="3">
<!-- FE capture -->
<format name="lt6911uxe 16-002b" pad="0" width="2560" height="1440" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<format name="Intel IPU6 CSI2 0" pad="0" width="2560" height="1440" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<link srcName="lt6911uxe 16-002b" srcPad="0" sinkName="Intel IPU6 CSI2 0" sinkPad="0" enable="true"/>
<link srcName="Intel IPU6 CSI2 0" srcPad="1" sinkName="Intel IPU6 ISYS Capture 0" sinkPad="0" enable="true"/>
<videonode name="Intel IPU6 ISYS Capture 0" videoNodeType="VIDEO_GENERIC"/>
<videonode name="Intel IPU6 CSI2 0" videoNodeType="VIDEO_ISYS_RECEIVER"/>
<videonode name="lt6911uxe 16-002b" videoNodeType="VIDEO_PIXEL_ARRAY"/>
</MediaCtlConfig>
<MediaCtlConfig id="4">
<!-- FE capture -->
<format name="lt6911uxe 16-002b" pad="0" width="1920" height="2160" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<format name="Intel IPU6 CSI2 0" pad="0" width="1920" height="2160" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<link srcName="lt6911uxe 16-002b" srcPad="0" sinkName="Intel IPU6 CSI2 0" sinkPad="0" enable="true"/>
<link srcName="Intel IPU6 CSI2 0" srcPad="1" sinkName="Intel IPU6 ISYS Capture 0" sinkPad="0" enable="true"/>
<videonode name="Intel IPU6 ISYS Capture 0" videoNodeType="VIDEO_GENERIC"/>
<videonode name="Intel IPU6 CSI2 0" videoNodeType="VIDEO_ISYS_RECEIVER"/>
<videonode name="lt6911uxe 16-002b" videoNodeType="VIDEO_PIXEL_ARRAY"/>
</MediaCtlConfig>
<MediaCtlConfig id="5">
<!-- FE capture -->
<format name="lt6911uxe 16-002b" pad="0" width="3840" height="2160" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<format name="Intel IPU6 CSI2 0" pad="0" width="3840" height="2160" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<link srcName="lt6911uxe 16-002b" srcPad="0" sinkName="Intel IPU6 CSI2 0" sinkPad="0" enable="true"/>
<link srcName="Intel IPU6 CSI2 0" srcPad="1" sinkName="Intel IPU6 ISYS Capture 0" sinkPad="0" enable="true"/>
<videonode name="Intel IPU6 ISYS Capture 0" videoNodeType="VIDEO_GENERIC"/>
<videonode name="Intel IPU6 CSI2 0" videoNodeType="VIDEO_ISYS_RECEIVER"/>
<videonode name="lt6911uxe 16-002b" videoNodeType="VIDEO_PIXEL_ARRAY"/>
</MediaCtlConfig>
<StaticMetadata>
<!-- list of stream config info. Meanings of each part is "format,widthxheight,field(0 is none, 7 is alternate),mcId" -->
<supportedStreamConfig value="V4L2_PIX_FMT_UYVY,1280x720,0,0,
V4L2_PIX_FMT_UYVY,1920x1080,0,1,
V4L2_PIX_FMT_UYVY,2048x1080,0,2,
V4L2_PIX_FMT_UYVY,2560x1440,0,3,
V4L2_PIX_FMT_UYVY,1920x2160,0,4,
V4L2_PIX_FMT_UYVY,3840x2160,0,5"/>
<fpsRange value="10,30,10,60"/>
</StaticMetadata>
<supportedISysSizes value="1280x720,1920x1080,2048x1080,2560x1440,1920x2160,3840x2160"/>
<!-- ascending order request-->
<supportedISysFormat value="V4L2_PIX_FMT_UYVY"/>
<enableAIQ value="false"/>
<resetLinkRoute value="false"/>
</Sensor>
<Sensor name="lt6911uxe-2" description="lt6911uxe sensor">
<MediaCtlConfig id="0">
<!-- FE capture -->
<format name="lt6911uxe 15-002b" pad="0" width="1280" height="720" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<format name="Intel IPU6 CSI2 4" pad="0" width="1280" height="720" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<link srcName="lt6911uxe 15-002b" srcPad="0" sinkName="Intel IPU6 CSI2 4" sinkPad="0" enable="true"/>
<link srcName="Intel IPU6 CSI2 4" srcPad="1" sinkName="Intel IPU6 ISYS Capture 1" sinkPad="0" enable="true"/>
<videonode name="Intel IPU6 ISYS Capture 1" videoNodeType="VIDEO_GENERIC"/>
<videonode name="Intel IPU6 CSI2 4" videoNodeType="VIDEO_ISYS_RECEIVER"/>
<videonode name="lt6911uxe 15-002b" videoNodeType="VIDEO_PIXEL_ARRAY"/>
</MediaCtlConfig>
<MediaCtlConfig id="1">
<!-- FE capture -->
<format name="lt6911uxe 15-002b" pad="0" width="1920" height="1080" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<format name="Intel IPU6 CSI2 4" pad="0" width="1920" height="1080" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<link srcName="lt6911uxe 15-002b" srcPad="0" sinkName="Intel IPU6 CSI2 4" sinkPad="0" enable="true"/>
<link srcName="Intel IPU6 CSI2 4" srcPad="1" sinkName="Intel IPU6 ISYS Capture 1" sinkPad="0" enable="true"/>
<videonode name="Intel IPU6 ISYS Capture 1" videoNodeType="VIDEO_GENERIC"/>
<videonode name="Intel IPU6 CSI2 4" videoNodeType="VIDEO_ISYS_RECEIVER"/>
<videonode name="lt6911uxe 15-002b" videoNodeType="VIDEO_PIXEL_ARRAY"/>
</MediaCtlConfig>
<MediaCtlConfig id="2">
<!-- FE capture -->
<format name="lt6911uxe 15-002b" pad="0" width="2048" height="1080" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<format name="Intel IPU6 CSI2 4" pad="0" width="2048" height="1080" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<link srcName="lt6911uxe 15-002b" srcPad="0" sinkName="Intel IPU6 CSI2 4" sinkPad="0" enable="true"/>
<link srcName="Intel IPU6 CSI2 4" srcPad="1" sinkName="Intel IPU6 ISYS Capture 1" sinkPad="0" enable="true"/>
<videonode name="Intel IPU6 ISYS Capture 1" videoNodeType="VIDEO_GENERIC"/>
<videonode name="Intel IPU6 CSI2 4" videoNodeType="VIDEO_ISYS_RECEIVER"/>
<videonode name="lt6911uxe 15-002b" videoNodeType="VIDEO_PIXEL_ARRAY"/>
</MediaCtlConfig>
<MediaCtlConfig id="3">
<!-- FE capture -->
<format name="lt6911uxe 15-002b" pad="0" width="2560" height="1440" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<format name="Intel IPU6 CSI2 4" pad="0" width="2560" height="1440" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<link srcName="lt6911uxe 15-002b" srcPad="0" sinkName="Intel IPU6 CSI2 4" sinkPad="0" enable="true"/>
<link srcName="Intel IPU6 CSI2 4" srcPad="1" sinkName="Intel IPU6 ISYS Capture 1" sinkPad="0" enable="true"/>
<videonode name="Intel IPU6 ISYS Capture 1" videoNodeType="VIDEO_GENERIC"/>
<videonode name="Intel IPU6 CSI2 4" videoNodeType="VIDEO_ISYS_RECEIVER"/>
<videonode name="lt6911uxe 15-002b" videoNodeType="VIDEO_PIXEL_ARRAY"/>
</MediaCtlConfig>
<MediaCtlConfig id="4">
<!-- FE capture -->
<format name="lt6911uxe 15-002b" pad="0" width="1920" height="2160" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<format name="Intel IPU6 CSI2 4" pad="0" width="1920" height="2160" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<link srcName="lt6911uxe 15-002b" srcPad="0" sinkName="Intel IPU6 CSI2 4" sinkPad="0" enable="true"/>
<link srcName="Intel IPU6 CSI2 4" srcPad="1" sinkName="Intel IPU6 ISYS Capture 1" sinkPad="0" enable="true"/>
<videonode name="Intel IPU6 ISYS Capture 1" videoNodeType="VIDEO_GENERIC"/>
<videonode name="Intel IPU6 CSI2 4" videoNodeType="VIDEO_ISYS_RECEIVER"/>
<videonode name="lt6911uxe 15-002b" videoNodeType="VIDEO_PIXEL_ARRAY"/>
</MediaCtlConfig>
<MediaCtlConfig id="5">
<!-- FE capture -->
<format name="lt6911uxe 15-002b" pad="0" width="3840" height="2160" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<format name="Intel IPU6 CSI2 4" pad="0" width="3840" height="2160" format="V4L2_MBUS_FMT_UYVY8_1X16"/>
<link srcName="lt6911uxe 15-002b" srcPad="0" sinkName="Intel IPU6 CSI2 4" sinkPad="0" enable="true"/>
<link srcName="Intel IPU6 CSI2 4" srcPad="1" sinkName="Intel IPU6 ISYS Capture 1" sinkPad="0" enable="true"/>
<videonode name="Intel IPU6 ISYS Capture 1" videoNodeType="VIDEO_GENERIC"/>
<videonode name="Intel IPU6 CSI2 4" videoNodeType="VIDEO_ISYS_RECEIVER"/>
<videonode name="lt6911uxe 15-002b" videoNodeType="VIDEO_PIXEL_ARRAY"/>
</MediaCtlConfig>
<StaticMetadata>
<!-- list of stream config info. Meanings of each part is "format,widthxheight,field(0 is none, 7 is alternate),mcId" -->
<supportedStreamConfig value="V4L2_PIX_FMT_UYVY,1280x720,0,0,
V4L2_PIX_FMT_UYVY,1920x1080,0,1,
V4L2_PIX_FMT_UYVY,2048x1080,0,2,
V4L2_PIX_FMT_UYVY,2560x1440,0,3,
V4L2_PIX_FMT_UYVY,1920x2160,0,4,
V4L2_PIX_FMT_UYVY,3840x2160,0,5"/>
<fpsRange value="10,30,10,60"/>
</StaticMetadata>
<supportedISysSizes value="1280x720,1920x1080,2048x1080,2560x1440,1920x2160,3840x2160"/>
<!-- ascending order request-->
<supportedISysFormat value="V4L2_PIX_FMT_UYVY"/>
<enableAIQ value="false"/>
<resetLinkRoute value="false"/>
</Sensor>
</CameraSettings>
5 changes: 5 additions & 0 deletions include/api/intel_vendor_metadata_tags.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,11 @@ typedef enum vendor_metadata_tag {
INTEL_VENDOR_CAMERA_MODULE_ID, // byte[] | public
INTEL_VENDOR_CAMERA_SENSOR_ID, // byte[] | public
INTEL_VENDOR_CAMERA_SENSOR_MODE, // enum | public
INTEL_VENDOR_CAMERA_ANALOG_GAIN_RANGE, // float[] | public
INTEL_VENDOR_CAMERA_DIGITAL_GAIN_RANGE, // float[] | public
INTEL_VENDOR_CAMERA_ANALOG_GAIN, // float | public
INTEL_VENDOR_CAMERA_DIGITAL_GAIN, // float | public
INTEL_VENDOR_CAMERA_SENSITIVITY_RANGE, // int32[] | public
INTEL_VENDOR_CAMERA_END,
} vendor_metadata_tag_t;

Expand Down
11 changes: 9 additions & 2 deletions modules/algowrapper/IntelCca.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,13 @@ IntelCca* IntelCca::getInstance(int cameraId, TuningMode mode) {
}
}

#ifndef ENABLE_SANDBOXING
if (sCcaInstance.empty()) {
ia_env env = {&Log::ccaPrintInfo, &Log::ccaPrintError, &Log::ccaPrintInfo};
ia_log_init(&env);
}
#endif

IntelCca::CCAHandle handle = {};
handle.cameraId = cameraId;
handle.ccaHandle[mode] = new IntelCca(cameraId, mode);
Expand Down Expand Up @@ -112,7 +119,7 @@ ia_err IntelCca::setStatsParams(const cca::cca_stats_params& params) {
}

ia_err IntelCca::runAEC(uint64_t frameId, const cca::cca_ae_input_params& params,
cca::cca_ae_results* results) {
cca::cca_ae_results* results, bool lowPower) {
CheckAndLogError(!results, ia_err_argument, "@%s, results is nullptr", __func__);

ia_err ret = getIntelCCA()->runAEC(frameId, params, results);
Expand All @@ -133,7 +140,7 @@ ia_err IntelCca::runAIQ(uint64_t frameId, const cca::cca_aiq_params& params,

ia_err IntelCca::runLTM(uint64_t frameId, const cca::cca_ltm_input_params& params) {
ia_err ret = getIntelCCA()->runLTM(frameId, params);
LOG2("@%s, frameId: %u, ret:%d", __func__, frameId, ret);
LOG2("@%s, frameId: %lu, ret:%d", __func__, frameId, ret);

return ret;
}
Expand Down
2 changes: 1 addition & 1 deletion modules/algowrapper/IntelCca.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ class IntelCca {
ia_err setStatsParams(const cca::cca_stats_params& params);

ia_err runAEC(uint64_t frameId, const cca::cca_ae_input_params& params,
cca::cca_ae_results* results);
cca::cca_ae_results* results, bool lowPower);
ia_err runAIQ(uint64_t frameId, const cca::cca_aiq_params& params,
cca::cca_aiq_results* results, camera_makernote_mode_t mode = MAKERNOTE_MODE_OFF);

Expand Down
Loading

0 comments on commit e52e8e0

Please sign in to comment.