已合并
Add extendGainmap idl only #1996
zhangchunrui创建于 6月24日
Add extendGainmap idl only #1996
已合并
共 5 个文件变更+255-0
| @@ -35,6 +35,7 @@ | |||
| 35 | "build": { | 35 | "build": { |
| 36 | "sub_component": [ | 36 | "sub_component": [ |
| 37 | "//drivers/interface/camera/metadata/v1_0:camera_vendor_tag_idl_target", | 37 | "//drivers/interface/camera/metadata/v1_0:camera_vendor_tag_idl_target", |
| 38 | + "//drivers/interface/camera/v1_7:camera_idl_target", | ||
| 38 | "//drivers/interface/camera/v1_6:camera_idl_target", | 39 | "//drivers/interface/camera/v1_6:camera_idl_target", |
| 39 | "//drivers/interface/camera/v1_5:camera_idl_target", | 40 | "//drivers/interface/camera/v1_5:camera_idl_target", |
| 40 | "//drivers/interface/camera/v1_4:camera_idl_target", | 41 | "//drivers/interface/camera/v1_4:camera_idl_target", |
| @@ -46,6 +47,7 @@ | |||
| 46 | "//drivers/interface/camera/sequenceable/buffer_handle:libbuffer_handle_sequenceable_1.0", | 47 | "//drivers/interface/camera/sequenceable/buffer_handle:libbuffer_handle_sequenceable_1.0", |
| 47 | "//drivers/interface/camera/sequenceable/map_data:libmap_data_sequenceable_1.0", | 48 | "//drivers/interface/camera/sequenceable/map_data:libmap_data_sequenceable_1.0", |
| 48 | "//drivers/interface/camera/metadata:metadata", | 49 | "//drivers/interface/camera/metadata:metadata", |
| 50 | + "//drivers/interface/camera/v1_7:libcamera_stub_1.7", | ||
| 49 | "//drivers/interface/camera/v1_6:libcamera_stub_1.6", | 51 | "//drivers/interface/camera/v1_6:libcamera_stub_1.6", |
| 50 | "//drivers/interface/camera/v1_5:libcamera_stub_1.5", | 52 | "//drivers/interface/camera/v1_5:libcamera_stub_1.5", |
| 51 | "//drivers/interface/camera/v1_4:libcamera_stub_1.4", | 53 | "//drivers/interface/camera/v1_4:libcamera_stub_1.4", |
| @@ -71,6 +73,30 @@ | |||
| 71 | "header_base": "//drivers/interface/camera/metadata" | 73 | "header_base": "//drivers/interface/camera/metadata" |
| 72 | } | 74 | } |
| 73 | }, | 75 | }, |
| 76 | + { | ||
| 77 | + "name": "//drivers/interface/camera/v1_7:libcamera_stub_1.7", | ||
| 78 | + "header": { | ||
| 79 | + "header_files": [ | ||
| 80 | + ], | ||
| 81 | + "header_base": "//drivers/interface/camera" | ||
| 82 | + } | ||
| 83 | + }, | ||
| 84 | + { | ||
| 85 | + "name": "//drivers/interface/camera/v1_7:libcamera_proxy_1.7", | ||
| 86 | + "header": { | ||
| 87 | + "header_files": [ | ||
| 88 | + ], | ||
| 89 | + "header_base": "//drivers/interface/camera" | ||
| 90 | + } | ||
| 91 | + }, | ||
| 92 | + { | ||
| 93 | + "name": "//drivers/interface/camera/v1_7:camera_idl_headers", | ||
| 94 | + "header": { | ||
| 95 | + "header_files": [ | ||
| 96 | + ], | ||
| 97 | + "header_base": "//drivers/interface/camera" | ||
| 98 | + } | ||
| 99 | + }, | ||
| 74 | { | 100 | { |
| 75 | "name": "//drivers/interface/camera/v1_6:libcamera_stub_1.6", | 101 | "name": "//drivers/interface/camera/v1_6:libcamera_stub_1.6", |
| 76 | "header": { | 102 | "header": { |
| @@ -0,0 +1,62 @@ | |||
| 1 | +# Copyright (c) 2026 Huawei Device Co., Ltd. | ||
| 2 | +# Licensed under the Apache License, Version 2.0 (the "License"); | ||
| 3 | +# you may not use this file except in compliance with the License. | ||
| 4 | +# You may obtain a copy of the License at | ||
| 5 | +# | ||
| 6 | +# http://www.apache.org/licenses/LICENSE-2.0 | ||
| 7 | +# | ||
| 8 | +# Unless required by applicable law or agreed to in writing, software | ||
| 9 | +# distributed under the License is distributed on an "AS IS" BASIS, | ||
| 10 | +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| 11 | +# See the License for the specific language governing permissions and | ||
| 12 | +# limitations under the License. | ||
| 13 | + | ||
| 14 | +import("//build/config/components/hdi/hdi.gni") | ||
| 15 | +if (defined(ohos_lite)) { | ||
| 16 | + group("libcamera_proxy_1.7") { | ||
| 17 | + deps = [] | ||
| 18 | + public_configs = [] | ||
| 19 | + } | ||
| 20 | +} else { | ||
| 21 | + hdi("camera") { | ||
| 22 | + module_name = "camera_service" | ||
| 23 | + no_other_header_files = true | ||
| 24 | + | ||
| 25 | + sources = [ | ||
| 26 | + "Types.idl", | ||
| 27 | + "IImageProcessCallback.idl", | ||
| 28 | + "IImageProcessService.idl", | ||
| 29 | + ] | ||
| 30 | + | ||
| 31 | + stub_deps = [ | ||
| 32 | + "../sequenceable/buffer_handle:libbuffer_handle_sequenceable_1.0", | ||
| 33 | + "../sequenceable/buffer_producer:libbuffer_producer_sequenceable_1.0", | ||
| 34 | + "../sequenceable/map_data:libmap_data_sequenceable_1.0", | ||
| 35 | + "../v1_2:libcamera_stub_1.2", | ||
| 36 | + "../v1_3:libcamera_stub_1.3", | ||
| 37 | + "../v1_4:libcamera_stub_1.4", | ||
| 38 | + "../v1_5:libcamera_stub_1.5", | ||
| 39 | + "../v1_6:libcamera_stub_1.6", | ||
| 40 | + ] | ||
| 41 | + | ||
| 42 | + proxy_deps = [ | ||
| 43 | + "../sequenceable/buffer_handle:libbuffer_handle_sequenceable_1.0", | ||
| 44 | + "../sequenceable/buffer_producer:libbuffer_producer_sequenceable_1.0", | ||
| 45 | + "../sequenceable/map_data:libmap_data_sequenceable_1.0", | ||
| 46 | + "../v1_2:libcamera_proxy_1.2", | ||
| 47 | + "../v1_3:libcamera_proxy_1.3", | ||
| 48 | + "../v1_4:libcamera_proxy_1.4", | ||
| 49 | + "../v1_5:libcamera_proxy_1.5", | ||
| 50 | + "../v1_6:libcamera_proxy_1.6", | ||
| 51 | + ] | ||
| 52 | + | ||
| 53 | + sequenceable_ext_deps = [ | ||
| 54 | + "graphic_surface:buffer_handle", | ||
| 55 | + "graphic_surface:surface", | ||
| 56 | + ] | ||
| 57 | + | ||
| 58 | + language = "cpp" | ||
| 59 | + subsystem_name = "hdf" | ||
| 60 | + part_name = "drivers_interface_camera" | ||
| 61 | + } | ||
| 62 | +} | ||
| @@ -0,0 +1,42 @@ | |||
| 1 | +/* | ||
| 2 | + * Copyright (c) 2026 Huawei Device Co., Ltd. | ||
| 3 | + * Licensed under the Apache License, Version 2.0 (the "License"); | ||
| 4 | + * you may not use this file except in compliance with the License. | ||
| 5 | + * You may obtain a copy of the License at | ||
| 6 | + * | ||
| 7 | + * http://www.apache.org/licenses/LICENSE-2.0 | ||
| 8 | + * | ||
| 9 | + * Unless required by applicable law or agreed to in writing, software | ||
| 10 | + * distributed under the License is distributed on an "AS IS" BASIS, | ||
| 11 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| 12 | + * See the License for the specific language governing permissions and | ||
| 13 | + * limitations under the License. | ||
| 14 | + */ | ||
| 15 | + | ||
| 16 | + | ||
| 17 | +package ohos.hdi.camera.v1_7; | ||
| 18 | + | ||
| 19 | +import ohos.hdi.camera.v1_7.Types; | ||
| 20 | +import ohos.hdi.camera.v1_6.IImageProcessCallback; | ||
| 21 | + | ||
| 22 | +/** | ||
| 23 | + * @file iimage_process_callback.h | ||
| 24 | + * | ||
| 25 | + * @brief Declares callbacks for image process. | ||
| 26 | + * | ||
| 27 | + * @since 7.0 | ||
| 28 | + * @version 1.7 | ||
| 29 | + */ | ||
| 30 | +[callback] interface IImageProcessCallback extends ohos.hdi.camera.v1_6.IImageProcessCallback { | ||
| 31 | + /** | ||
| 32 | + * @brief Called when the process done. | ||
| 33 | + * For details about the reporting mode, see {@link SetResultMode}. | ||
| 34 | + * | ||
| 35 | + * @param imageId Indicates the image ID. | ||
| 36 | + * @param buffer Indicates buffer. | ||
| 37 | + * | ||
| 38 | + * @since 7.0 | ||
| 39 | + * @version 1.7 | ||
| 40 | + */ | ||
| 41 | + OnProcessDone_V1_7([in] String imageId, [in] ImageBufferInfo_V1_7[] buffer); | ||
| 42 | +} | ||
| @@ -0,0 +1,47 @@ | |||
| 1 | +/* | ||
| 2 | + * Copyright (c) 2026 Huawei Device Co., Ltd. | ||
| 3 | + * Licensed under the Apache License, Version 2.0 (the "License"); | ||
| 4 | + * you may not use this file except in compliance with the License. | ||
| 5 | + * You may obtain a copy of the License at | ||
| 6 | + * | ||
| 7 | + * http://www.apache.org/licenses/LICENSE-2.0 | ||
| 8 | + * | ||
| 9 | + * Unless required by applicable law or agreed to in writing, software | ||
| 10 | + * distributed under the License is distributed on an "AS IS" BASIS, | ||
| 11 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| 12 | + * See the License for the specific language governing permissions and | ||
| 13 | + * limitations under the License. | ||
| 14 | + */ | ||
| 15 | + | ||
| 16 | +package ohos.hdi.camera.v1_7; | ||
| 17 | + | ||
| 18 | +import ohos.hdi.camera.v1_2.IImageProcessSession; | ||
| 19 | +import ohos.hdi.camera.v1_7.IImageProcessCallback; | ||
| 20 | +import ohos.hdi.camera.v1_6.IImageProcessService; | ||
| 21 | + | ||
| 22 | +/** | ||
| 23 | + * @file iimage_process_session.h | ||
| 24 | + * | ||
| 25 | + * @brief Declares APIs for image process service. | ||
| 26 | + * | ||
| 27 | + * @since 7.0 | ||
| 28 | + * @version 1.7 | ||
| 29 | + */ | ||
| 30 | +interface IImageProcessService extends ohos.hdi.camera.v1_6.IImageProcessService { | ||
| 31 | + /** | ||
| 32 | + * @brief Create image process session. | ||
| 33 | + * | ||
| 34 | + * @param userId Indicates user ID. | ||
| 35 | + * @param imageProcessCallback Indicates the image process callback. For details, see {@link IImageProcessCallback}. | ||
| 36 | + * @param imageProcessSession Indicates the image process session. For details, see {@link IImageProcessSession} | ||
| 37 | + * | ||
| 38 | + * @return Returns <b>NO_ERROR</b> if the operation is successful; returns an error code defined | ||
| 39 | + * in {@link CamRetCode} otherwise. | ||
| 40 | + * | ||
| 41 | + * @since 7.0 | ||
| 42 | + * @version 1.7 | ||
| 43 | + */ | ||
| 44 | + CreateImageProcessSession_V1_7([in] int userId, | ||
| 45 | + [in] IImageProcessCallback imageProcessCallback, | ||
| 46 | + [out] IImageProcessSession imageProcessSession); | ||
| 47 | +} | ||
| @@ -0,0 +1,78 @@ | |||
| 1 | +/* | ||
| 2 | + * Copyright (c) 2026 Huawei Device Co., Ltd. | ||
| 3 | + * Licensed under the Apache License, Version 2.0 (the "License"); | ||
| 4 | + * you may not use this file except in compliance with the License. | ||
| 5 | + * You may obtain a copy of the License at | ||
| 6 | + * | ||
| 7 | + * http://www.apache.org/licenses/LICENSE-2.0 | ||
| 8 | + * | ||
| 9 | + * Unless required by applicable law or agreed to in writing, software | ||
| 10 | + * distributed under the License is distributed on an "AS IS" BASIS, | ||
| 11 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| 12 | + * See the License for the specific language governing permissions and | ||
| 13 | + * limitations under the License. | ||
| 14 | + */ | ||
| 15 | + | ||
| 16 | +/** | ||
| 17 | + * @file Types.h | ||
| 18 | + * | ||
| 19 | + * @brief Declares data types | ||
| 20 | + * used by the Hardware Driver Interfaces (HDIs) of this module. | ||
| 21 | + * | ||
| 22 | + * @since 7.0 | ||
| 23 | + * @version 1.7 | ||
| 24 | + */ | ||
| 25 | + | ||
| 26 | +package ohos.hdi.camera.v1_7; | ||
| 27 | + | ||
| 28 | +import ohos.hdi.camera.v1_0.Types; | ||
| 29 | +import ohos.hdi.camera.v1_2.Types; | ||
| 30 | +import ohos.hdi.camera.v1_3.Types; | ||
| 31 | +import ohos.hdi.camera.v1_4.Types; | ||
| 32 | +import ohos.hdi.camera.v1_5.Types; | ||
| 33 | +import ohos.hdi.camera.v1_6.Types; | ||
| 34 | + | ||
| 35 | +sequenceable ohos.hdi.camera.v1_0.BufferHandleSequenceable; | ||
| 36 | +sequenceable ohos.hdi.camera.v1_0.MapDataSequenceable; | ||
| 37 | + | ||
| 38 | +/** | ||
| 39 | + * @brief Enumerates types of the extended stream information. | ||
| 40 | + * @since 7.0 | ||
| 41 | + * @version 1.0 | ||
| 42 | + */ | ||
| 43 | +enum ExtendedStreamInfoType : ohos.hdi.camera.v1_3.ExtendedStreamInfoType { | ||
| 44 | + /** | ||
| 45 | + * Extended stream enhanced gainmap. | ||
| 46 | + * @since 7.0 | ||
| 47 | + * @version 1.0 | ||
| 48 | + */ | ||
| 49 | + EXTENDED_STREAM_OHOS_ENHANCED_GAINMAP = 19 | ||
| 50 | +}; | ||
| 51 | + | ||
| 52 | +/** | ||
| 53 | + * @brief Defines the ImageBufferInfo_V1_7, which is used by {@link IImageProcessCallback::OnProcessDone_V1_7}. | ||
| 54 | + * @since 7.0 | ||
| 55 | + * @version 1.7 | ||
| 56 | + */ | ||
| 57 | +struct ImageBufferInfo_V1_7 { | ||
| 58 | + /** | ||
| 59 | + * @brief Defines the ImageBufferInfo_V1_4, which is used by {@link IImageProcessCallback::OnProcessDone_V1_4}. | ||
| 60 | + * @since 7.0 | ||
| 61 | + * @version 1.7 | ||
| 62 | + */ | ||
| 63 | + struct ImageBufferInfo_V1_4 v1_4; | ||
| 64 | + | ||
| 65 | + /** | ||
| 66 | + * @brief Indicates whether the extended gainmap is valid. | ||
| 67 | + * @since 7.0 | ||
| 68 | + * @version 1.7 | ||
| 69 | + */ | ||
| 70 | + boolean isExtendedGainMapValid; | ||
| 71 | + | ||
| 72 | + /** | ||
| 73 | + * @brief The handle for the extended gainmap buffer. | ||
| 74 | + * @since 7.0 | ||
| 75 | + * @version 1.7 | ||
| 76 | + */ | ||
| 77 | + BufferHandleSequenceable extendedGainMapHandle; | ||
| 78 | +}; | ||