libxcoder 5.6.0
Loading...
Searching...
No Matches
ni_defs.h
Go to the documentation of this file.
1/*******************************************************************************
2 *
3 * Copyright (C) 2022 NETINT Technologies
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a copy
6 * of this software and associated documentation files (the "Software"), to deal
7 * in the Software without restriction, including without limitation the rights
8 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 * copies of the Software, and to permit persons to whom the Software is
10 * furnished to do so, subject to the following conditions:
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18 * SOFTWARE.
19 *
20 ******************************************************************************/
21
22/*!*****************************************************************************
23* \file ni_defs.h
24*
25* \brief Common NETINT definitions used by all modules
26*******************************************************************************/
27
28#pragma once
29
30#ifdef _WIN32
31#include <windows.h>
32#include <process.h>
33#include <malloc.h>
34#elif __linux__ || __APPLE__
35#if __linux__
36#include <linux/types.h>
37#include <unistd.h>
38#include <sys/syscall.h>
39#include <linux/aio_abi.h>
40#endif
41#include <sys/time.h>
42#include <pthread.h>
43#include <errno.h>
44#include <semaphore.h>
45#endif
46
47#include <assert.h>
48#include <ctype.h>
49#include <inttypes.h>
50#include <signal.h>
51#include <stdbool.h>
52#include <stdint.h>
53#include <stdio.h>
54#include <stdlib.h>
55#include <string.h>
56#include <time.h>
57#include "ni_release_info.h"
58
59#ifdef __cplusplus
60extern "C"
61{
62#endif
63
64#if defined(__GNUC__) || defined(__clang__)
65# define NI_UNUSED __attribute__((unused))
66#else
67# define NI_UNUSED
68#endif
69
70#if !defined(NI_WARN_AS_ERROR) && !defined(__clang__) && defined(__GNUC__)
71 #define NI_DEPRECATED __attribute__((deprecated))
72 #define NI_DEPRECATED_MACRO \
73 _Pragma("GCC warning \"A Netint macro on this line is deprecated\"")
74 #define NI_DEPRECATE_MACRO(X)
75#elif !defined(NI_WARN_AS_ERROR) && !defined(__clang__) && defined(_MSC_VER)
76 #define NI_DEPRECATED __declspec(deprecated)
77 #define NI_DEPRECATED_MACRO
78 #define NI_DEPRECATE_MACRO(X) __pragma(deprecated(X))
79#else
80 #define NI_DEPRECATED
81 #define NI_DEPRECATED_MACRO
82 #define NI_DEPRECATE_MACRO(X)
83#endif
84
85// NI_XCODER_REVISION can be read to determine release package version and FW to
86// SW compatibility. Recommend using ni_get_*_ver() functions in ni_util.h to
87// read correct version numbers if updating libxcoder but not linked apps.
88// NI_XCODER_REVISION[0:2] = SW release version
89// NI_XCODER_REVISION[3] = compatible FW API semantic major version
90// NI_XCODER_REVISION[4:5] = compatible FW API semantic minor version
91// NI_XCODER_REVISION[6:7] = optional
92// reference: https://netint.atlassian.net/l/c/woqFMHES
93// You must change the name in the comment of REVISION line to your name when
94// you change the version number. If a merge conflict arises on a REVISION line,
95// you may need to increment the version number again for your change/commit.
96// Changes here should also be synchronized to NI_QUADRA_XCODER_REVISION in
97// libxcoder_FFmpeg3.1.1only/source/ni_macro_defs_quadra.h
98#define NI_XCODER_REVISION "5606sVr3" // cube.sun
99#define NI_XCODER_REVISION_API_MAJOR_VER_IDX 3
100#define NI_XCODER_REVISION_API_MINOR_VER_IDX 4
101
102// LIBXCODER_API_VERSION can be read to determine libxcoder to linked apps/APIs
103// compatibility. Recommend using ni_get_*_ver() functions in ni_util.h to
104// read version numbers.
105// reference: https://netint.atlassian.net/l/c/fVEGmYEZ
106// You must change the name in the comment of VERSION line to your name when
107// you change the version number. If a merge conflict arises on a VERSION line,
108// you may need to increment the version number again for your change/commit.
109// If make changes in FFmpeg/Libav that require changes in Libxcoder, update
110// minimum LIBXCODER_API_VERSION_MINOR in FFmpeg*/configure
111#define MACRO_TO_STR(s) #s
112#define MACROS_TO_VER_STR(a, b) MACRO_TO_STR(a.b)
113#define LIBXCODER_API_VERSION_MAJOR 2 // steven.zhou
114#define LIBXCODER_API_VERSION_MINOR 85 // john.jeon
115#define LIBXCODER_API_VERSION MACROS_TO_VER_STR(LIBXCODER_API_VERSION_MAJOR, \
116 LIBXCODER_API_VERSION_MINOR)
117
118#define NI_LITTLE_ENDIAN_PLATFORM 0
119#define NI_BIG_ENDIAN_PLATFORM 1
121#define NI_MAX_P2P_SGL_ENTRY 128
122
123#define QUADRA 1
124
125#ifndef PLATFORM_ENDIANESS
126#define PLATFORM_ENDIANESS NI_LITTLE_ENDIAN_PLATFORM
127#endif
128
129#define NETINT_PCI_VENDOR_ID 0x1D82
131#ifdef _WIN32
132#else
133#endif
134
135#ifdef _WIN32
136typedef struct _ni_pthread_t
137{
138 void *handle;
139 void *(*start_routine)(void *arg);
140 void *arg;
141 void *rc;
142} ni_pthread_t;
143typedef CRITICAL_SECTION ni_pthread_mutex_t;
144typedef CONDITION_VARIABLE ni_pthread_cond_t;
145typedef void ni_pthread_attr_t;
146typedef void ni_pthread_condattr_t;
147typedef void ni_pthread_mutexattr_t;
148typedef void ni_sigset_t;
149typedef HANDLE ni_device_handle_t;
150typedef HANDLE ni_event_handle_t;
151typedef HANDLE ni_lock_handle_t;
152typedef unsigned ni_aio_context_t;
153typedef unsigned ni_iocb_t;
154typedef unsigned ni_io_event_t;
155#define NI_INVALID_DEVICE_HANDLE (INVALID_HANDLE_VALUE)
156#define NI_INVALID_EVENT_HANDLE (NULL)
157#define NI_INVALID_LOCK_HANDLE (NULL)
158#ifdef XCODER_DLL
159#ifdef LIB_EXPORTS
160#define LIB_API __declspec(dllexport)
161#else
162#define LIB_API __declspec(dllimport)
163#endif
164#else
165#define LIB_API
166#endif
167
168#define NI_MAX_FRAME_CHUNK_SZ 0x80000 //0x10000
169#define NI_MAX_PACKET_SZ 0x20000 //0x10000
170#define NI_MAX_ENC_PACKET_SZ 3133440
171
172#elif __linux__
173typedef pthread_t ni_pthread_t;
174typedef pthread_mutex_t ni_pthread_mutex_t;
175typedef pthread_cond_t ni_pthread_cond_t;
176typedef pthread_attr_t ni_pthread_attr_t;
177typedef pthread_condattr_t ni_pthread_condattr_t;
178typedef pthread_mutexattr_t ni_pthread_mutexattr_t;
179typedef sigset_t ni_sigset_t;
180typedef int32_t ni_device_handle_t;
181typedef int32_t ni_event_handle_t;
182typedef int32_t ni_lock_handle_t;
183typedef unsigned long ni_aio_context_t;
184typedef struct iocb ni_iocb_t;
185typedef struct io_event ni_io_event_t;
186#define NI_INVALID_DEVICE_HANDLE (-1)
187#define NI_INVALID_EVENT_HANDLE (-1)
188#define NI_INVALID_LOCK_HANDLE (-1)
189#define LIB_API
190
191#define SYS_PARAMS_PREFIX_PATH "/sys/block/"
192#define SYS_PREFIX_SZ strlen(SYS_PARAMS_PREFIX_PATH)
193#define KERNEL_NVME_MAX_SEG_PATH "/queue/max_segments"
194#define KERNEL_NVME_MAX_SEG_SZ_PATH "/queue/max_segment_size"
195#define KERNEL_NVME_MIN_IO_SZ_PATH "/queue/minimum_io_size"
196#define KERNEL_NVME_MAX_HW_SEC_KB_PATH "/queue/max_hw_sectors_kb"
197#define MIN_NVME_DEV_NAME_LEN 7 //has to be at least nvmeXnY
198#define KERNEL_NVME_FILE_NAME_MAX_SZ \
199 (SYS_PREFIX_SZ + strlen(KERNEL_NVME_MAX_SEG_SZ_PATH) + \
200 MIN_NVME_DEV_NAME_LEN + 10)
201#define DEFAULT_IO_TRANSFER_SIZE 520192
202#define MAX_IO_TRANSFER_SIZE 3133440
203
204#elif __APPLE__
205typedef pthread_t ni_pthread_t;
206typedef pthread_mutex_t ni_pthread_mutex_t;
207typedef pthread_cond_t ni_pthread_cond_t;
208typedef pthread_attr_t ni_pthread_attr_t;
209typedef pthread_condattr_t ni_pthread_condattr_t;
210typedef pthread_mutexattr_t ni_pthread_mutexattr_t;
211typedef sigset_t ni_sigset_t;
212typedef int32_t ni_device_handle_t;
213typedef int32_t ni_event_handle_t;
214typedef int32_t ni_lock_handle_t;
215typedef unsigned ni_aio_context_t;
216typedef unsigned ni_iocb_t;
217typedef unsigned ni_io_event_t;
218#define NI_INVALID_DEVICE_HANDLE (-1)
219#define NI_INVALID_EVENT_HANDLE (-1)
220#define NI_INVALID_LOCK_HANDLE (-1)
221#define LIB_API
222#define MAX_IO_TRANSFER_SIZE 3133440
223#endif /* _WIN32 */
224
225// number of system last error
226#ifdef _WIN32
227#define NI_ERRNO (GetLastError())
228#else
229#define NI_ERRNO (errno)
230#endif
231
232#define NI_INVALID_HWID (-1)
233#define NI_INVALID_IO_SIZE (0)
234
235#define NI_MAX_DEVICE_CNT 128
236#define NI_MAX_DEVICE_NAME_LEN 32
237
238#define NI_NVME_PREFIX "nvme"
239#define NI_MAX_PACKET_SZ 0x20000
240#define NI_POLL_INTERVAL (2 * 1000)
241
242// The macro definition in ni_quadra_filter_api.h need to be synchronized with libxcoder
243// If you change this,you should also change NI_QUADRA_MAX_NUM_DATA_POINTERS in ni_quadra_filter_api.h
244#define NI_MAX_NUM_DATA_POINTERS 4
245
246#define NI_MAX_NUM_SW_FRAME_DATA_POINTERS 3
247
248#define NI_MAX_CONTEXTS_PER_HW_INSTANCE 128
249#define NI_MAX_4K_FPS_QUADRA 240
250
251#define NI_MAX_DEVICES_PER_HW_INSTANCE 4
252
253// The macro definition in ni_quadra_filter_api.h need to be synchronized with libxcoder
254// If you change this,you should also change NI_QUADRA_MAX_NUM_OF_DECODER_OUTPUTS in ni_quadra_filter_api.h
255#define NI_MAX_NUM_OF_DECODER_OUTPUTS 3
256
257// The macro definition in ni_quadra_filter_api.h need to be synchronized with libxcoder
258// If you change this,you should also change NI_QUADRA_MAX_PPU_PARAM_EXPR_CHAR in ni_quadra_filter_api.h
259#define NI_MAX_PPU_PARAM_EXPR_CHAR 20
260
261#define NI_MAX_TX_SZ 0xA00000
262
263#define NI_MEM_PAGE_ALIGNMENT 0x1000
264
265#define NI_MAX_DR_HWDESC_FRAME_INDEX 5363
266#define NI_MAX_DR_HWDESC_FRAME_INDEX_2 4993
267 // If P2P area changes in firmware these constants must be updated
268#define NI_MIN_HWDESC_P2P_BUF_ID 5364
269#define NI_MAX_HWDESC_P2P_BUF_ID 5525
270
271#define NI_MAX_SR_HWDESC_FRAME_INDEX 2457
272#define NI_MAX_SR_HWDESC_FRAME_INDEX_2 2287
273#define NI_MAX_SR_HWDESC_FRAME_INDEX_3_REMOVE_P2P 2439
274#define NI_MAX_SR_HWDESC_FRAME_INDEX_4_4G 1248
275
276 // If P2P area changes in firmware these constants must be updated
277#define NI_MIN_SR_HWDESC_P2P_BUF_ID 2458
278#define NI_MAX_SR_HWDESC_P2P_BUF_ID 2619
279#define NI_MAX_SR_HWDESC_P2P_BUF_ID_4G 2458
280
281 //Feed this ni_session_context_t->ddr_config
282#define NI_GET_MIN_HWDESC_P2P_BUF_ID(x) ((x==1 || x==3 || x==6)?NI_MIN_SR_HWDESC_P2P_BUF_ID:NI_MIN_HWDESC_P2P_BUF_ID)
283#define NI_GET_MAX_HWDESC_P2P_BUF_ID(x) ((x==1 || x==3 || x==6)?((x==6)?NI_MAX_SR_HWDESC_P2P_BUF_ID_4G:NI_MAX_SR_HWDESC_P2P_BUF_ID):NI_MAX_HWDESC_P2P_BUF_ID)
284
285#ifndef DEPRECATION_AS_ERROR
286//use NI_MAX_DR_HWDESC_FRAME_INDEX or NI_GET_MAX_HWDESC_FRAME_INDEX
288#define NI_MAX_HWDESC_FRAME_INDEX NI_DEPRECATED_MACRO NI_MAX_DR_HWDESC_FRAME_INDEX
289#endif
290
291//input param is DDR config of target device
292#define NI_GET_MAX_HWDESC_FRAME_INDEX(x) \
293 (x == 1 ? NI_MAX_SR_HWDESC_FRAME_INDEX: \
294 (x == 2 ? NI_MAX_DR_HWDESC_FRAME_INDEX: \
295 (x == 3 ? NI_MAX_SR_HWDESC_FRAME_INDEX_2: \
296 (x == 4 ? NI_MAX_DR_HWDESC_FRAME_INDEX_2: \
297 (x == 5 ? NI_MAX_SR_HWDESC_FRAME_INDEX_3_REMOVE_P2P: \
298 NI_MAX_SR_HWDESC_FRAME_INDEX_4_4G)))))
299
300#define NI_MAX_UPLOAD_INSTANCE_FRAMEPOOL 100
301
302 // for pts values storage
303#define NI_MAX_DEC_REJECT 1024
304 //DTS PTS FIFO size
305#define NI_FIFO_SZ 1024
306
307//PTS gap to signal to signal pts jump
308#define NI_MAX_PTS_GAP 32
309
310//PTS gap to signal to signal pts jump
311#define NI_MAX_I_P_DIST 8
312
313// invalid sei type
314#define NI_INVALID_SEI_TYPE (-1)
315
316// max count of custom sei per packet
317#define NI_MAX_CUSTOM_SEI_CNT 20
318
319//bytes size of meta data sent together with YUV: from f/w decoder to app
320#define NI_FW_META_DATA_SZ 104 //metadataDecFrame on dec FW (including hwdesc x3)
321// size of meta data sent together with YUV data: from app to f/w encoder
322#define NI_APP_ENC_FRAME_META_DATA_SIZE 72
323
324#define NI_APP_ENC_FRAME_META_DATA_SIZE_UNDER_MAJOR_6_MINOR_Q 56
325#define NI_APP_ENC_FRAME_META_DATA_SIZE_UNDER_MAJOR_6_MINOR_rc 64
326
327#define MAX_AV1_ENCODER_GOP_NUM 8
328
329#define NI_MAX_FILTER_POOL_SIZE 4
330
331#if defined(LRETURN)
332#undef LRETURN
333#define LRETURN goto end
334#undef END
335#define END end
336#else
337#define LRETURN goto end
338#define END end
339#endif
340
341#define ni_assert(expression) assert(expression)
342
349
350static inline int is_supported_xcoder(int x)
351{
352 return (NI_XCODER_QUADRA == x);
353}
354
355 typedef enum
356 {
358
359 // xcoder instance types
365
366 // pseudo types
367 NI_DEVICE_TYPE_UPLOAD = 4, // share instance with NI_DEVICE_TYPE_ENCODER
368
371
372// CPU Log definitions
373#define CPU_LOG_BUFFER_SIZE (1 * 1024 * 1024)
374#define TOTAL_CPU_LOG_BUFFER_SIZE \
375 (CPU_LOG_BUFFER_SIZE * 5) // g_np/tp/fp/ep/dp_cpu_log_buffer
376#define CPU_LOG_CYCLES_PER_CHECK (10000)
377#define PRINT_FW_LOG_SIZE (64 * 1024)
378
379typedef enum
380{
381 ALL_CORE = 0x00,
382 NVME_CORE = 0x01,
383 EP_CORE = 0x02,
384 DP_CORE = 0x03,
385 TP_CORE = 0x04,
386 FP_CORE = 0x05,
389
418
425
426#define IS_XCODER_DEVICE_TYPE(t) \
427 ((ni_device_type_t)t > NI_DEVICE_TYPE_MIN && \
428 (ni_device_type_t)t < NI_DEVICE_TYPE_XCODER_MAX)
429#define GET_XCODER_DEVICE_TYPE(t) \
430 ((ni_device_type_t)t == NI_DEVICE_TYPE_UPLOAD ? \
431 NI_DEVICE_TYPE_ENCODER : \
432 (ni_device_type_t)t)
433#define GET_XCODER_DEVICE_TYPE_STR(t) \
434 (IS_XCODER_DEVICE_TYPE(GET_XCODER_DEVICE_TYPE(t)) ? \
435 g_device_type_str[GET_XCODER_DEVICE_TYPE(t)] : \
436 "Invalid device type")
437
438NI_UNUSED static const char *g_device_type_str[] = {"decoder", "encoder", "scaler", "AI", "uploader"};
439NI_UNUSED static const char g_device_type_chr[] = {'d', 'e', 's', 'a'};
440
441typedef enum
442{
446 -2,
451 -6,
455 -9,
457 -10,
459 -11,
462 -13,
465 -15,
472 -21,
476 -24,
478 -25,
480 -26,
482 -27,
484 -28,
486 -29,
488 -30,
490 -31,
495 -35,
497 -36,
499 -37,
501 -38,
507 -43,
511 -46,
513 -47,
515 -48,
517 -49,
519 -50,
521 -51,
524 -53,
528 -56,
530 -57,
534 -60,
541
543 0x100,
546 0x101,
554 0x302,
556 0x303,
559 0x305,
565 0x3FE,
567 0x3FF,
569
586
603
630#ifdef __cplusplus
631}
632#endif
enum _ni_xcoder_prod_line ni_xcoder_prod_line_t
_ni_nvme_opcode
Definition ni_defs.h:571
@ nvme_cmd_write_uncor
Definition ni_defs.h:575
@ nvme_cmd_xcoder_write
Definition ni_defs.h:583
@ nvme_cmd_resv_register
Definition ni_defs.h:579
@ nvme_cmd_resv_release
Definition ni_defs.h:582
@ nvme_cmd_resv_acquire
Definition ni_defs.h:581
@ nvme_cmd_write
Definition ni_defs.h:573
@ nvme_cmd_flush
Definition ni_defs.h:572
@ nvme_cmd_write_zeroes
Definition ni_defs.h:577
@ nvme_cmd_compare
Definition ni_defs.h:576
@ nvme_cmd_read
Definition ni_defs.h:574
@ nvme_cmd_xcoder_read
Definition ni_defs.h:584
@ nvme_cmd_resv_report
Definition ni_defs.h:580
@ nvme_cmd_dsm
Definition ni_defs.h:578
enum _ni_ai_status ni_ai_status_t
_ni_xcoder_prod_line
Definition ni_defs.h:344
@ NI_XCODER_QUADRA
Definition ni_defs.h:347
@ NI_XCODER_LOGAN
Definition ni_defs.h:346
@ NI_XCODER_NONE
Definition ni_defs.h:345
struct _ni_session_statistic_t ni_session_statistic_t
#define NI_MAX_HWDESC_FRAME_INDEX
Definition ni_defs.h:288
ni_device_type_t
Definition ni_defs.h:356
@ NI_DEVICE_TYPE_SCALER
Definition ni_defs.h:362
@ NI_DEVICE_TYPE_AI
Definition ni_defs.h:363
@ NI_DEVICE_TYPE_MAX
Definition ni_defs.h:369
@ NI_DEVICE_TYPE_DECODER
Definition ni_defs.h:360
@ NI_DEVICE_TYPE_UPLOAD
Definition ni_defs.h:367
@ NI_DEVICE_TYPE_ENCODER
Definition ni_defs.h:361
@ NI_DEVICE_TYPE_MIN
Definition ni_defs.h:357
@ NI_DEVICE_TYPE_XCODER_MAX
Definition ni_defs.h:364
ni_core_type_t
Definition ni_defs.h:380
@ FP_CORE
Definition ni_defs.h:386
@ ALL_CORE
Definition ni_defs.h:381
@ EP_CORE
Definition ni_defs.h:383
@ TP_CORE
Definition ni_defs.h:385
@ NVME_CORE
Definition ni_defs.h:382
@ NUM_OF_CORES
Definition ni_defs.h:387
@ DP_CORE
Definition ni_defs.h:384
struct _ni_p2p_sgl_t ni_p2p_sgl_t
#define NI_DEPRECATE_MACRO(X)
Definition ni_defs.h:82
_ni_scaler_opcode
Definition ni_defs.h:588
@ NI_SCALER_OPCODE_IPOVLY
Definition ni_defs.h:597
@ NI_SCALER_OPCODE_DRAWBOX
Definition ni_defs.h:596
@ NI_SCALER_OPCODE_PAD
Definition ni_defs.h:592
@ NI_SCALER_OPCODE_FLIP
Definition ni_defs.h:591
@ NI_SCALER_OPCODE_DELOGO
Definition ni_defs.h:599
@ NI_SCALER_OPCODE_OVERLAY
Definition ni_defs.h:593
@ NI_SCALER_OPCODE_CROP
Definition ni_defs.h:590
@ NI_SCALER_OPCODE_MERGE
Definition ni_defs.h:600
@ NI_SCALER_OPCODE_SCALE
Definition ni_defs.h:589
@ NI_SCALER_OPCODE_WATERMARK
Definition ni_defs.h:598
@ NI_SCALER_OPCODE_STACK
Definition ni_defs.h:594
@ NI_SCALER_OPCODE_ROTATE
Definition ni_defs.h:595
@ NI_SCALER_OPCODE_AI_ALIGN
Definition ni_defs.h:601
enum _ni_scaler_opcode ni_scaler_opcode_t
enum _ni_nvme_opcode ni_nvme_opcode_t
_ni_ai_status
Definition ni_defs.h:605
@ NI_AI_STATUS_CREATE_NETWORK_FAILED
Definition ni_defs.h:612
@ NI_AI_STATUS_IO_NOT_ALLOWED
Definition ni_defs.h:627
@ NI_AI_STATUS_NETWORK_NOT_READY
Definition ni_defs.h:628
@ NI_AI_STATUS_GENERIC_ERROR
Definition ni_defs.h:607
@ NI_AI_STATUS_CONTEXT_NOT_AVAILABLE
Definition ni_defs.h:620
@ NI_AI_STATUS_OUT_OF_MEMORY
Definition ni_defs.h:624
@ NI_AI_STATUS_INVALID_ADDRESS
Definition ni_defs.h:623
@ NI_AI_STATUS_MAP_ERROR
Definition ni_defs.h:619
@ NI_AI_STATUS_RESOURCE_NOT_AVAILABLE
Definition ni_defs.h:611
@ NI_AI_STATUS_ALREADY_INITIALIZED
Definition ni_defs.h:609
@ NI_AI_STATUS_MODEL_NOT_FOUND
Definition ni_defs.h:621
@ NI_AI_STATUS_INVALID_PARAMS
Definition ni_defs.h:615
@ NI_AI_STATUS_IO_ERROR
Definition ni_defs.h:622
@ NI_AI_STATUS_NOT_INITIALIZED
Definition ni_defs.h:608
@ NI_AI_STATUS_INPUT_BUFFER_FULL
Definition ni_defs.h:613
@ NI_AI_STATUS_BAD_OPTION
Definition ni_defs.h:618
@ NI_AI_STATUS_BAD_INOUT
Definition ni_defs.h:625
@ NI_AI_STATUS_SUCCESS
Definition ni_defs.h:606
@ NI_AI_STATUS_ERROR_START_NETWORK
Definition ni_defs.h:616
@ NI_AI_STATUS_IO_BUSY
Definition ni_defs.h:610
@ NI_AI_STATUS_ERROR_SET_INOUT
Definition ni_defs.h:617
@ NI_AI_STATUS_INVALID_INSTANCE
Definition ni_defs.h:626
@ NI_AI_STATUS_OUTPUT_BUFFER_EMPTY
Definition ni_defs.h:614
ni_retcode_t
Definition ni_defs.h:442
@ NI_RETCODE_ERROR_LOCK_DOWN_DEVICE
Definition ni_defs.h:523
@ NI_RETCODE_PARAM_ERROR_MX_NUM_MERGE
Definition ni_defs.h:467
@ NI_RETCODE_PARAM_ERROR_INTRA_PERIOD
Definition ni_defs.h:461
@ NI_RETCODE_PARAM_ERROR_TRATE
Definition ni_defs.h:458
@ NI_RETCODE_PARAM_WARNING_DEPRECATED
Definition ni_defs.h:532
@ NI_RETCODE_PARAM_ERROR_HEIGHT_TOO_BIG
Definition ni_defs.h:514
@ NI_RETCODE_PARAM_ERROR_BRATE
Definition ni_defs.h:456
@ NI_RETCODE_NVME_SC_STREAM_ERROR
Definition ni_defs.h:561
@ NI_RETCODE_PARAM_ERROR_ZERO
Definition ni_defs.h:508
@ NI_RETCODE_PARAM_ERROR_HVS_QP_EN
Definition ni_defs.h:473
@ NI_RETCODE_FAILURE
Definition ni_defs.h:444
@ NI_RETCODE_PARAM_ERROR_VBV_BUFFER_SIZE
Definition ni_defs.h:460
@ NI_RETCODE_EAGAIN
Definition ni_defs.h:545
@ NI_RETCODE_PARAM_ERROR_PICSKIP
Definition ni_defs.h:536
@ NI_RETCODE_NVME_SC_INTERLACED_NOT_SUPPORTED
Definition ni_defs.h:562
@ NI_RETCODE_PARAM_ERROR_HVS_QP_SCL
Definition ni_defs.h:474
@ NI_RETCODE_NVME_SC_REQUEST_NOT_COMPLETED
Definition ni_defs.h:557
@ NI_RETCODE_PARAM_ERROR_CUSIZE_MODE_8X8_EN
Definition ni_defs.h:502
@ NI_RETCODE_PARAM_ERROR_FILLER
Definition ni_defs.h:535
@ NI_RETCODE_PARAM_ERROR_CUSIZE_MODE_32X32_EN
Definition ni_defs.h:504
@ NI_RETCODE_PARAM_ERROR_RCENABLE
Definition ni_defs.h:492
@ NI_RETCODE_PARAM_ERROR_MX_DELTA_QP
Definition ni_defs.h:479
@ NI_RETCODE_ERROR_PERMISSION_DENIED
Definition ni_defs.h:539
@ NI_RETCODE_PARAM_ERROR_LOOK_AHEAD_DEPTH
Definition ni_defs.h:533
@ NI_RETCODE_PARAM_ERROR_CONF_WIN_R
Definition ni_defs.h:487
@ NI_RETCODE_NVME_SC_RESOURCE_NOT_FOUND
Definition ni_defs.h:555
@ NI_RETCODE_ERROR_INVALID_SESSION
Definition ni_defs.h:449
@ NI_RETCODE_PARAM_ERROR_CU_SIZE_MODE
Definition ni_defs.h:466
@ NI_RETCODE_PARAM_ERROR_CONF_WIN_BOT
Definition ni_defs.h:483
@ NI_RETCODE_ERROR_UNSUPPORTED_FW_VERSION
Definition ni_defs.h:537
@ NI_RETCODE_PARAM_ERROR_MN_QP
Definition ni_defs.h:475
@ NI_RETCODE_NVME_SC_INVALID_PARAMETER
Definition ni_defs.h:560
@ NI_RETCODE_ERROR_GET_DEVICE_POOL
Definition ni_defs.h:522
@ NI_RETCODE_PARAM_ERROR_PIC_WIDTH
Definition ni_defs.h:496
@ NI_RETCODE_PARAM_ERROR_CONF_WIN_TOP
Definition ni_defs.h:481
@ NI_RETCODE_PARAM_ERROR_CONF_WIN_L
Definition ni_defs.h:485
@ NI_RETCODE_PARAM_ERROR_DECODING_REFRESH_TYPE
Definition ni_defs.h:500
@ NI_RETCODE_ERROR_UNLOCK_DEVICE
Definition ni_defs.h:525
@ NI_RETCODE_PARAM_INVALID_NAME
Definition ni_defs.h:452
@ NI_RETCODE_PARAM_ERROR_AREA_TOO_BIG
Definition ni_defs.h:518
@ NI_RETCODE_PARAM_ERROR_FRATE
Definition ni_defs.h:454
@ NI_RETCODE_NVME_SC_WRITE_BUFFER_FULL
Definition ni_defs.h:550
@ NI_RETCODE_PARAM_ERROR_BRATE_LT_TRATE
Definition ni_defs.h:491
@ NI_RETCODE_NVME_SC_VPU_RECOVERY
Definition ni_defs.h:563
@ NI_RETCODE_ERROR_STREAM_ERROR
Definition ni_defs.h:540
@ NI_RETCODE_SUCCESS
Definition ni_defs.h:443
@ NI_RETCODE_PARAM_ERROR_HEIGHT_TOO_SMALL
Definition ni_defs.h:516
@ NI_RETCODE_PARAM_WARN
Definition ni_defs.h:542
@ NI_RETCODE_ERROR_INVALID_HANDLE
Definition ni_defs.h:527
@ NI_RETCODE_PARAM_ERROR_TOO_BIG
Definition ni_defs.h:505
@ NI_RETCODE_PARAM_INVALID_VALUE
Definition ni_defs.h:453
@ NI_RETCODE_ERROR_RESOURCE_UNAVAILABLE
Definition ni_defs.h:450
@ NI_RETCODE_PARAM_ERROR_CU_LVL_RC_EN
Definition ni_defs.h:471
@ NI_RETCODE_PARAM_ERROR_INTRA_QP
Definition ni_defs.h:463
@ NI_RETCODE_ERROR_EXCEED_MAX_NUM_SESSIONS
Definition ni_defs.h:520
@ NI_RETCODE_PARAM_ERROR_MAXNUMMERGE
Definition ni_defs.h:493
@ NI_RETCODE_NVME_SC_RESOURCE_IS_EMPTY
Definition ni_defs.h:553
@ NI_RETCODE_PARAM_ERROR_DY_MERGE_32X32_EN
Definition ni_defs.h:470
@ NI_RETCODE_NVME_SC_RESOURCE_UNAVAILABLE
Definition ni_defs.h:552
@ NI_RETCODE_PARAM_ERROR_DY_MERGE_16X16_EN
Definition ni_defs.h:469
@ NI_RETCODE_NVME_SC_VPU_GENERAL_ERROR
Definition ni_defs.h:566
@ NI_RETCODE_PARAM_ERROR_GOP_PRESET
Definition ni_defs.h:464
@ NI_RETCODE_ERROR_INVALID_ALLOCATION_METHOD
Definition ni_defs.h:529
@ NI_RETCODE_PARAM_ERROR_WIDTH_TOO_BIG
Definition ni_defs.h:510
@ NI_RETCODE_ERROR_NVME_CMD_FAILED
Definition ni_defs.h:448
@ NI_RETCODE_PARAM_ERROR_USR_RMD_ENC_PARAM
Definition ni_defs.h:489
@ NI_RETCODE_PARAM_ERROR_PIC_HEIGHT
Definition ni_defs.h:498
@ NI_RETCODE_NVME_SC_VPU_RSRC_INSUFFICIENT
Definition ni_defs.h:564
@ NI_RETCODE_ERROR_MEM_ALOC
Definition ni_defs.h:447
@ NI_RETCODE_ERROR_UNSUPPORTED_FEATURE
Definition ni_defs.h:538
@ NI_RETCODE_PARAM_ERROR_OOR
Definition ni_defs.h:509
@ NI_RETCODE_PARAM_ERROR_CUSIZE_MODE_16X16_EN
Definition ni_defs.h:503
@ NI_RETCODE_PARAM_ERROR_DY_MERGE_8X8_EN
Definition ni_defs.h:468
@ NI_RETCODE_ERROR_VPU_RECOVERY
Definition ni_defs.h:531
@ NI_RETCODE_PARAM_ERROR_WIDTH_TOO_SMALL
Definition ni_defs.h:512
@ NI_RETCODE_PARAM_ERROR_CUSTOM_GOP
Definition ni_defs.h:494
@ NI_RETCODE_INVALID_PARAM
Definition ni_defs.h:445
@ NI_RETCODE_PARAM_ERROR_TOO_SMALL
Definition ni_defs.h:506
@ NI_RETCODE_NVME_SC_REQUEST_IN_PROGRESS
Definition ni_defs.h:558
@ NI_RETCODE_ERROR_OPEN_DEVICE
Definition ni_defs.h:526
@ NI_RETCODE_PARAM_ERROR_MX_QP
Definition ni_defs.h:477
#define NI_UNUSED
Definition ni_defs.h:67
#define NI_MAX_P2P_SGL_ENTRY
Definition ni_defs.h:121
Release identification data generated at release time.
uint32_t ui32NumEntries
Definition ni_defs.h:421
uint64_t ui64DMAAddr[NI_MAX_P2P_SGL_ENTRY]
Definition ni_defs.h:423
uint32_t ui32DMALen[NI_MAX_P2P_SGL_ENTRY]
Definition ni_defs.h:422
uint32_t ui32FramesBuffered
Definition ni_defs.h:396
uint32_t ui32FramesDropped
Definition ni_defs.h:399
uint32_t ui32LastTransactionId
Definition ni_defs.h:404
uint32_t ui32Session_timestamp_high
Definition ni_defs.h:408
uint8_t ui8AdditionalFramesDelay
Definition ni_defs.h:412
uint32_t ui32Reserved[5]
Definition ni_defs.h:416
uint32_t ui32LastTransactionCompletionStatus
Definition ni_defs.h:405
uint32_t ui32FramesCorrupted
Definition ni_defs.h:414
uint32_t ui32LastErrorStatus
Definition ni_defs.h:407
uint32_t ui32RdBufAvailSize
Definition ni_defs.h:393
uint32_t ui32Session_timestamp_low
Definition ni_defs.h:409
uint8_t ui8Reserved[3]
Definition ni_defs.h:413
uint32_t ui32WrBufAvailSize
Definition ni_defs.h:392
uint32_t ui32LastErrorTransactionId
Definition ni_defs.h:406
uint32_t ui32FramesCompleted
Definition ni_defs.h:397
uint32_t ui32FramesOutput
Definition ni_defs.h:398
uint32_t ui32FramesErrorRatio
Definition ni_defs.h:415