61cb1980d94922358b8544f10562f61763f38e9c
[platform/core/multimedia/dfs-adaptation.git] / include / dfs_parameter.h
1 /*
2  * Copyright (c) 2021 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef __DFS_PARAMETER_H__
18 #define __DFS_PARAMETER_H__
19
20 #include <cstddef>
21 /**
22  * @file dfs_parameter.h
23  * @brief This file contains the depth parameter structure.
24  */
25
26 namespace DfsAdaptation
27 {
28         struct DfsParameter {
29                 double textureThreshold;
30                 size_t aggregationWindowWidth;
31                 size_t aggregationWindowHeight;
32                 size_t maxSpeckleSize;
33
34                 DfsParameter()
35                 {
36                         textureThreshold = 1;
37                         aggregationWindowWidth = 10;
38                         aggregationWindowWidth = 10;
39                         maxSpeckleSize = 10;
40                 }
41         };
42
43     struct DfsData {
44         void *data;
45         int type;
46         size_t width;
47         size_t height;
48         size_t stride;
49
50         DfsData()
51         {
52             data = nullptr;
53             type = 0;
54             width = height = stride = 0;
55         }
56     };
57
58     enum
59     {
60         DFS_DATA_TYPE_UINT8C1 = 1,
61         DFS_DATA_TYPE_UINT8C3 = 2,
62         DFS_DATA_TYPE_FLOAT32C1 = 3
63     };
64
65 }
66 #endif /* __DFS_PARAMETER_H__ */