hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
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
#ifndef _TOOL_RKAIQ_API_MANAGER_H_
#define _TOOL_RKAIQ_API_MANAGER_H_
 
#include <memory>
#include <thread>
 
#include "logger/log.h"
#include "rkaiq_adpcc.h"
#include "rkaiq_ae.h"
#include "rkaiq_agamma.h"
#include "rkaiq_ahdr.h"
#include "rkaiq_anr.h"
#include "rkaiq_awb.h"
#include "rkaiq_ccm.h"
#include "rkaiq_cmdid.h"
#include "rkaiq_cproc.h"
#include "rkaiq_dehaze.h"
#include "rkaiq_engine.h"
#include "rkaiq_imgproc.h"
#include "rkaiq_sharp.h"
#include "rkaiq_sysctl.h"
 
class RKAiqToolManager
{
  public:
    RKAiqToolManager();
    virtual ~RKAiqToolManager();
    int AeIoCtrl(int id, void* data, int size);
    int ImgProcIoCtrl(int id, void* data, int size);
    int AnrIoCtrl(int id, void* data, int size);
    int SharpIoCtrl(int id, void* data, int size);
    int SysCtlIoCtrl(int id, void* data, int size);
    int AHDRIoCtrl(int id, void* data, int size);
    int AGamamIoCtrl(int id, void* data, int size);
    int ADPCCIoCtrl(int id, void* data, int size);
    int DEHAZEIoCtrl(int id, void* data, int size);
    int RkMediaCtrl(int id, void* data, int size);
    int CCMIoCtrl(int id, void* data, int size);
    int AWBIoCtrl(int id, void* data, int size);
    int CPROCIoCtrl(int id, void* data, int size);
    int IoCtrl(int id, void* data, int size);
    void SaveExit();
 
  private:
    std::string iqfiles_path_;
    std::string sensor_name_;
    std::thread* rkaiq_engine_thread_;
    static int thread_quit_;
    std::unique_ptr<RKAiqEngine> engine_;
    std::unique_ptr<RKAiqToolImgProc> imgproc_;
    std::unique_ptr<RKAiqToolAE> ae_;
    std::unique_ptr<RKAiqToolANR> anr_;
    std::unique_ptr<RKAiqToolSharp> asharp_;
    std::unique_ptr<RKAiqToolSysCtl> sysctl_;
    std::unique_ptr<RKAiqToolAHDR> ahdr_;
    std::unique_ptr<RKAiqToolADPCC> dpcc_;
    std::unique_ptr<RKAiqToolAGamma> gamma_;
    std::unique_ptr<RKAiqToolDehaze> dehaze_;
    std::unique_ptr<RKAiqToolCCM> ccm_;
    std::unique_ptr<RKAiqToolAWB> awb_;
    std::unique_ptr<RKAiqToolCPROC> cproc_;
};
 
#endif // _TOOL_RKAIQ_API_MANAGER_H_