nx_server_plugin_sdk 1.0 Server Plugin SDK

camera_plugin_types.h
1 // Copyright 2018-present Network Optix, Inc. Licensed under MPL 2.0: www.mozilla.org/MPL/2.0/
2
3
4 #ifndef CAMERA_PLUGIN_TYPES_H
5 #define CAMERA_PLUGIN_TYPES_H
6
7
8 namespace nxcip
9 {
10 enum CompressionType
11 {
12 AV_CODEC_ID_NONE,
13 AV_CODEC_ID_MPEG2VIDEO,
14 AV_CODEC_ID_H263,
15 AV_CODEC_ID_MJPEG,
16 AV_CODEC_ID_MPEG4,
17 AV_CODEC_ID_H264,
18 AV_CODEC_ID_THEORA,
19 AV_CODEC_ID_PNG,
20 AV_CODEC_ID_GIF,
21 AV_CODEC_ID_HEVC,
22 AV_CODEC_ID_VP8,
23 AV_CODEC_ID_VP9,
24 #define AV_CODEC_ID_H265 AV_CODEC_ID_HEVC
25
26 AV_CODEC_ID_MP2 = 0x15000,
27 AV_CODEC_ID_MP3,
28 AV_CODEC_ID_AAC,
29 AV_CODEC_ID_AC3,
30 AV_CODEC_ID_DTS,
31 //raw 16-bit little-endian PCM
32 AV_CODEC_ID_PCM_S16LE,
33 AV_CODEC_ID_PCM_MULAW,
34 AV_CODEC_ID_VORBIS,
35 AV_CODEC_ID_TEXT,
36 AV_CODEC_ID_BIN_DATA,
37 };
38
39 enum PixelFormat
40 {
42 AV_PIX_FMT_YUV420P,
44 AV_PIX_FMT_YUV422P,
46 AV_PIX_FMT_YUV444P,
48 AV_PIX_FMT_MONOBLACK,
50 AV_PIX_FMT_GRAY8,
52 AV_PIX_FMT_RGB24,
54 AV_PIX_FMT_NV12,
56 AV_PIX_FMT_BGRA,
58 AV_PIX_FMT_RGBA,
60 AV_PIX_FMT_YUVA420P,
61 AV_PIX_FMT_YUVJ420P,
62 AV_PIX_FMT_NONE,
63 };
64
65 enum MediaType
66 {
67 AVMEDIA_TYPE_UNKNOWN = -1,
68 AVMEDIA_TYPE_VIDEO,
69 AVMEDIA_TYPE_AUDIO,
70 AVMEDIA_TYPE_DATA,
71 AVMEDIA_TYPE_SUBTITLE,
72 AVMEDIA_TYPE_ATTACHMENT,
73 AVMEDIA_TYPE_NB
74 };
75
76 enum SampleFormat
77 {
78 AV_SAMPLE_FMT_NONE = -1,
79 AV_SAMPLE_FMT_U8,
80 AV_SAMPLE_FMT_S16,
81 AV_SAMPLE_FMT_S32,
82 AV_SAMPLE_FMT_FLT,
83 AV_SAMPLE_FMT_DBL,
84
85 AV_SAMPLE_FMT_U8P,
86 AV_SAMPLE_FMT_S16P,
87 AV_SAMPLE_FMT_S32P,
88 AV_SAMPLE_FMT_FLTP,
89 AV_SAMPLE_FMT_DBLP,
90 AV_SAMPLE_FMT_S64,
91 AV_SAMPLE_FMT_S64P,
92
93
94 AV_SAMPLE_FMT_NB
95 };
96
97 struct RcOverride
98 {
99 int start_frame;
100 int end_frame;
101 int qscale;
102 float quality_factor;
103 };
104 }
105
106 #endif //CAMERA_PLUGIN_TYPES_H
nxcip
VMS Camera Integration Plugin API (c++)
Definition: camera_plugin.h:30
nxcip::AV_PIX_FMT_MONOBLACK
1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb ...
Definition: camera_plugin_types.h:48
nxcip::AV_SAMPLE_FMT_DBL
double
Definition: camera_plugin_types.h:83
nxcip::AV_PIX_FMT_BGRA
packed BGRA 8:8:8:8, 32bpp, BGRABGRA...
Definition: camera_plugin_types.h:56
nxcip::AV_SAMPLE_FMT_S64
signed 64 bits
Definition: camera_plugin_types.h:90
nxcip::AV_PIX_FMT_GRAY8
Y plane only, 8bpp.
Definition: camera_plugin_types.h:50
nxcip::AV_SAMPLE_FMT_NB
Number of sample formats. DO NOT USE if linking dynamically.
Definition: camera_plugin_types.h:94
nxcip::RcOverride
Definition: camera_plugin_types.h:97
nxcip::AVMEDIA_TYPE_ATTACHMENT
Opaque data information usually sparse.
Definition: camera_plugin_types.h:72
nxcip::MediaType
MediaType
Definition: camera_plugin_types.h:65
nxcip::AV_PIX_FMT_YUV422P
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
Definition: camera_plugin_types.h:44
nxcip::AV_PIX_FMT_NV12
planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (firs...
Definition: camera_plugin_types.h:54
nxcip::AV_SAMPLE_FMT_U8
unsigned 8 bits
Definition: camera_plugin_types.h:79
nxcip::AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
Definition: camera_plugin_types.h:46
nxcip::AV_SAMPLE_FMT_S16
signed 16 bits
Definition: camera_plugin_types.h:80
nxcip::AV_SAMPLE_FMT_U8P
unsigned 8 bits, planar
Definition: camera_plugin_types.h:85
nxcip::AV_SAMPLE_FMT_S32P
signed 32 bits, planar
Definition: camera_plugin_types.h:87
nxcip::AV_SAMPLE_FMT_FLT
float
Definition: camera_plugin_types.h:82
nxcip::AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
Definition: camera_plugin_types.h:42
nxcip::AV_PIX_FMT_RGBA
packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
Definition: camera_plugin_types.h:58
nxcip::AV_SAMPLE_FMT_S32
signed 32 bits
Definition: camera_plugin_types.h:81
nxcip::AV_SAMPLE_FMT_S16P
signed 16 bits, planar
Definition: camera_plugin_types.h:86
nxcip::AV_PIX_FMT_RGB24
packed RGB 8:8:8, 24bpp, RGBRGB...
Definition: camera_plugin_types.h:52
nxcip::AV_SAMPLE_FMT_DBLP
double, planar
Definition: camera_plugin_types.h:89
nxcip::AVMEDIA_TYPE_UNKNOWN
Usually treated as AVMEDIA_TYPE_DATA.
Definition: camera_plugin_types.h:67
nxcip::AV_SAMPLE_FMT_S64P
signed 64 bits, planar
Definition: camera_plugin_types.h:91
nxcip::AV_PIX_FMT_YUVA420P
planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
Definition: camera_plugin_types.h:60
nxcip::PixelFormat
PixelFormat
Definition: camera_plugin_types.h:39
nxcip::AV_SAMPLE_FMT_FLTP
float, planar
Definition: camera_plugin_types.h:88
nxcip::SampleFormat
SampleFormat
Definition: camera_plugin_types.h:76
nxcip::AVMEDIA_TYPE_DATA
Opaque data information usually continuous.
Definition: camera_plugin_types.h:70