1 /******************************************************************************
2  *
3  * Copyright 2019, Fuzhou Rockchip Electronics Co.Ltd . All rights reserved.
4  * No part of this work may be reproduced, modified, distributed, transmitted,
5  * transcribed, or translated into any language or computer format, in any form
6  * or by any means without written permission of:
7  * Fuzhou Rockchip Electronics Co.Ltd .
8  *
9  *
10  *****************************************************************************/
11 #ifndef __RK_AIQ_TYPES_AMERGE_ALGO_INT_H__
12 #define __RK_AIQ_TYPES_AMERGE_ALGO_INT_H__
13 
14 #include "RkAiqCalibDbTypes.h"
15 #include "amerge_head.h"
16 #include "amerge_uapi_head.h"
17 
18 typedef enum merge_OpMode_e {
19     MERGE_OPMODE_AUTO   = 0,  // run auto merge
20     MERGE_OPMODE_MANUAL = 1,  // run manual merge
21 } merge_OpMode_t;
22 
23 typedef uapiMergeCurrCtlData_t MergeCurrCtlData_t;
24 
25 // merge V10
26 typedef struct mergeAttrV10_s {
27     rk_aiq_uapi_sync_t sync;
28 
29     merge_OpMode_t opMode;
30     mMergeAttrV10_t stManual;
31     CalibDbV2_merge_v10_t stAuto;
32     MergeCurrCtlData_t Info;
33 } mergeAttrV10_t;
34 
35 // merge V11
36 typedef struct mergeAttrV11_s {
37     rk_aiq_uapi_sync_t sync;
38 
39     merge_OpMode_t opMode;
40     mMergeAttrV11_t stManual;
41     CalibDbV2_merge_v11_t stAuto;
42     MergeCurrCtlData_t Info;
43 } mergeAttrV11_t;
44 
45 // merge V12
46 typedef struct mergeAttrV12_s {
47     rk_aiq_uapi_sync_t sync;
48 
49     merge_OpMode_t opMode;
50     mMergeAttrV12_t stManual;
51     CalibDbV2_merge_v12_t stAuto;
52     MergeCurrCtlData_t Info;
53 } mergeAttrV12_t;
54 
55 #endif
56