-
Notifications
You must be signed in to change notification settings - Fork 3
/
cmdline.h
84 lines (74 loc) · 2.83 KB
/
cmdline.h
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
/* NVIDIA CORPORATION gave permission to FLIR Systems, Inc to modify this code
* and distribute it as part of the ADAS GMSL Kit.
* http://www.flir.com/
* October-2019
*/
/* Copyright (c) 2014-2018, NVIDIA CORPORATION. All rights reserved.
*
* NVIDIA CORPORATION and its licensors retain all intellectual property
* and proprietary rights in and to this software, related documentation
* and any modifications thereto. Any use, reproduction, disclosure or
* distribution of this software and related documentation without an express
* license agreement from NVIDIA CORPORATION is strictly prohibited.
*/
#ifndef _CMDLINE_H_
#define _CMDLINE_H_
#include "nvmedia_icp.h"
#include "nvmedia_idp.h"
#include "nvmedia_core.h"
#include "nvmedia_surface.h"
#include "nvmedia_common.h"
#include "misc_utils.h"
#define MIN_BUFFER_POOL_SIZE 5
#define MAX_BUFFER_POOL_SIZE NVMEDIA_MAX_CAPTURE_FRAME_BUFFERS
#define MAX_STRING_SIZE 256
#define CAM_ENABLE_DEFAULT 0x0001 // only enable cam link 0
#define CAM_MASK_DEFAULT 0x0000 // do not mask any link
#define CSI_OUT_DEFAULT 0x3210 // cam link i -> csiout i
// count enabled camera links
#define MAP_COUNT_ENABLED_LINKS(enable) \
((enable & 0x1) + ((enable >> 4) & 0x1) + \
((enable >> 8) & 0x1) + ((enable >> 12) & 0x1))
// convert aggegate number to cam_enable
#define MAP_N_TO_ENABLE(n) \
((((1 << n) - 1) & 0x0001) + ((((1 << n) - 1) << 3) &0x0010) + \
((((1 << n) - 1) << 6) & 0x0100) + ((((1 << n) - 1) << 9) & 0x1000))
typedef struct {
NvMediaBool isUsed;
union {
uint32_t uIntValue;
float floatValue;
char stringValue[MAX_STRING_SIZE];
struct {
float R;
float G1;
float G2;
float B;
};
struct {
uint32_t kp[12]; // 12 knee points
};
};
} CmdlineParameter;
typedef struct {
uint32_t logLevel;
CmdlineParameter wrregs;
CmdlineParameter rdregs;
CmdlineParameter frames;
CmdlineParameter rtSettings;
NvMediaBool displayEnabled;
NvMediaBool displayIdUsed;
uint32_t displayId;
NvMediaBool useFilePrefix;
char filePrefix[MAX_STRING_SIZE];
uint32_t bufferPoolSize;
uint32_t numSensors;
uint32_t numLinks;
uint32_t numVirtualChannels;
CmdlineParameter config[NVMEDIA_ICP_MAX_VIRTUAL_CHANNELS];
} TestArgs;
NvMediaStatus
ParseArgs(int argc,
char *argv[],
TestArgs *allArgs);
#endif