-
Notifications
You must be signed in to change notification settings - Fork 12
/
nvds_dewarper_meta.h
109 lines (97 loc) · 3.56 KB
/
nvds_dewarper_meta.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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
/*
* Copyright (c) 2019, 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.
*
*/
/**
* @file
* <b>Defines dewarping metadata </b>
*
* @b Description: This file defines metadata concerning dewarping.
*/
/**
* @defgroup ee_dewarping_group Dewarping Metadata
* Defines metadata concerning dewarping.
* @ingroup NvDsMetaApi
* @{
*/
#ifndef _NVDS_DEWARPER_META_H_
#define _NVDS_DEWARPER_META_H_
#include <gst/gst.h>
#ifdef __cplusplus
extern "C"
{
#endif
/*
* Defines DeepStream Dewarper metadata.
*/
/**
* Maximum number of dewarped surfaces per frame supported
*/
#define MAX_DEWARPED_VIEWS 4
/**
* Defines metadata surface types.
*/
typedef enum
{
NVDS_META_SURFACE_NONE=0,
/** Defines the pushbroom surface type. */
NVDS_META_SURFACE_FISH_PUSHBROOM=1,
/** Defines the vertical radical cylindrical surface type. */
NVDS_META_SURFACE_FISH_VERTCYL=2,
/** Defines the perspective projection with Brown distortion model surface. */
NVDS_META_SURFACE_PERSPECTIVE_PERSPECTIVE=3,
/** Defines Fisheye to perspective projection surface type. */
NVDS_META_SURFACE_FISH_PERSPECTIVE=4,
/** Defines Fisheye to Fisheye projection surface type. */
NVDS_META_SURFACE_FISH_FISH=5,
/** Defines Fisheye to cylinderical projection surface type. */
NVDS_META_SURFACE_FISH_CYL=6,
/** Defines Fisheye to equrectangular projection surface type. */
NVDS_META_SURFACE_FISH_EQUIRECT=7,
/** Defines Fisheye to panini projection surface type. */
NVDS_META_SURFACE_FISH_PANINI=8,
/** Defines perspective to equirectangular projection surface type. */
NVDS_META_SURFACE_PERSPECTIVE_EQUIRECT=9,
/** Defines perspective to panini projection surface type. */
NVDS_META_SURFACE_PERSPECTIVE_PANINI=10,
/** Defines equirectangular to cylinderical projection surface type. */
NVDS_META_SURFACE_EQUIRECT_CYLINDER=11,
/** Defines equirectangular to equirectangular projection surface type. */
NVDS_META_SURFACE_EQUIRECT_EQUIRECT=12,
/** Defines equirectangular to Fisheye projection surface type. */
NVDS_META_SURFACE_EQUIRECT_FISHEYE=13,
/** Defines equirectangular to panini projection surface type. */
NVDS_META_SURFACE_EQUIRECT_PANINI=14,
/** Defines equirectangular to perspective projection surface type. */
NVDS_META_SURFACE_EQUIRECT_PERSPECTIVE=15,
/** Defines equirectangular to pushbroom projection surface type. */
NVDS_META_SURFACE_EQUIRECT_PUSHBROOM=16,
/** Defines equirectangular to stereographic projection surface type. */
NVDS_META_SURFACE_EQUIRECT_STEREOGRAPHIC=17,
/** Defines equirectangular to verticalcylinder projection surface type. */
NVDS_META_SURFACE_EQUIRECT_VERTCYLINDER=18
} NvDsSurfaceType;
/**
* Holds a set of dewarper metadata.
*/
typedef struct _NvDewarperSurfaceMeta {
/** Holds an array of the types of dewarped surfaces. */
guint type[MAX_DEWARPED_VIEWS];
/** Holds an array of indices of dewarped surfaces. */
guint index[MAX_DEWARPED_VIEWS];
/** Holds the source ID of the frame, e.g. the camera ID. */
guint source_id;
/** Holds the number of filled surfaces in the frame. */
guint num_filled_surfaces;
}NvDewarperSurfaceMeta;
#ifdef __cplusplus
}
#endif
#endif
/** @} */