1 /*
2 * Copyright (c) 2023 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 #include "camera_service_type_converter.h"
17
18 namespace OHOS::Camera {
19
ConvertStreamInfoHdiToVdi(const StreamInfo & src,VdiStreamInfo & dst)20 void ConvertStreamInfoHdiToVdi(const StreamInfo &src, VdiStreamInfo &dst)
21 {
22 dst.streamId_ = src.streamId_;
23 dst.width_ = src.width_;
24 dst.height_ = src.height_;
25 dst.format_ = src.format_;
26 dst.dataspace_ = src.dataspace_;
27 dst.intent_ = static_cast<VdiStreamIntent>(src.intent_);
28 dst.tunneledMode_ = src.tunneledMode_;
29 dst.bufferQueue_ = src.bufferQueue_;
30 dst.minFrameDuration_ = src.minFrameDuration_;
31 dst.encodeType_ = static_cast<VdiEncodeType>(src.encodeType_);
32 }
33
ConvertStreamAttributeHdiToVdi(const StreamAttribute & src,VdiStreamAttribute & dst)34 void ConvertStreamAttributeHdiToVdi(const StreamAttribute &src, VdiStreamAttribute &dst)
35 {
36 dst.streamId_ = src.streamId_;
37 dst.width_ = src.width_;
38 dst.height_ = src.height_;
39 dst.overrideFormat_ = src.overrideFormat_;
40 dst.overrideDataspace_ = src.overrideDataspace_;
41 dst.producerUsage_ = src.producerUsage_;
42 dst.producerBufferCount_ = src.producerBufferCount_;
43 dst.maxBatchCaptureCount_ = src.maxBatchCaptureCount_;
44 dst.maxCaptureCount_ = src.maxCaptureCount_;
45 }
46
ConvertCaptureInfoHdiToVdi(const CaptureInfo & src,VdiCaptureInfo & dst)47 void ConvertCaptureInfoHdiToVdi(const CaptureInfo &src, VdiCaptureInfo &dst)
48 {
49 std::vector<int32_t>().swap(dst.streamIds_);
50 for (auto streamId : src.streamIds_) {
51 dst.streamIds_.push_back(streamId);
52 }
53 std::vector<uint8_t>().swap(dst.captureSetting_);
54 for (auto capSetting : src.captureSetting_) {
55 dst.captureSetting_.push_back(capSetting);
56 }
57 dst.enableShutterCallback_ = src.enableShutterCallback_;
58 }
59
ConvertCaptureEndedInfoHdiToVdi(const CaptureEndedInfo & src,VdiCaptureEndedInfo & dst)60 void ConvertCaptureEndedInfoHdiToVdi(const CaptureEndedInfo &src, VdiCaptureEndedInfo &dst)
61 {
62 dst.streamId_ = src.streamId_;
63 dst.frameCount_ = src.frameCount_;
64 }
65
ConvertCaptureErrorInfoHdiToVdi(const CaptureErrorInfo & src,VdiCaptureErrorInfo & dst)66 void ConvertCaptureErrorInfoHdiToVdi(const CaptureErrorInfo &src, VdiCaptureErrorInfo &dst)
67 {
68 dst.streamId_ = src.streamId_;
69 dst.error_ = static_cast<VdiStreamError>(src.error_);
70 }
71
ConvertStreamInfoVdiToHdi(const VdiStreamInfo & src,StreamInfo & dst)72 void ConvertStreamInfoVdiToHdi(const VdiStreamInfo &src, StreamInfo &dst)
73 {
74 dst.streamId_ = src.streamId_;
75 dst.width_ = src.width_;
76 dst.height_ = src.height_;
77 dst.format_ = src.format_;
78 dst.dataspace_ = src.dataspace_;
79 dst.intent_ = static_cast<StreamIntent>(src.intent_);
80 dst.tunneledMode_ = src.tunneledMode_;
81 dst.bufferQueue_ = src.bufferQueue_;
82 dst.minFrameDuration_ = src.minFrameDuration_;
83 dst.encodeType_ = static_cast<EncodeType>(src.encodeType_);
84 }
85
ConvertStreamAttributeVdiToHdi(const VdiStreamAttribute & src,StreamAttribute & dst)86 void ConvertStreamAttributeVdiToHdi(const VdiStreamAttribute &src, StreamAttribute &dst)
87 {
88 dst.streamId_ = src.streamId_;
89 dst.width_ = src.width_;
90 dst.height_ = src.height_;
91 dst.overrideFormat_ = src.overrideFormat_;
92 dst.overrideDataspace_ = src.overrideDataspace_;
93 dst.producerUsage_ = src.producerUsage_;
94 dst.producerBufferCount_ = src.producerBufferCount_;
95 dst.maxBatchCaptureCount_ = src.maxBatchCaptureCount_;
96 dst.maxCaptureCount_ = src.maxCaptureCount_;
97 }
98
ConvertCaptureInfoVdiToHdi(const VdiCaptureInfo & src,CaptureInfo & dst)99 void ConvertCaptureInfoVdiToHdi(const VdiCaptureInfo &src, CaptureInfo &dst)
100 {
101 std::vector<int32_t>().swap(dst.streamIds_);
102 for (auto streamId : src.streamIds_) {
103 dst.streamIds_.push_back(streamId);
104 }
105 std::vector<uint8_t>().swap(dst.captureSetting_);
106 for (auto capSetting : src.captureSetting_) {
107 dst.captureSetting_.push_back(capSetting);
108 }
109 dst.enableShutterCallback_ = src.enableShutterCallback_;
110 }
111
ConvertCaptureEndedInfoVdiToHdi(const VdiCaptureEndedInfo & src,CaptureEndedInfo & dst)112 void ConvertCaptureEndedInfoVdiToHdi(const VdiCaptureEndedInfo &src, CaptureEndedInfo &dst)
113 {
114 dst.streamId_ = src.streamId_;
115 dst.frameCount_ = src.frameCount_;
116 }
117
ConvertCaptureErrorInfoVdiToHdi(const VdiCaptureErrorInfo & src,CaptureErrorInfo & dst)118 void ConvertCaptureErrorInfoVdiToHdi(const VdiCaptureErrorInfo &src, CaptureErrorInfo &dst)
119 {
120 dst.streamId_ = src.streamId_;
121 dst.error_ = static_cast<StreamError>(src.error_);
122 }
123
124 } // end namespace OHOS::Camera
125