xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/tools/j2s4b/src/j2s4b/RkAiqsceneManager.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 #ifndef ___RK_AIQSCENE_MANAGER_H__
2 #define ___RK_AIQSCENE_MANAGER_H__
3 
4 #include "cJSON_Utils.h"
5 #include "stdint.h"
6 #include "stdio.h"
7 #include "stdlib.h"
8 #include "string.h"
9 
10 #include <map>
11 #include <string>
12 
13 using namespace RkCam;
14 
15 class RkAiqsceneManager {
16 public:
17   explicit RkAiqsceneManager() = default;
18   ~RkAiqsceneManager() = default;
19 
20 public:
21   static cJSON *mergeSubMultiScene(cJSON *sub_scene_list, cJSON *full_param,
22                                    bool skip);
23 
24   static cJSON *mergeMainMultiScene(cJSON *main_scene_list);
25 
26   static cJSON *mergeMultiSceneIQ(cJSON *base_json);
27 
28   static cJSON *findMainScene(cJSON *base_json, const char *name);
29 
30   static cJSON *findSubScene(cJSON *main_json, const char *name);
31 
32   static cJSON *findSubScene(cJSON *json, const char *main_scene,
33                              const char *sub_scene);
34 
35   static cJSON *splitScene(cJSON *root_js, const char *main_scene,
36                            const char *sub_scene);
37 
38   static std::map<std::string, cJSON *> expandAllScene(cJSON *root_js);
39   static std::map<std::string, cJSON *> getMainSceneList(cJSON *root_js);
40   static std::map<std::string, cJSON *> getSubSceneList(cJSON *root_js,
41                                                         const std::string name);
42 };
43 
44 #endif /*___RK_AIQSCENE_MANAGER_H__*/
45