hc
2025-02-14 bbb9540dc49f70f6b703d1c8d1b85fa5f602d86e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
cc_defaults {
    name: "rkaiq-defaults",
}
 
rkaiq_defaults {
    name: "rkaiq-defaults-flags",
}
 
bootstrap_go_package {
    name: "soong-operator",
    pkgPath: "android/soong/external/camera_engine_rkaiq",
    deps: [
            "blueprint",
            "blueprint-pathtools",
            "soong",
            "soong-android",
            "soong-cc",
            "soong-genrule",
        ],
    srcs: [
            "rkaiq.go",
        ],
    pluginFor: ["soong_build"],
}
 
subdirs = [
    "algos",
    "algos_camgroup",
    "iq_parser_v2",
]
 
cc_prebuilt_library_static {
    name: "libgenMeshLib",
    vendor: true,
    arch: {
        arm: {
            srcs: ["common/gen_mesh/android/genMesh_static_32bit/libgenMeshLib.a"],
        },
        arm64: {
            srcs: ["common/gen_mesh/android/genMesh_static_64bit/libgenMeshLib.a"],
        },
    },
}
 
cc_library_shared {
    name: "librkaiq",
    vendor: true,
    rtti: true,
    stl: "c++_static",
 
    defaults: [ "rkaiq-defaults", "rkaiq-defaults-flags", ],
 
    local_include_dirs: [
        ".",
        "xcore",
        "xcore/base",
        "common",
        "common/gen_mesh",
        "aiq_core",
        "algos",
        "hwi",
        "hwi/isp20",
        "hwi/isp21",
        "hwi/isp3x",
        "iq_parser",
        "iq_parser_v2",
        "uAPI",
        "uAPI/include",
        "uAPI2",
        "ipc_server",
        "include",
        "include/xcore",
        "include/xcore/base",
        "include/common",
        "include/common/mediactl",
        "include/algos",
        "include/iq_parser",
        "include/iq_parser_v2",
        "include/iq_parser_v2/j2s",
        "include/uAPI2",
        "include/ipc_server",
    ],
 
    header_libs: [
        "gl_headers",
    ],
 
    shared_libs: [
        "libutils",
        "libcutils",
        "liblog",
    ],
 
    srcs: [
        // AIQ_CORE_SRC
        "aiq_core/RkAiqHandle.cpp",
        "aiq_core/RkAiqCamgroupHandle.cpp",
        "aiq_core/algo_handlers/*.cpp",
        "aiq_core/algo_camgroup_handlers/*.cpp",
        "aiq_core/RkAiqCore.cpp",
        "aiq_core/RkLumaCore.cpp",
 
        "aiq_core/MessageBus.cpp",
        "aiq_core/RkAiqAnalyzeGroupManager.cpp",
        "aiq_core/RkAiqResourceTranslator.cpp",
        "aiq_core/RkAiqResourceTranslatorV21.cpp",
        "aiq_core/RkAiqResourceTranslatorV3x.cpp",
        "aiq_core/thumbnails.cpp",
 
        // ALGO_COMMON_SRC
        "algos/interpolation.cpp",
 
        // COMMON_SRC
        "common/mediactl/mediactl.c",
        "common/gen_mesh/genMesh.cpp",
        "common/code_to_pixel_format.cpp",
        "common/media_buffer/media_buffer.c",
        "common/media_buffer/media_buffer_pool.c",
 
        // HWI_SRC
        "hwi/CamHwBase.cpp",
        "hwi/isp20/CamHwIsp20.cpp",
        "hwi/isp21/CamHwIsp21.cpp",
        "hwi/isp3x/CamHwIsp3x.cpp",
        "hwi/isp20/Isp20Params.cpp",
        "hwi/isp20/Isp20StatsBuffer.cpp",
        "hwi/isp20/Isp20_module_dbg.cpp",
        "hwi/SensorHw.cpp",
        "hwi/LensHw.cpp",
        "hwi/FlashLight.cpp",
        "hwi/isp20/Stream.cpp",
        "hwi/isp20/RawStreamCapUnit.cpp",
        "hwi/isp20/RawStreamProcUnit.cpp",
        "hwi/isp20/SPStreamProcUnit.cpp",
        "hwi/isp20/PdafStreamProcUnit.cpp",
        "hwi/isp20/NrStatsStream.cpp",
        "hwi/isp20/TnrStatsStream.cpp",
        "hwi/isp20/NrStreamProcUnit.cpp",
        "hwi/isp20/FecParamStream.cpp",
        "hwi/isp20/TnrStreamProcUnit.cpp",
        "hwi/isp20/CaptureRawData.cpp",
        "hwi/image_processor.cpp",
        "hwi/isp20/Isp20Evts.cpp",
        "hwi/fakecamera/FakeCamHwIsp20.cpp",
        "hwi/fakecamera/FakeSensorHw.cpp",
        "hwi/IspParamsSplitter.cpp",
 
        // IQ_PARSER_SRC
        "iq_parser/RkAiqCalibParser.cpp",
        "iq_parser/RkAiqCalibDb.cpp",
        "iq_parser/RkAiqCalibTag.cpp",
        "iq_parser/tinyxml2.cpp",
        "iq_parser/xmltags.cpp",
        "iq_parser/RkAiqCalibApi.cpp",
 
        // IQ_PARSER_V2_SRC
        "iq_parser_v2/RkAiqCalibDbV2.cpp",
        "iq_parser_v2/scene/scene_manager.cpp",
        "iq_parser_v2/awb_xml2json.cpp",
        "iq_parser_v2/bayernr_xml2json_v1.cpp",
        "iq_parser_v2/mfnr_xml2json_v1.cpp",
        "iq_parser_v2/ynr_xml2json_v1.cpp",
        "iq_parser_v2/uvnr_xml2json_v1.cpp",
        "iq_parser_v2/sharp_xml2json_v1.cpp",
        "iq_parser_v2/edgefilter_xml2json_v1.cpp",
 
        // UAPI_SRC
        "uAPI2/rk_aiq_user_api2_sysctl.cpp",
        "uAPI2/rk_aiq_user_api2_debug.cpp",
        "uAPI2/rk_aiq_user_api2_helper.cpp",
        "uAPI2/rk_aiq_user_api2_wrapper.cpp",
        "common/rkaiq_ini.c",
 
        // XCORE_SRC
        "xcore/xcam_common.cpp",
        "xcore/xcam_log.cpp",
        "xcore/xcam_thread.cpp",
        "xcore/xcam_buffer.cpp",
        "xcore/video_buffer.cpp",
        "xcore/v4l2_buffer_proxy.cpp",
        "xcore/v4l2_device.cpp",
        "xcore/buffer_pool.cpp",
        "xcore/poll_thread.cpp",
        "xcore/smart_buffer_priv.cpp",
        "xcore/fake_v4l2_device.cpp",
 
        // IPC_SERVER_SRC
        "ipc_server/socket_server.cpp",
        "ipc_server/rkaiq_tool_ae.cpp",
        "ipc_server/rkaiq_tool_anr.cpp",
        "ipc_server/rkaiq_tool_imgproc.cpp",
        "ipc_server/rkaiq_tool_sharp.cpp",
        "ipc_server/rkaiq_tool_sysctl.cpp",
        "ipc_server/command_process.cpp",
        "ipc_server/MessageParser.cpp",
 
        "RkAiqManager.cpp",
       "RkAiqCamGroupManager.cpp"
    ],
 
    static_libs: [
        "librkaiq_ae",
        "librkaiq_awb",
        "librkaiq_af",
        "librkaiq_pdaf",
        "librkaiq_amerge",
        "librkaiq_atmo",
        "librkaiq_anr",
        "librkaiq_asd",
        "librkaiq_acp",
        "librkaiq_aie",
        "librkaiq_asharp",
        "librkaiq_adhaz",
        "librkaiq_a3dlut",
        "librkaiq_ablc",
        "librkaiq_accm",
        "librkaiq_acgc",
        "librkaiq_adebayer",
        "librkaiq_adpcc",
        "librkaiq_afec",
        "librkaiq_agamma",
        "librkaiq_adegamma",
        "librkaiq_agic",
        "librkaiq_aie",
        "librkaiq_aldch",
        "librkaiq_alsc",
        "librkaiq_aorb",
        "librkaiq_acsm",
        "librkaiq_awdr",
        "librkaiq_adrc",
        "librkaiq_asharp_v3",
        "librkaiq_amd",
        "librkaiq_again_v1",
        "librkaiq_aynr_v1",
        "librkaiq_aynr_v2",
        "librkaiq_acnr_v1",
        "librkaiq_arawnr_v1",
        "librkaiq_arawnr_v2",
        "librkaiq_uvnr_v1",
        "librkaiq_mfnr_v1",
        "librkaiq_aeis",
        "libgenMeshLib",
        "libiq_parser_v2",
        "librkaiq_aynr_v3",
        "librkaiq_acnr_v2",
        "librkaiq_asharp_v4",
        "librkaiq_abayer2dnr_v2",
        "librkaiq_abayertnr_v2",
        "librkaiq_again_v2",
        "librkaiq_acac",
        "librkaiq_camgroup_ae",
        "librkaiq_camgroup_awb",
        "librkaiq_camgroup_misc",
    ],
 
    cflags: [
        "-fPIC",
        "-Wall",
        "-Wno-error",
        "-Os",
        "-g",
        "-Wno-unused-value",
        "-Wno-unused-variable",
        "-Wno-unused-private-field",
        "-Wno-unused-but-set-variable",
        "-Wno-unused-function",
        "-Wno-unused-label",
        "-Wno-implicit-fallthrough",
        "-Wno-ignored-qualifiers",
        "-Wno-reorder",
        "-Wno-address-of-packed-member",
        "-Wno-unused-parameter",
        "-Wno-overloaded-virtual",
        "-Wno-extern-c-compat",
        "-fno-strict-aliasing",
        "-frtti",
        "-DANDROID_OS",
    ],
 
    cppflags: [
        "-fPIC",
        "-Wall",
        "-Wno-error",
        "-Os",
        "-g",
        "-Wno-unused-value",
        "-Wno-unused-variable",
        "-Wno-unused-private-field",
        "-Wno-unused-but-set-variable",
        "-Wno-unused-function",
        "-Wno-implicit-fallthrough",
        "-Wno-address-of-packed-member",
        "-Wno-ignored-qualifiers",
        "-Wno-unused-label",
        "-fno-strict-aliasing",
        "-Wno-reorder",
        "-Wno-overloaded-virtual",
        "-Wno-unused-parameter",
        "-Wno-extern-c-compat",
        "-Wno-missing-braces",
        "-Wno-missing-field-initializers",
        "-frtti",
        "-std=c++11",
        "-DANDROID_OS",
        "-DRKAIQ_ENABLE_PARSER_V1",
        "-DRKAIQ_ENABLE_CAMGROUP",
    ],
 
    export_include_dirs: [
        "xcore",
        "xcore/base",
        "aiq_core",
        "algos",
        "algos_camgroup",
        "hwi",
        "iq_parser",
        "iq_parser_v2",
        "uAPI",
        "uAPI/include",
        "uAPI2",
        "common",
        "include",
        "include/iq_parser",
        "include/iq_parser_v2",
        "include/iq_parser_v2/j2s",
        "include/xcore",
        "include/common",
        "include/common/mediactl",
        "include/xcore/base",
        "include/algos",
        "include/ipc_server",
        "ipc_server",
    ],
}