41#define NI_BEST_MODEL_LOAD_STR "bestmodelload"
42#define NI_BEST_REAL_LOAD_STR "bestload"
44#define NI_DATA_FORMAT_VIDEO_PACKET 0
45#define NI_DATA_FORMAT_YUV_FRAME 1
46#define NI_DATA_FORMAT_Y_FRAME 2
47#define NI_DATA_FORMAT_CB_FRAME 3
48#define NI_DATA_FORMAT_CR_FRAME 4
52#define NI_NOPTS_VALUE ((int64_t)UINT64_C(0x8000000000000000))
55#define AV_CODEC_DEFAULT_BITRATE 200 * 1000
56#define PRESET_DEFAULT_BITRATE 1000 * 1000
58#define NI_MAX_GOP_NUM 8
60#define NI_MAX_REF_PIC 4
62#ifndef DEPRECATION_AS_ERROR
64#define NI_MAX_VUI_SIZE NI_DEPRECATED_MACRO 32
67#define NI_MAX_TX_RETRIES 1000
69#define NI_MAX_ENCODER_QUERY_RETRIES 5000
74#define NI_MAX_SUPPORT_DRAWBOX_NUM 5
75#define NI_MAX_SUPPORT_WATERMARK_NUM 6
78#define NI_NUM_OF_PIXELS_360P (640*360)
79#define NI_NUM_OF_PIXELS_720P (1280*720)
80#define NI_NUM_OF_PIXELS_1080P (1920*1080)
81#define NI_NUM_OF_PIXELS_1440P (2560*1440)
82#define NI_NUM_OF_PIXELS_4K (3840*2160)
83#define NI_NUM_OF_PIXELS_4K_2 (4096*2160)
84#define NI_NUM_OF_PIXELS_8K (7680*4320)
86#define NI_MIN_RESOLUTION_WIDTH_JPEG 48
87#define NI_MIN_RESOLUTION_HEIGHT_JPEG 48
89#define NI_MIN_RESOLUTION_WIDTH 144
90#define NI_MIN_RESOLUTION_HEIGHT 144
91#define NI_ENC_MIN_RESOLUTION_WIDTH 144
92#define NI_ENC_MIN_RESOLUTION_HEIGHT 128
97#define NI_MIN_RESOLUTION_WIDTH_SCALER 16
98#define NI_MIN_RESOLUTION_HEIGHT_SCALER 16
103#define NI_MAX_RESOLUTION_WIDTH 8192
104#define NI_MAX_RESOLUTION_HEIGHT 8192
105#define NI_MAX_RESOLUTION_AREA 8192*8192
106#define NI_MAX_RESOLUTION_RGBA_WIDTH 7040
107#define NI_MAX_RESOLUTION_RGBA_HEIGHT 7040
109#define NI_MAX_RESOLUTION_LINESIZE (NI_MAX_RESOLUTION_WIDTH*2)
111#define NI_FRAME_LITTLE_ENDIAN 0
112#define NI_FRAME_BIG_ENDIAN 1
114#define NI_INVALID_SESSION_ID 0xFFFF
116#define NI_MAX_BITRATE 800000000
117#define NI_MIN_BITRATE 10000
119#define NI_MAX_FRAMERATE 65535
120#define NI_MAX_ASPECTRATIO 65535
126#define NI_MAX_WIDTH 8192
127#define NI_MIN_WIDTH 144
128#define NI_MAX_HEIGHT 8192
129#define NI_MIN_HEIGHT 128
131#define NI_2PASS_ENCODE_MIN_WIDTH ((272 + 31) / 32 * 32)
132#define NI_2PASS_ENCODE_MIN_HEIGHT 256
134#define NI_MULTICORE_ENCODE_MIN_WIDTH 256
135#define NI_MULTICORE_ENCODE_MIN_HEIGHT 256
138#define NI_PARAM_MAX_WIDTH 8192
139#define NI_PARAM_MIN_WIDTH 32
140#define NI_PARAM_MAX_HEIGHT 8192
141#define NI_PARAM_MIN_HEIGHT 32
143#define NI_PARAM_JPEG_MIN_WIDTH 48
144#define NI_PARAM_JPEG_MIN_HEIGHT 48
146#define NI_PARAM_AV1_MIN_WIDTH 144
147#define NI_PARAM_AV1_MIN_HEIGHT 128
148#define NI_PARAM_AV1_MAX_WIDTH 4096
149#define NI_PARAM_AV1_MAX_HEIGHT 4352
150#define NI_PARAM_AV1_MAX_AREA (4096 * 2304)
151#define NI_PARAM_AV1_ALIGN_WIDTH_HEIGHT 8
153#define NI_MAX_GOP_SIZE 8
154#define NI_MIN_GOP_SIZE 1
155#define NI_MAX_GOP_PRESET_IDX 15
156#define NI_MIN_GOP_PRESET_IDX -1
157#define NI_MAX_DECODING_REFRESH_TYPE 2
158#define NI_MIN_DECODING_REFRESH_TYPE 0
159#define NI_MAX_CU_SIZE_MODE 2
160#define NI_MIN_CU_SIZE_MODE 0
161#define NI_DEFAULT_CU_SIZE_MODE 7
162#define NI_MAX_DYNAMIC_MERGE 1
163#define NI_MIN_DYNAMIC_MERGE 0
164#define NI_MAX_USE_RECOMMENDED_ENC_PARAMS 3
165#define NI_MIN_USE_RECOMMENDED_ENC_PARAMS 0
166#define NI_MAX_MAX_NUM_MERGE 3
167#define NI_MIN_MAX_NUM_MERGE 0
168#define NI_MAX_INTRA_QP 51
169#define NI_MIN_INTRA_QP -1
170#define NI_MAX_INTRA_QP_DELTA 51
171#define NI_MIN_INTRA_QP_DELTA -51
172#define NI_DEFAULT_INTRA_QP 22
173#define NI_INTRA_QP_RANGE 25
174#define NI_MIN_QP_DELTA (-25)
175#define NI_MAX_QP_DELTA 25
176#define NI_MAX_QP_INFO 63
179#define NI_MAX_NUM_SESSIONS 32
180#define NI_MIN_FRAME_SIZE 0
181#define NI_MAX_FRAME_SIZE (7680*4320*3)
182#define NI_AV1_INVALID_BUFFER_INDEX (-1)
183#define NI_MAX_SPATIAL_LAYERS 4
185#define RC_SUCCESS true
186#define RC_ERROR false
188#define MAX_CHAR_IN_DEVICE_NAME 32
192#define MAX_NUM_FRAMEPOOL_HWAVFRAME 128
195#define GC620_NV12 0x104
196#define GC620_NV21 0x105
197#define GC620_I420 0x103
198#define GC620_P010_MSB 0x108
199#define GC620_I010 0x10A
200#define GC620_YUYV 0x100
201#define GC620_UYVY 0x101
202#define GC620_NV16 0x106
203#define GC620_RGBA8888 0
204#define GC620_BGRA8888 4
205#define GC620_BGRX8888 5
206#define GC620_ABGR8888 12
207#define GC620_ARGB8888 15
208#define GC620_RGB565 3
209#define GC620_BGR565 11
210#define GC620_B5G5R5X1 8
211#define GC620_RGB888_PLANAR 0x10C
213#define NI_ENABLE_AUD_FOR_GLOBAL_HEADER 2
217#define NI_MAX_FIFO_CAPACITY 120
220#define NI_NAMESPACE_MAX_NUM 128
223#define NI_MAX_SLICE_SIZE 127
303#define NI_SCALER_FLAG_IO 0x0001
304#define NI_SCALER_FLAG_PC 0x0002
305#define NI_SCALER_FLAG_PA 0x0004
306#define NI_SCALER_FLAG_P2 0x0008
307#define NI_SCALER_FLAG_FCE 0x0010
308#define NI_SCALER_FLAG_CS 0x0020
309#define NI_SCALER_FLAG_LM 0x0040
310#define NI_SCALER_FLAG_CMP 0x0800
312#define NI_AI_FLAG_IO 0x0001
313#define NI_AI_FLAG_PC 0x0002
314#define NI_AI_FLAG_LM 0x0004
315#define NI_AI_FLAG_IOVEC 0x0008
316#define NI_AI_FLAG_SC 0x0010
318#define NI_UPLOADER_FLAG_LM 0x0010
323#define NI_MAX_KEEP_ALIVE_TIMEOUT 100
324#define NI_MIN_KEEP_ALIVE_TIMEOUT 1
325#define NI_DEFAULT_KEEP_ALIVE_TIMEOUT 3
327#define NI_MIN_CUSTOM_SEI_PASSTHRU -1
328#define NI_MAX_CUSTOM_SEI_PASSTHRU 254
329#define NI_DISABLE_USR_DATA_SEI_PASSTHRU 0
330#define NI_ENABLE_USR_DATA_SEI_PASSTHRU 1
331#define NI_INVALID_SVCT_DECODING_LAYER -1
332#define NI_EC_POLICY_TOLERANT 1
333#define NI_EC_POLICY_IGNORE 2
334#define NI_EC_POLICY_SKIP 3
335#define NI_EC_POLICY_BEST_EFFORT 4
336#define NI_EC_POLICY_LIMITED_ERROR 5
337#define NI_EC_POLICY_BEST_EFFORT_OUT_DC 6
338#define NI_EC_POLICY_DEFAULT NI_EC_POLICY_BEST_EFFORT
339#define NI_EC_ERR_THRESHOLD_DEFAULT 10
342#define NI_VPU_CEIL(_data, _align) (((_data)+((_align)-1))&~((_align)-1))
343#define NI_VPU_ALIGN4(_x) (((_x)+0x03)&~0x03)
344#define NI_VPU_ALIGN8(_x) (((_x)+0x07)&~0x07)
345#define NI_VPU_ALIGN16(_x) (((_x)+0x0f)&~0x0f)
346#define NI_VPU_ALIGN32(_x) (((_x)+0x1f)&~0x1f)
347#define NI_VPU_ALIGN64(_x) (((_x)+0x3f)&~0x3f)
348#define NI_VPU_ALIGN128(_x) (((_x)+0x7f)&~0x7f)
349#define NI_VPU_ALIGN256(_x) (((_x)+0xff)&~0xff)
350#define NI_VPU_ALIGN512(_x) (((_x)+0x1ff)&~0x1ff)
351#define NI_VPU_ALIGN2048(_x) (((_x)+0x7ff)&~0x7ff)
352#define NI_VPU_ALIGN4096(_x) (((_x)+0xfff)&~0xfff)
353#define NI_VPU_ALIGN16384(_x) (((_x)+0x3fff)&~0x3fff)
364typedef struct _ni_sei_user_data_entry
368} ni_sei_user_data_entry_t;
414#define NI_ENC_MAX_SEI_BUF_SIZE NI_VPU_ALIGN64(1024)
441#define NI_MAX_SEI_DATA (NI_ENC_MAX_SEI_BUF_SIZE)
443#define NI_MAX_CUSTOM_SEI_DATA (8192)
446#define NI_MAX_SEI_ENTRIES 32
448#define NI_MAX_SEI_DATA \
449 NI_MAX_SEI_ENTRIES * sizeof(ni_sei_user_data_entry_t) + \
450 NI_MAX_T35_CLOSE_CAPTION_SIZE + \
451 NI_MASTERING_DISPLAY_COLOUR_VOLUME_SIZE + \
452 NI_CONTENT_LIGHT_LEVEL_INFO_SIZE + NI_MAX_T35_HDR10PLUS_SIZE + \
456#define NI_DEC_MAX_CC_BUF_SIZE 93
458#define NI_CC_SEI_BYTE0 0xB5
459#define NI_CC_SEI_BYTE1 0x00
460#define NI_CC_SEI_BYTE2 0x31
461#define NI_CC_SEI_BYTE3 0x47
462#define NI_CC_SEI_BYTE4 0x41
463#define NI_CC_SEI_BYTE5 0x39
464#define NI_CC_SEI_BYTE6 0x34
465#define NI_CC_SEI_BYTE7 0x03
467#define NI_HDR10P_SEI_BYTE0 0xB5
468#define NI_HDR10P_SEI_BYTE1 0x00
469#define NI_HDR10P_SEI_BYTE2 0x3c
470#define NI_HDR10P_SEI_BYTE3 0x00
471#define NI_HDR10P_SEI_BYTE4 0x01
472#define NI_HDR10P_SEI_BYTE5 0x04
474#define NI_HDR10P_SEI_BYTE6 0x00
476#define NI_CC_SEI_HDR_HEVC_LEN 18
477#define NI_HDR10P_SEI_HDR_HEVC_LEN 9
478#define NI_HDR10P_SEI_HDR_H264_LEN 8
479#define NI_CC_SEI_HDR_H264_LEN 17
480#define NI_CC_SEI_TRAILER_LEN 2
481#define NI_RBSP_TRAILING_BITS_LEN 1
485#define NI_MAX_NUM_AUX_DATA_PER_FRAME 16
488#define NI_BITRATE_RECONFIG_FILE_MAX_LINES 50000
491#define NI_BITRATE_RECONFIG_FILE_MAX_ENTRIES_PER_LINE 10
494#define NI_CUSTOMIZE_ROI_QPOFFSET_LEVEL 10
496#define NI_CUSTOMIZE_ROI_QP_NUM 64
498#define MOTION_CONSTRAINED_PERFORMANCE_MODE 1
499#define MOTION_CONSTRAINED_QUALITY_MODE 2
629 return a.
num / (double)a.
den;
1442#ifndef DEPRECATION_AS_ERROR
1476#ifndef DEPRECATION_AS_ERROR
1888#define NI_ENC_GOP_PARAMS_G0_POC_OFFSET "g0pocOffset"
1889#define NI_ENC_GOP_PARAMS_G0_QP_OFFSET "g0QpOffset"
1891#define NI_ENC_GOP_PARAMS_G0_TEMPORAL_ID "g0temporalId"
1892#define NI_ENC_GOP_PARAMS_G0_PIC_TYPE "g0picType"
1893#define NI_ENC_GOP_PARAMS_G0_NUM_REF_PICS "g0numRefPics"
1894#define NI_ENC_GOP_PARAMS_G0_NUM_REF_PIC0 "g0refPic0"
1895#define NI_ENC_GOP_PARAMS_G0_NUM_REF_PIC0_USED "g0refPic0Used"
1896#define NI_ENC_GOP_PARAMS_G0_NUM_REF_PIC1 "g0refPic1"
1897#define NI_ENC_GOP_PARAMS_G0_NUM_REF_PIC1_USED "g0refPic1Used"
1898#define NI_ENC_GOP_PARAMS_G0_NUM_REF_PIC2 "g0refPic2"
1899#define NI_ENC_GOP_PARAMS_G0_NUM_REF_PIC2_USED "g0refPic2Used"
1900#define NI_ENC_GOP_PARAMS_G0_NUM_REF_PIC3 "g0refPic3"
1901#define NI_ENC_GOP_PARAMS_G0_NUM_REF_PIC3_USED "g0refPic3Used"
1903#define NI_ENC_GOP_PARAMS_G1_POC_OFFSET "g1pocOffset"
1904#define NI_ENC_GOP_PARAMS_G1_QP_OFFSET "g1QpOffset"
1906#define NI_ENC_GOP_PARAMS_G1_TEMPORAL_ID "g1temporalId"
1907#define NI_ENC_GOP_PARAMS_G1_PIC_TYPE "g1picType"
1908#define NI_ENC_GOP_PARAMS_G1_NUM_REF_PICS "g1numRefPics"
1909#define NI_ENC_GOP_PARAMS_G1_NUM_REF_PIC0 "g1refPic0"
1910#define NI_ENC_GOP_PARAMS_G1_NUM_REF_PIC0_USED "g1refPic0Used"
1911#define NI_ENC_GOP_PARAMS_G1_NUM_REF_PIC1 "g1refPic1"
1912#define NI_ENC_GOP_PARAMS_G1_NUM_REF_PIC1_USED "g1refPic1Used"
1913#define NI_ENC_GOP_PARAMS_G1_NUM_REF_PIC2 "g1refPic2"
1914#define NI_ENC_GOP_PARAMS_G1_NUM_REF_PIC2_USED "g1refPic2Used"
1915#define NI_ENC_GOP_PARAMS_G1_NUM_REF_PIC3 "g1refPic3"
1916#define NI_ENC_GOP_PARAMS_G1_NUM_REF_PIC3_USED "g1refPic3Used"
1918#define NI_ENC_GOP_PARAMS_G2_POC_OFFSET "g2pocOffset"
1919#define NI_ENC_GOP_PARAMS_G2_QP_OFFSET "g2QpOffset"
1921#define NI_ENC_GOP_PARAMS_G2_TEMPORAL_ID "g2temporalId"
1922#define NI_ENC_GOP_PARAMS_G2_PIC_TYPE "g2picType"
1923#define NI_ENC_GOP_PARAMS_G2_NUM_REF_PICS "g2numRefPics"
1924#define NI_ENC_GOP_PARAMS_G2_NUM_REF_PIC0 "g2refPic0"
1925#define NI_ENC_GOP_PARAMS_G2_NUM_REF_PIC0_USED "g2refPic0Used"
1926#define NI_ENC_GOP_PARAMS_G2_NUM_REF_PIC1 "g2refPic1"
1927#define NI_ENC_GOP_PARAMS_G2_NUM_REF_PIC1_USED "g2refPic1Used"
1928#define NI_ENC_GOP_PARAMS_G2_NUM_REF_PIC2 "g2refPic2"
1929#define NI_ENC_GOP_PARAMS_G2_NUM_REF_PIC2_USED "g2refPic2Used"
1930#define NI_ENC_GOP_PARAMS_G2_NUM_REF_PIC3 "g2refPic3"
1931#define NI_ENC_GOP_PARAMS_G2_NUM_REF_PIC3_USED "g2refPic3Used"
1933#define NI_ENC_GOP_PARAMS_G3_POC_OFFSET "g3pocOffset"
1934#define NI_ENC_GOP_PARAMS_G3_QP_OFFSET "g3QpOffset"
1936#define NI_ENC_GOP_PARAMS_G3_TEMPORAL_ID "g3temporalId"
1937#define NI_ENC_GOP_PARAMS_G3_PIC_TYPE "g3picType"
1938#define NI_ENC_GOP_PARAMS_G3_NUM_REF_PICS "g3numRefPics"
1939#define NI_ENC_GOP_PARAMS_G3_NUM_REF_PIC0 "g3refPic0"
1940#define NI_ENC_GOP_PARAMS_G3_NUM_REF_PIC0_USED "g3refPic0Used"
1941#define NI_ENC_GOP_PARAMS_G3_NUM_REF_PIC1 "g3refPic1"
1942#define NI_ENC_GOP_PARAMS_G3_NUM_REF_PIC1_USED "g3refPic1Used"
1943#define NI_ENC_GOP_PARAMS_G3_NUM_REF_PIC2 "g3refPic2"
1944#define NI_ENC_GOP_PARAMS_G3_NUM_REF_PIC2_USED "g3refPic2Used"
1945#define NI_ENC_GOP_PARAMS_G3_NUM_REF_PIC3 "g3refPic3"
1946#define NI_ENC_GOP_PARAMS_G3_NUM_REF_PIC3_USED "g3refPic3Used"
1948#define NI_ENC_GOP_PARAMS_G4_POC_OFFSET "g4pocOffset"
1949#define NI_ENC_GOP_PARAMS_G4_QP_OFFSET "g4QpOffset"
1951#define NI_ENC_GOP_PARAMS_G4_TEMPORAL_ID "g4temporalId"
1952#define NI_ENC_GOP_PARAMS_G4_PIC_TYPE "g4picType"
1953#define NI_ENC_GOP_PARAMS_G4_NUM_REF_PICS "g4numRefPics"
1954#define NI_ENC_GOP_PARAMS_G4_NUM_REF_PIC0 "g4refPic0"
1955#define NI_ENC_GOP_PARAMS_G4_NUM_REF_PIC0_USED "g4refPic0Used"
1956#define NI_ENC_GOP_PARAMS_G4_NUM_REF_PIC1 "g4refPic1"
1957#define NI_ENC_GOP_PARAMS_G4_NUM_REF_PIC1_USED "g4refPic1Used"
1958#define NI_ENC_GOP_PARAMS_G4_NUM_REF_PIC2 "g4refPic2"
1959#define NI_ENC_GOP_PARAMS_G4_NUM_REF_PIC2_USED "g4refPic2Used"
1960#define NI_ENC_GOP_PARAMS_G4_NUM_REF_PIC3 "g4refPic3"
1961#define NI_ENC_GOP_PARAMS_G4_NUM_REF_PIC3_USED "g4refPic3Used"
1963#define NI_ENC_GOP_PARAMS_G5_POC_OFFSET "g5pocOffset"
1964#define NI_ENC_GOP_PARAMS_G5_QP_OFFSET "g5QpOffset"
1966#define NI_ENC_GOP_PARAMS_G5_TEMPORAL_ID "g5temporalId"
1967#define NI_ENC_GOP_PARAMS_G5_PIC_TYPE "g5picType"
1968#define NI_ENC_GOP_PARAMS_G5_NUM_REF_PICS "g5numRefPics"
1969#define NI_ENC_GOP_PARAMS_G5_NUM_REF_PIC0 "g5refPic0"
1970#define NI_ENC_GOP_PARAMS_G5_NUM_REF_PIC0_USED "g5refPic0Used"
1971#define NI_ENC_GOP_PARAMS_G5_NUM_REF_PIC1 "g5refPic1"
1972#define NI_ENC_GOP_PARAMS_G5_NUM_REF_PIC1_USED "g5refPic1Used"
1973#define NI_ENC_GOP_PARAMS_G5_NUM_REF_PIC2 "g5refPic2"
1974#define NI_ENC_GOP_PARAMS_G5_NUM_REF_PIC2_USED "g5refPic2Used"
1975#define NI_ENC_GOP_PARAMS_G5_NUM_REF_PIC3 "g5refPic3"
1976#define NI_ENC_GOP_PARAMS_G5_NUM_REF_PIC3_USED "g5refPic3Used"
1978#define NI_ENC_GOP_PARAMS_G6_POC_OFFSET "g6pocOffset"
1979#define NI_ENC_GOP_PARAMS_G6_QP_OFFSET "g6QpOffset"
1981#define NI_ENC_GOP_PARAMS_G6_TEMPORAL_ID "g6temporalId"
1982#define NI_ENC_GOP_PARAMS_G6_PIC_TYPE "g6picType"
1983#define NI_ENC_GOP_PARAMS_G6_NUM_REF_PICS "g6numRefPics"
1984#define NI_ENC_GOP_PARAMS_G6_NUM_REF_PIC0 "g6refPic0"
1985#define NI_ENC_GOP_PARAMS_G6_NUM_REF_PIC0_USED "g6refPic0Used"
1986#define NI_ENC_GOP_PARAMS_G6_NUM_REF_PIC1 "g6refPic1"
1987#define NI_ENC_GOP_PARAMS_G6_NUM_REF_PIC1_USED "g6refPic1Used"
1988#define NI_ENC_GOP_PARAMS_G6_NUM_REF_PIC2 "g6refPic2"
1989#define NI_ENC_GOP_PARAMS_G6_NUM_REF_PIC2_USED "g6refPic2Used"
1990#define NI_ENC_GOP_PARAMS_G6_NUM_REF_PIC3 "g6refPic3"
1991#define NI_ENC_GOP_PARAMS_G6_NUM_REF_PIC3_USED "g6refPic3Used"
1993#define NI_ENC_GOP_PARAMS_G7_POC_OFFSET "g7pocOffset"
1994#define NI_ENC_GOP_PARAMS_G7_QP_OFFSET "g7QpOffset"
1996#define NI_ENC_GOP_PARAMS_G7_TEMPORAL_ID "g7temporalId"
1997#define NI_ENC_GOP_PARAMS_G7_PIC_TYPE "g7picType"
1998#define NI_ENC_GOP_PARAMS_G7_NUM_REF_PICS "g7numRefPics"
1999#define NI_ENC_GOP_PARAMS_G7_NUM_REF_PIC0 "g7refPic0"
2000#define NI_ENC_GOP_PARAMS_G7_NUM_REF_PIC0_USED "g7refPic0Used"
2001#define NI_ENC_GOP_PARAMS_G7_NUM_REF_PIC1 "g7refPic1"
2002#define NI_ENC_GOP_PARAMS_G7_NUM_REF_PIC1_USED "g7refPic1Used"
2003#define NI_ENC_GOP_PARAMS_G7_NUM_REF_PIC2 "g7refPic2"
2004#define NI_ENC_GOP_PARAMS_G7_NUM_REF_PIC2_USED "g7refPic2Used"
2005#define NI_ENC_GOP_PARAMS_G7_NUM_REF_PIC3 "g7refPic3"
2006#define NI_ENC_GOP_PARAMS_G7_NUM_REF_PIC3_USED "g7refPic3Used"
2025#define NI_ENC_GOP_PARAMS_G0_PIC_TYPE "g0picType"
2026#define NI_ENC_GOP_PARAMS_G0_POC_OFFSET "g0pocOffset"
2027#define NI_ENC_GOP_PARAMS_G0_PIC_QP "g0picQp"
2028#define NI_ENC_GOP_PARAMS_G0_NUM_REF_PIC_L0 "g0numRefPicL0"
2029#define NI_ENC_GOP_PARAMS_G0_NUM_REF_POC_L0 "g0refPocL0"
2030#define NI_ENC_GOP_PARAMS_G0_NUM_REF_POC_L1 "g0refPocL1"
2031#define NI_ENC_GOP_PARAMS_G0_TEMPORAL_ID "g0temporalId"
2033#define NI_ENC_GOP_PARAMS_G1_PIC_TYPE "g1picType"
2034#define NI_ENC_GOP_PARAMS_G1_POC_OFFSET "g1pocOffset"
2035#define NI_ENC_GOP_PARAMS_G1_PIC_QP "g1picQp"
2036#define NI_ENC_GOP_PARAMS_G1_NUM_REF_PIC_L0 "g1numRefPicL0"
2037#define NI_ENC_GOP_PARAMS_G1_NUM_REF_POC_L0 "g1refPocL0"
2038#define NI_ENC_GOP_PARAMS_G1_NUM_REF_POC_L1 "g1refPocL1"
2039#define NI_ENC_GOP_PARAMS_G1_TEMPORAL_ID "g1temporalId"
2041#define NI_ENC_GOP_PARAMS_G2_PIC_TYPE "g2picType"
2042#define NI_ENC_GOP_PARAMS_G2_POC_OFFSET "g2pocOffset"
2043#define NI_ENC_GOP_PARAMS_G2_PIC_QP "g2picQp"
2044#define NI_ENC_GOP_PARAMS_G2_NUM_REF_PIC_L0 "g2numRefPicL0"
2045#define NI_ENC_GOP_PARAMS_G2_NUM_REF_POC_L0 "g2refPocL0"
2046#define NI_ENC_GOP_PARAMS_G2_NUM_REF_POC_L1 "g2refPocL1"
2047#define NI_ENC_GOP_PARAMS_G2_TEMPORAL_ID "g2temporalId"
2049#define NI_ENC_GOP_PARAMS_G3_PIC_TYPE "g3picType"
2050#define NI_ENC_GOP_PARAMS_G3_POC_OFFSET "g3pocOffset"
2051#define NI_ENC_GOP_PARAMS_G3_PIC_QP "g3picQp"
2052#define NI_ENC_GOP_PARAMS_G3_NUM_REF_PIC_L0 "g3numRefPicL0"
2053#define NI_ENC_GOP_PARAMS_G3_NUM_REF_POC_L0 "g3refPocL0"
2054#define NI_ENC_GOP_PARAMS_G3_NUM_REF_POC_L1 "g3refPocL1"
2055#define NI_ENC_GOP_PARAMS_G3_TEMPORAL_ID "g3temporalId"
2057#define NI_ENC_GOP_PARAMS_G4_PIC_TYPE "g4picType"
2058#define NI_ENC_GOP_PARAMS_G4_POC_OFFSET "g4pocOffset"
2059#define NI_ENC_GOP_PARAMS_G4_PIC_QP "g4picQp"
2060#define NI_ENC_GOP_PARAMS_G4_NUM_REF_PIC_L0 "g4numRefPicL0"
2061#define NI_ENC_GOP_PARAMS_G4_NUM_REF_POC_L0 "g4refPocL0"
2062#define NI_ENC_GOP_PARAMS_G4_NUM_REF_POC_L1 "g4refPocL1"
2063#define NI_ENC_GOP_PARAMS_G4_TEMPORAL_ID "g4temporalId"
2065#define NI_ENC_GOP_PARAMS_G5_PIC_TYPE "g5picType"
2066#define NI_ENC_GOP_PARAMS_G5_POC_OFFSET "g5pocOffset"
2067#define NI_ENC_GOP_PARAMS_G5_PIC_QP "g5picQp"
2068#define NI_ENC_GOP_PARAMS_G5_NUM_REF_PIC_L0 "g5numRefPicL0"
2069#define NI_ENC_GOP_PARAMS_G5_NUM_REF_POC_L0 "g5refPocL0"
2070#define NI_ENC_GOP_PARAMS_G5_NUM_REF_POC_L1 "g5refPocL1"
2071#define NI_ENC_GOP_PARAMS_G5_TEMPORAL_ID "g5temporalId"
2073#define NI_ENC_GOP_PARAMS_G6_PIC_TYPE "g6picType"
2074#define NI_ENC_GOP_PARAMS_G6_POC_OFFSET "g6pocOffset"
2075#define NI_ENC_GOP_PARAMS_G6_PIC_QP "g6picQp"
2076#define NI_ENC_GOP_PARAMS_G6_NUM_REF_PIC_L0 "g6numRefPicL0"
2077#define NI_ENC_GOP_PARAMS_G6_NUM_REF_POC_L0 "g6refPocL0"
2078#define NI_ENC_GOP_PARAMS_G6_NUM_REF_POC_L1 "g6refPocL1"
2079#define NI_ENC_GOP_PARAMS_G6_TEMPORAL_ID "g6temporalId"
2081#define NI_ENC_GOP_PARAMS_G7_PIC_TYPE "g7picType"
2082#define NI_ENC_GOP_PARAMS_G7_POC_OFFSET "g7pocOffset"
2083#define NI_ENC_GOP_PARAMS_G7_PIC_QP "g7picQp"
2084#define NI_ENC_GOP_PARAMS_G7_NUM_REF_PIC_L0 "g7numRefPicL0"
2085#define NI_ENC_GOP_PARAMS_G7_NUM_REF_POC_L0 "g7refPocL0"
2086#define NI_ENC_GOP_PARAMS_G7_NUM_REF_POC_L1 "g7refPocL1"
2087#define NI_ENC_GOP_PARAMS_G7_TEMPORAL_ID "g7temporalId"
2103#define NI_ENC_GOP_PARAMS_CUSTOM_GOP_SIZE "customGopSize"
2111#define NI_ENC_REPEAT_HEADERS_FIRST_IDR 0
2112#define NI_ENC_REPEAT_HEADERS_ALL_I_FRAMES 1
2113#define NI_KEEP_ALIVE_TIMEOUT "keepAliveTimeout"
2117#define NI_ENC_PARAM_BITRATE "bitrate"
2118#define NI_ENC_PARAM_RECONF_DEMO_MODE "ReconfDemoMode"
2119#define NI_ENC_PARAM_RECONF_FILE "ReconfFile"
2120#define NI_ENC_PARAM_ROI_DEMO_MODE "RoiDemoMode"
2121#define NI_ENC_PARAM_CACHE_ROI "cacheRoi"
2122#define NI_ENC_PARAM_FORCE_PIC_QP_DEMO_MODE "ForcePicQpDemoMode"
2124#ifndef DEPRECATION_AS_ERROR
2126#define NI_ENC_PARAM_GEN_HDRS NI_DEPRECATED_MACRO "GenHdrs"
2128#define NI_ENC_PARAM_PADDING "padding"
2129#define NI_ENC_PARAM_FORCE_FRAME_TYPE "forceFrameType"
2130#define NI_ENC_PARAM_PROFILE "profile"
2131#define NI_ENC_PARAM_LEVEL "level"
2132#define NI_ENC_PARAM_HIGH_TIER "high-tier"
2133#define NI_ENC_PARAM_LOG_LEVEL "log-level"
2134#define NI_ENC_PARAM_LOG "log"
2135#define NI_ENC_PARAM_GOP_PRESET_IDX "gopPresetIdx"
2136#define NI_ENC_PARAM_LOW_DELAY "lowDelay"
2137#define NI_ENC_PARAM_MIN_FRAMES_DELAY "minFramesDelay"
2138#define NI_ENC_PARAM_USE_RECOMMENDED_ENC_PARAMS "useRecommendEncParam"
2139#define NI_ENC_PARAM_USE_LOW_DELAY_POC_TYPE "useLowDelayPocType"
2140#define NI_ENC_PARAM_CU_SIZE_MODE "cuSizeMode"
2141#define NI_ENC_PARAM_MAX_NUM_MERGE "maxNumMerge"
2142#define NI_ENC_PARAM_ENABLE_DYNAMIC_8X8_MERGE "dynamicMerge8x8Enable"
2143#define NI_ENC_PARAM_ENABLE_DYNAMIC_16X16_MERGE "dynamicMerge16x16Enable"
2144#define NI_ENC_PARAM_ENABLE_DYNAMIC_32X32_MERGE "dynamicMerge32x32Enable"
2145#define NI_ENC_PARAM_ENABLE_RATE_CONTROL "RcEnable"
2146#define NI_ENC_PARAM_ENABLE_CU_LEVEL_RATE_CONTROL "cuLevelRCEnable"
2147#define NI_ENC_PARAM_ENABLE_HVS_QP "hvsQPEnable"
2148#define NI_ENC_PARAM_ENABLE_HVS_QP_SCALE "hvsQpScaleEnable"
2149#define NI_ENC_PARAM_HVS_QP_SCALE "hvsQpScale"
2150#define NI_ENC_PARAM_MIN_QP "minQp"
2151#define NI_ENC_PARAM_MAX_QP "maxQp"
2152#define NI_ENC_PARAM_MAX_DELTA_QP "maxDeltaQp"
2153#define NI_ENC_PARAM_FORCED_HEADER_ENABLE "repeatHeaders"
2154#define NI_ENC_PARAM_ROI_ENABLE "roiEnable"
2155#define NI_ENC_PARAM_CONF_WIN_TOP "confWinTop"
2156#define NI_ENC_PARAM_CONF_WIN_BOTTOM "confWinBot"
2157#define NI_ENC_PARAM_CONF_WIN_LEFT "confWinLeft"
2158#define NI_ENC_PARAM_CONF_WIN_RIGHT "confWinRight"
2159#define NI_ENC_PARAM_INTRA_PERIOD "intraPeriod"
2160#define NI_ENC_PARAM_TRANS_RATE "transRate"
2161#define NI_ENC_PARAM_FRAME_RATE "frameRate"
2162#define NI_ENC_PARAM_FRAME_RATE_DENOM "frameRateDenom"
2163#define NI_ENC_PARAM_INTRA_QP "intraQP"
2164#define NI_ENC_PARAM_DECODING_REFRESH_TYPE "decodingRefreshType"
2165#define NI_ENC_PARAM_INTRA_REFRESH_RESET "intraRefreshResetOnForceIDR"
2167#define NI_ENC_PARAM_ENABLE_8X8_TRANSFORM "transform8x8Enable"
2168#define NI_ENC_PARAM_ENTROPY_CODING_MODE "entropyCodingMode"
2170#define NI_ENC_PARAM_SLICE_MODE "sliceMode"
2171#define NI_ENC_PARAM_SLICE_ARG "sliceArg"
2172#define NI_ENC_PARAM_INTRA_MB_REFRESH_MODE "intraMbRefreshMode"
2173#define NI_ENC_PARAM_INTRA_MB_REFRESH_ARG "intraMbRefreshArg"
2174#define NI_ENC_PARAM_INTRA_REFRESH_MODE "intraRefreshMode"
2175#define NI_ENC_PARAM_INTRA_REFRESH_ARG "intraRefreshArg"
2176#define NI_ENC_PARAM_ENABLE_MB_LEVEL_RC "mbLevelRcEnable"
2177#define NI_ENC_PARAM_PREFERRED_TRANSFER_CHARACTERISTICS "prefTRC"
2180#define NI_ENC_PARAM_RC_INIT_DELAY "RcInitDelay"
2181#define NI_ENC_PARAM_CBR "cbr"
2182#define NI_ENC_PARAM_INTRA_REFRESH_MIN_PERIOD "intraRefreshMinPeriod"
2185#ifndef DEPRECATION_AS_ERROR
2187#define NI_ENC_PARAM_CONSTANT_RATE_FACTOR NI_DEPRECATED_MACRO "crf"
2189#define NI_ENC_PARAM_CONSTANT_RATE_FACTOR_FLOAT "crfFloat"
2190#define NI_ENC_PARAM_RDO_LEVEL "rdoLevel"
2191#define NI_ENC_PARAM_RDO_QUANT "EnableRdoQuant"
2192#define NI_ENC_PARAM_MAX_CLL "maxCLL"
2193#define NI_ENC_PARAM_MASTER_DISPLAY "masterDisplay"
2194#define NI_ENC_PARAM_LOOK_AHEAD_DEPTH "lookAheadDepth"
2195#define NI_ENC_PARAM_ENABLE_AUD "enableAUD"
2196#define NI_ENC_PARAM_CTB_RC_MODE "ctbRcMode"
2197#define NI_ENC_PARAM_GOP_SIZE "gopSize"
2198#define NI_ENC_PARAM_GOP_LOW_DELAY "gopLowdelay"
2199#define NI_ENC_PARAM_GDR_DURATION "intraRefreshDuration"
2200#define NI_ENC_PARAM_HRD_ENABLE "hrdEnable"
2201#define NI_ENC_PARAM_DOLBY_VISION_PROFILE "dolbyVisionProfile"
2202#define NI_ENC_PARAM_VBV_BUFFER_SIZE "vbvBufferSize"
2203#define NI_ENC_PARAM_VBV_MAXRAE "vbvMaxRate"
2204#define NI_ENC_PARAM_ENABLE_FILLER "fillerEnable"
2205#define NI_ENC_PARAM_ENABLE_PIC_SKIP "picSkip"
2206#ifndef DEPRECATION_AS_ERROR
2208#define NI_ENC_PARAM_MAX_FRAME_SIZE_LOW_DELAY NI_DEPRECATED_MACRO "maxFrameSize"
2210#define NI_ENC_PARAM_MAX_FRAME_SIZE_BITS_LOW_DELAY "maxFrameSize-Bits"
2211#define NI_ENC_PARAM_MAX_FRAME_SIZE_BYTES_LOW_DELAY "maxFrameSize-Bytes"
2212#define NI_ENC_PARAM_LTR_REF_INTERVAL "ltrRefInterval"
2213#define NI_ENC_PARAM_LTR_REF_QPOFFSET "ltrRefQpOffset"
2214#define NI_ENC_PARAM_LTR_FIRST_GAP "ltrFirstGap"
2215#define NI_ENC_PARAM_LTR_NEXT_INTERVAL "ltrNextInterval"
2216#define NI_ENC_PARAM_MULTICORE_JOINT_MODE "multicoreJointMode"
2217#define NI_ENC_PARAM_JPEG_QLEVEL "qlevel"
2218#define NI_ENC_PARAM_CHROMA_QP_OFFSET "chromaQpOffset"
2219#define NI_ENC_PARAM_TOL_RC_INTER "tolCtbRcInter"
2220#define NI_ENC_PARAM_TOL_RC_INTRA "tolCtbRcIntra"
2221#define NI_ENC_PARAM_BITRATE_WINDOW "bitrateWindow"
2222#define NI_ENC_INLOOP_DS_RATIO "inLoopDSRatio"
2223#define NI_ENC_BLOCK_RC_SIZE "blockRCSize"
2224#define NI_ENC_RC_QP_DELTA_RANGE "rcQpDeltaRange"
2225#define NI_ENC_CTB_ROW_QP_STEP "ctbRowQpStep"
2226#define NI_ENC_NEW_RC_ENABLE "newRcEnable"
2227#define NI_ENC_PARAM_INTRA_QP_DELTA "intraQpDelta"
2228#define NI_ENC_PARAM_LONG_TERM_REFERENCE_ENABLE "longTermReferenceEnable"
2229#define NI_ENC_PARAM_LONG_TERM_REFERENCE_COUNT "longTermReferenceCount"
2230#define NI_ENC_PARAM_LONG_TERM_REFERENCE_INTERVAL "longTermReferenceInterval"
2231#define NI_ENC_PARAM_SKIP_FRAME_ENABLE "skipFrameEnable"
2232#define NI_ENC_PARAM_MAX_CONSUTIVE_SKIP_FRAME_NUMBER "maxConsecutiveSkipFrameNum"
2233#define NI_ENC_PARAM_SKIP_FRAME_INTERVAL "skipFrameInterVal"
2234#define NI_ENC_PARAM_IFRAME_SIZE_RATIO "iFrameSizeRatio"
2235#define NI_ENC_PARAM_STILL_IMAGE_DETECT_LEVEL "stillImageDetectLevel"
2236#define NI_ENC_PARAM_SCENE_CHANG_DETECT_LEVEL "sceneChangeDetectLevel"
2237#define NI_ENC_PARAM_ENABLE_SMOOTH_CRF "enableSmoothCRF"
2238#define NI_ENC_PARAM_ENABLE_COMPENSATE_QP "enableCompensateQp"
2239#define NI_ENC_PARAM_ADAPTIVE_LAMDA_MODE "adaptiveLamdaMode"
2240#define NI_ENC_PARAM_ADAPTIVE_CRF_MODE "adaptiveCrfMode"
2241#define NI_ENC_PARAM_INTRA_COMPENSATE_MODE "intraCompensateMode"
2242#define NI_ENC_PARAM_CUSTOM_MIN_COEFF_DIV "customMinCoeffDiv"
2244#define NI_ENC_PARAM_COLOR_PRIMARY "colorPri"
2245#define NI_ENC_PARAM_COLOR_TRANSFER_CHARACTERISTIC "colorTrc"
2246#define NI_ENC_PARAM_COLOR_SPACE "colorSpc"
2248#define NI_ENC_PARAM_SAR_NUM "sarNum"
2249#define NI_ENC_PARAM_SAR_DENOM "sarDenom"
2251#define NI_ENC_PARAM_VIDEO_FULL_RANGE_FLAG "videoFullRangeFlag"
2253#define NI_ENC_PARAM_ENABLE_VFR "enableVFR"
2254#define NI_ENC_ENABLE_SSIM "enableSSIM"
2255#define NI_ENC_PARAM_AVCC_HVCC "avccHvcc"
2256#define NI_ENC_PARAM_AV1_ERROR_RESILIENT_MODE "av1ErrorResilientMode"
2258#define NI_ENC_PARAM_STATIC_MMAP_THRESHOLD "staticMmapThreshold"
2259#define NI_ENC_PARAM_TEMPORAL_LAYERS_ENABLE "temporalLayersEnable"
2260#define NI_ENC_PARAM_ENABLE_AI_ENHANCE "enableAIEnhance"
2261#define NI_ENC_PARAM_ENABLE_AI_HVSPLUS "enableHVSPlus"
2262#define NI_ENC_PARAM_ENABLE_2PASS_GOP "enable2PassGop"
2263#define NI_ENC_PARAM_ZEROCOPY_MODE "zeroCopyMode"
2264#define NI_ENC_PARAM_AI_ENHANCE_LEVEL "AIEnhanceLevel"
2265#define NI_ENC_PARAM_HVSPLUS_LEVEL "HVSPlusLevel"
2266#define NI_ENC_PARAM_CROP_WIDTH "cropWidth"
2267#define NI_ENC_PARAM_CROP_HEIGHT "cropHeight"
2268#define NI_ENC_PARAM_HORIZONTAL_OFFSET "horOffset"
2269#define NI_ENC_PARAM_VERTICAL_OFFSET "verOffset"
2270#define NI_ENC_PARAM_CONSTANT_RATE_FACTOR_MAX "crfMax"
2271#define NI_ENC_PARAM_QCOMP "qcomp"
2272#define NI_ENC_PARAM_NO_MBTREE "noMbtree"
2273#define NI_ENC_PARAM_NO_HW_MULTIPASS_SUPPORT "noHWMultiPassSupport"
2274#define NI_ENC_PARAM_CU_TREE_FACTOR "cuTreeFactor"
2275#define NI_ENC_PARAM_IP_RATIO "ipRatio"
2276#define NI_ENC_PARAM_ENABLE_IP_RATIO "enableipRatio"
2277#define NI_ENC_PARAM_PB_RATIO "pbRatio"
2278#define NI_ENC_PARAM_CPLX_DECAY "cplxDecay"
2279#define NI_ENC_PARAM_PPS_INIT_QP "ppsInitQp"
2280#define NI_ENC_PARAM_DDR_PRIORITY_MODE "ddrPriorityMode"
2281#define NI_ENC_PARAM_BITRATE_MODE "bitrateMode"
2282#define NI_ENC_PARAM_PASS1_QP "pass1Qp"
2283#define NI_ENC_PARAM_HVS_BASE_MB_COMPLEXITY "hvsBaseMbComplexity"
2284#define NI_ENC_PARAM_STATISTIC_OUTPUT_LEVEL "statisticOutputLevel"
2285#define NI_ENC_PARAM_ENABLE_ALL_SEI_PASSTHRU "enableAllSeiPassthru"
2286#define NI_ENC_PARAM_CRF_MAX_IFRAME_ENABLE "crfMaxIframeEnable"
2287#define NI_ENC_PARAM_VBV_MINRATE "vbvMinRate"
2288#define NI_ENC_PARAM_DISABLE_ADAPTIVE_BUFFERS "disableAdaptiveBuffers"
2289#define NI_ENC_PARAM_DISABLE_BFRAME_RDOQ "disableBframeRDOQ"
2290#define NI_ENC_PARAM_FORCE_BFRAME_QPFACTOR "forceBframeQpfactor"
2291#define NI_ENC_PARAM_TUNE_BFRAME_VISUAL "tuneBframeVisual"
2292#define NI_ENC_PARAM_ENABLE_ACQUIRE_LIMIT "enableAcqLimit"
2293#define NI_ENC_PARAM_GET_PSNR_MODE "getPsnrMode"
2294#define NI_ENC_PARAM_PSNR_INTERVAL "intervalOfPsnr"
2295#define NI_ENC_PARAM_CUSTOMIZE_ROI_QP_LEVEL "customizeQpLevel"
2296#define NI_ENC_PARAM_CUSTOMIZE_ROI_QP_MAP "customizeQpMapFile"
2297#define NI_ENC_PARAM_MOTION_CONSTRAINED_MODE "motionConstrainedMode"
2298#define NI_ENC_PARAM_ALLOCATE_STRAEGY "encMemAllocateStrategy"
2299#define NI_ENC_PARAM_SPATIAL_LAYERS "spatialLayers"
2300#define NI_ENC_PARAM_ENABLE_TIMECODE "enableTimecode"
2301#define NI_ENC_PARAM_SPATIAL_LAYERS_REF_BASE_LAYER "spatialLayersRefBaseLayer"
2302#define NI_ENC_PARAM_GET_RECONSTRUCTED_MODE "getReconstructedMode"
2303#define NI_ENC_PARAM_VBV_BUFFER_REENCODE "vbvBufferReencode"
2304#define NI_ENC_PARAM_TOTAL_CUTREE_DEPTH "totalCuTreeDepth"
2305#define NI_ENC_PARAM_ADAPTIVE_CUTREE "adaptiveCuTree"
2306#define NI_ENC_PARAM_PRE_INTRA_HANDLING "preIntraHandling"
2307#define NI_ENC_PARAM_BASE_LAYER_ONLY "baseLayerOnly"
2308#define NI_ENC_PARAM_PAST_FRAME_MAX_INTRA_RATIO "pastFrameMaxIntraRatio"
2309#define NI_ENC_PARAM_LINK_FRAME_MAX_INTRA_RATIO "linkFrameMaxIntraRatio"
2310#define NI_ENC_PARAM_SPATIAL_LAYER_BITRATE "spatialLayerBitrate"
2311#define NI_ENC_PARAM_DISABLE_AV1_TIMING_INFO "disableAv1TimingInfo"
2312#define NI_ENC_PARAM_AV1_OP_LEVEL "av1OpLevel"
2313#define NI_ENC_PARAM_ENABLE_CPU_AFFINITY "enableCpuAffinity"
2314#define NI_ENC_PARAM_PRESET "preset"
2542#define NI_DEC_PARAM_OUT "out"
2543#define NI_DEC_PARAM_ENABLE_OUT_1 "enableOut1"
2544#define NI_DEC_PARAM_ENABLE_OUT_2 "enableOut2"
2545#define NI_DEC_PARAM_FORCE_8BIT_0 "force8Bit0"
2546#define NI_DEC_PARAM_FORCE_8BIT_1 "force8Bit1"
2547#define NI_DEC_PARAM_FORCE_8BIT_2 "force8Bit2"
2548#define NI_DEC_PARAM_SEMI_PLANAR_0 "semiplanar0"
2549#define NI_DEC_PARAM_SEMI_PLANAR_1 "semiplanar1"
2550#define NI_DEC_PARAM_SEMI_PLANAR_2 "semiplanar2"
2551#define NI_DEC_PARAM_CROP_MODE_0 "cropMode0"
2552#define NI_DEC_PARAM_CROP_MODE_1 "cropMode1"
2553#define NI_DEC_PARAM_CROP_MODE_2 "cropMode2"
2554#define NI_DEC_PARAM_CROP_PARAM_0 "crop0"
2555#define NI_DEC_PARAM_CROP_PARAM_1 "crop1"
2556#define NI_DEC_PARAM_CROP_PARAM_2 "crop2"
2557#define NI_DEC_PARAM_SCALE_0 "scale0"
2558#define NI_DEC_PARAM_SCALE_1 "scale1"
2559#define NI_DEC_PARAM_SCALE_2 "scale2"
2560#define NI_DEC_PARAM_SCALE_0_LONG_SHORT_ADAPT "scale0LongShortAdapt"
2561#define NI_DEC_PARAM_SCALE_1_LONG_SHORT_ADAPT "scale1LongShortAdapt"
2562#define NI_DEC_PARAM_SCALE_2_LONG_SHORT_ADAPT "scale2LongShortAdapt"
2563#define NI_DEC_PARAM_SCALE_0_RES_CEIL "scale0ResCeil"
2564#define NI_DEC_PARAM_SCALE_1_RES_CEIL "scale1ResCeil"
2565#define NI_DEC_PARAM_SCALE_2_RES_CEIL "scale2ResCeil"
2566#define NI_DEC_PARAM_SCALE_0_ROUND "scale0Round"
2567#define NI_DEC_PARAM_SCALE_1_ROUND "scale1Round"
2568#define NI_DEC_PARAM_SCALE_2_ROUND "scale2Round"
2569#define NI_DEC_PARAM_MULTICORE_JOINT_MODE "multicoreJointMode"
2570#define NI_DEC_PARAM_SAVE_PKT "savePkt"
2571#define NI_DEC_PARAM_LOW_DELAY "lowDelay"
2572#define NI_DEC_PARAM_FORCE_LOW_DELAY "forceLowDelay"
2573#define NI_DEC_PARAM_MIN_PACKETS_DELAY "minPacketsDelay"
2574#define NI_DEC_PARAM_ENABLE_LOW_DELAY_CHECK "enableLowDelayCheck"
2575#define NI_DEC_PARAM_DISABLE_REORDER "disableReorder"
2576#define NI_DEC_PARAM_ENABLE_USR_DATA_SEI_PASSTHRU "enableUserDataSeiPassthru"
2577#define NI_DEC_PARAM_ENABLE_CUSTOM_SEI_PASSTHRU "customSeiPassthru"
2578#define NI_DEC_PARAM_SVC_T_DECODING_LAYER "svctDecodingLayer"
2579#define NI_DEC_PARAM_DDR_PRIORITY_MODE "ddrPriorityMode"
2580#define NI_DEC_PARAM_EC_POLICY "ecPolicy"
2581#define NI_DEC_PARAM_ENABLE_ADVANCED_EC "enableAdvancedEc"
2582#define NI_DEC_PARAM_ERROR_THRESHOLD "ecErrThreshold"
2583#define NI_DEC_PARAM_ENABLE_PPU_SCALE_ADAPT "enablePpuScaleAdapt"
2584#define NI_DEC_PARAM_ENABLE_PPU_SCALE_LIMIT "enablePpuScaleLimit"
2585#define NI_DEC_PARAM_MAX_EXTRA_HW_FRAME_CNT "maxExtraHwFrameCnt"
2586#define NI_DEC_PARAM_SKIP_PTS_GUESS "skipPtsGuess"
2587#define NI_DEC_PARAM_PKT_PTS_UNCHANGE "pktPtsUnchange"
2588#define NI_DEC_PARAM_ENABLE_ALL_SEI_PASSTHRU "enableAllSeiPassthru"
2589#define NI_DEC_PARAM_ENABLE_FOLLOW_IFRAME "enableFollowIFrame"
2590#define NI_DEC_PARAM_DISABLE_ADAPTIVE_BUFFERS "disableAdaptiveBuffers"
2591#define NI_DEC_PARAM_SURVIVE_STREAM_ERR "surviveStreamErr"
2592#define NI_DEC_PARAM_REDUCE_DPB_DELAY "reduceDpbDelay"
2593#define NI_DEC_PARAM_SKIP_EXTRA_HEADERS "skipExtraHeaders"
2594#define NI_DEC_PARAM_ENABLE_CPU_AFFINITY "enableCpuAffinity"
2859#ifndef DEPRECATION_AS_ERROR
3065#define NI_XCODER_PRESET_NAMES_ARRAY_LEN 7
3066#define NI_XCODER_LOG_NAMES_ARRAY_LEN 7
3068#define NI_XCODER_PRESET_NAME_NONE "none"
3069#define NI_XCODER_PRESET_NAME_VERYFAST "veryfast"
3070#define NI_XCODER_PRESET_NAME_FASTER "faster"
3071#define NI_XCODER_PRESET_NAME_FAST "fast"
3072#define NI_XCODER_PRESET_NAME_MEDIUM "medium"
3073#define NI_XCODER_PRESET_NAME_SLOW "slow"
3074#define NI_XCODER_PRESET_NAME_SLOWER "slower"
3075#define NI_XCODER_PRESET_NAME_VERYSLOW "veryslow"
3077#define NI_XCODER_LOG_NAME_NONE "none"
3078#define NI_XCODER_LOG_NAME_ERROR "error"
3079#define NI_XCODER_LOG_NAME_WARN "warning"
3080#define NI_XCODER_LOG_NAME_INFO "info"
3081#define NI_XCODER_LOG_NAME_DEBUG "debug"
3082#define NI_XCODER_LOG_NAME_FULL "full"
3145#ifndef DEPRECATION_AS_ERROR
3156 uint32_t *p_max_io_size_out);
3181#ifndef DEPRECATION_AS_ERROR
3463 uint32_t namespace_num, uint32_t sriov_index);
3496 ni_device_handle_t device_handle_t,
3497 uint32_t over_provision);
3523 int video_height,
int alignment,
3524 int metadata_flag,
int factor,
3525 int hw_frame_count,
int is_planar);
3552 int video_height,
int alignment,
3553 int metadata_flag,
int factor,
3554 int hw_frame_count,
int is_planar,
3558 int video_width,
int video_height,
3586 int video_height,
int alignment,
int factor,
int is_planar);
3611 ni_frame_t *pframe,
int video_width,
int video_height,
int linesize[],
3612 int alignment,
int extra_len,
bool alignment_2pass_wa);
3646 int video_width,
int video_height,
3647 int linesize[],
int extra_len,
3648 bool alignment_2pass_wa);
3682 int video_width,
int video_height,
3683 int linesize[],
int alignment,
3685 bool alignment_2pass_wa);
3807 int cur_size,
void *p_leftover,
int *p_prev_size);
3834 const uint8_t *raw_data,
int data_size);
3907 int fps_num,
int fps_denom,
3908 long bit_rate,
int width,
3945 const char *name,
char *value);
3997 uint32_t pool_size, uint32_t pool);
4018 uint32_t pool_size);
4137 int32_t device_handle);
4195 int rectangle_width,
4196 int rectangle_height,
4293 ni_frame_t *pframe,
int pixel_format,
int video_width,
int video_height,
4294 int linesize[],
int alignment,
int extra_len);
4387 int32_t intra_period);
4432 int32_t ltr_interval);
4472 int32_t max_frame_size);
4523 int32_t vbvMaxRate, int32_t vbvBufferSize);
4535 int32_t max_frame_size_ratio);
4628 uint8_t *p_data, uint32_t len,
4633 uint8_t *p_data, uint32_t len,
4655 int width,
int height,
int bit_depth,
int src_endian,
int planar);
4757 int width,
int height,
int bit_depth_factor,
ni_device_type_t device_type);
4889 int width,
int height,
4890 const int linesize[],
4915 const int linesize[],
const uint8_t *data[],
4916 int buf_size0,
int buf_size1,
int buf_size2,
4917 uint8_t *buf_data0, uint8_t *buf_data1, uint8_t *buf_data2);
4940 int video_width,
int video_height,
4941 const int linesize[],
const uint8_t *data[],
4963 int width,
int height,
4964 const int linesize[],
int pixel_format);
5042#ifndef DEPRECATION_AS_ERROR
5056 uint64_t ui64DestAddr,
5057 uint32_t ui32FrameSize);
5079 uint64_t ui64DestAddr,
5080 uint32_t ui32FrameSize);
5094 const int linesize[]);
Common NETINT definitions used by all modules.
#define NI_MAX_NUM_DATA_POINTERS
#define NI_MAX_DEVICE_NAME_LEN
#define MAX_AV1_ENCODER_GOP_NUM
#define NI_MAX_CUSTOM_SEI_CNT
#define NI_MAX_CONTEXTS_PER_HW_INSTANCE
#define NI_MAX_DEVICES_PER_HW_INSTANCE
#define NI_MAX_NUM_OF_DECODER_OUTPUTS
@ NI_DEVICE_TYPE_XCODER_MAX
#define NI_DEPRECATE_MACRO(X)
enum _ni_scaler_opcode ni_scaler_opcode_t
#define NI_MAX_PPU_PARAM_EXPR_CHAR
LIB_API ni_retcode_t ni_query_nvme_status(ni_session_context_t *p_ctx, ni_load_query_t *p_load_query)
Query NVMe load from the device.
enum _ni_ddr_priority_mode_t ni_ddr_priority_mode_t
LIB_API ni_retcode_t ni_frame_buffer_alloc_dl(ni_frame_t *p_frame, int video_width, int video_height, int pixel_format)
Allocate preliminary memory for the frame buffer based on provided parameters.
struct _ni_iovec ni_iovec_t
LIB_API ni_retcode_t ni_device_config_namespace_num(ni_device_handle_t device_handle, uint32_t namespace_num, uint32_t sriov_index)
Send namespace num and SRIOv index to the device with specified logic block address.
enum _ni_frame_pool_type ni_frame_pool_type_t
Frame pool type.
_ni_session_run_state
Session running state type.
@ SESSION_RUN_STATE_NORMAL
@ SESSION_RUN_STATE_SEQ_CHANGE_OPENING
@ SESSION_RUN_STATE_SEQ_CHANGE_DRAINING
@ SESSION_RUN_STATE_FLUSHING
@ SESSION_RUN_STATE_RESETTING
struct _ni_scaler_multi_drawbox_params_t ni_scaler_multi_drawbox_params_t
LIB_API void ni_close_event(ni_event_handle_t event_handle)
Close event and release resources (Windows only)
LIB_API int ni_encoder_session_read_stream_header(ni_session_context_t *p_ctx, ni_session_data_io_t *p_data)
Read encoder stream header from the device.
LIB_API ni_retcode_t ni_query_extra_info(ni_device_handle_t device_handle, ni_device_extra_info_t *p_dev_extra_info, uint8_t fw_rev[])
Query CompositeTemp from device.
LIB_API ni_retcode_t ni_encoder_params_set_value(ni_xcoder_params_t *p_params, const char *name, const char *value)
Set value referenced by name in encoder parameters structure.
enum _ni_param_change_flags ni_param_change_flags_t
This is an enumeration for encoder parameter change.
LIB_API ni_retcode_t ni_ai_frame_buffer_alloc(ni_frame_t *p_frame, ni_network_data_t *p_network)
Allocate input layers memory for AI frame buffer based on provided parameters taking into account wid...
LIB_API void ni_frame_free_aux_data(ni_frame_t *frame, ni_aux_data_type_t type)
If auxiliary data of the given type exists in the frame, free it and remove it from the frame.
LIB_API ni_retcode_t ni_set_ltr_interval(ni_session_context_t *p_ctx, int32_t ltr_interval)
Set Long Term Reference interval.
LIB_API ni_retcode_t ni_reconfig_vui(ni_session_context_t *p_ctx, ni_vui_hrd_t *vui)
Reconfigure VUI dynamically during encoding.
LIB_API ni_retcode_t ni_device_session_query_detail(ni_session_context_t *p_ctx, ni_device_type_t device_type, ni_instance_mgr_detail_status_t *detail_data)
Query detail session data from the device - If device_type is valid, will query session data from spe...
struct _ni_device_capability ni_device_capability_t
device capability type
struct _ni_enc_mastering_display_colour_volume ni_enc_mastering_display_colour_volume_t
encoded payload format of HDR SEI mastering display colour volume
LIB_API void ni_device_session_context_clear(ni_session_context_t *p_ctx)
Clear already allocated session context.
_ni_reconfig
This is an enumeration for encoder reconfiguration test settings.
@ XCODER_TEST_RECONF_MAX_FRAME_SIZE_RATIO
@ XCODER_TEST_RECONF_VBV_API
@ XCODER_TEST_RECONF_FRAMERATE_API
@ XCODER_TEST_RECONF_RC_MIN_MAX_QP_API
@ XCODER_TEST_RECONF_FRAMERATE
@ XCODER_TEST_RECONF_MAX_FRAME_SIZE
@ XCODER_TEST_RECONF_CRF_FLOAT
@ XCODER_TEST_RECONF_LTR_INTERVAL_API
@ XCODER_TEST_RECONF_SLICE_ARG
@ XCODER_TEST_RECONF_VUI_HRD
@ XCODER_TEST_RECONF_LTR_INTERVAL
@ XCODER_TEST_RECONF_LTR_API
@ XCODER_TEST_RECONF_INTRAPRD
@ XCODER_TEST_RECONF_SLICE_ARG_API
@ XCODER_TEST_RECONF_RC_MIN_MAX_QP
@ XCODER_TEST_CRF_FLOAT_API
@ XCODER_TEST_RECONF_VUI_HRD_API
@ XCODER_TEST_FORCE_IDR_FRAME
@ XCODER_TEST_RECONF_BR_API
@ XCODER_TEST_RECONF_MAX_FRAME_SIZE_API
@ XCODER_TEST_RECONF_LONG_TERM_REF
@ XCODER_TEST_RECONF_MAX_FRAME_SIZE_RATIO_API
@ XCODER_TEST_RECONF_RC_MIN_MAX_QP_REDUNDANT
@ XCODER_TEST_INVALID_REF_FRAME_API
@ XCODER_TEST_INVALID_REF_FRAME
@ XCODER_TEST_RECONF_INTRAPRD_API
@ XCODER_TEST_RECONF_RC_MIN_MAX_QP_API_REDUNDANT
@ QOS_MODE_ENABLED_NO_SHARE
struct _ni_aux_data ni_aux_data_t
_ni_frame_pool_type
Frame pool type.
struct _ni_buf_pool_t ni_buf_pool_t
union _ni_enc_avc_roi_custom_map ni_enc_avc_roi_custom_map_t
encoder AVC ROI custom map (1 MB = 8bits)
#define NI_BITRATE_RECONFIG_FILE_MAX_LINES
Max number of lines supported for the bitrate reconfig file.
_ni_custom_sei_location
This is an enumeration for illustrating the custom SEI locations.
@ NI_CUSTOM_SEI_LOC_AFTER_VCL
@ NI_CUSTOM_SEI_LOC_BEFORE_VCL
struct _ni_split_context_t ni_split_context_t
LIB_API ni_retcode_t ni_device_session_sequence_change(ni_session_context_t *p_ctx, int width, int height, int bit_depth_factor, ni_device_type_t device_type)
Send sequence change information to device.
LIB_API ni_retcode_t ni_uploader_frame_buffer_lock(ni_session_context_t *p_upl_ctx, ni_frame_t *p_frame)
Lock a hardware P2P frame prior to encoding.
struct _ni_frame_config ni_frame_config_t
#define NI_XCODER_LOG_NAMES_ARRAY_LEN
LIB_API const char *const g_xcoder_preset_names[NI_XCODER_PRESET_NAMES_ARRAY_LEN]
LIB_API ni_retcode_t ni_encoder_frame_buffer_alloc(ni_frame_t *pframe, int video_width, int video_height, int linesize[], int alignment, int extra_len, bool alignment_2pass_wa)
Allocate memory for the frame buffer for encoding based on given parameters, taking into account pic ...
#define NI_CC_SEI_TRAILER_LEN
LIB_API ni_retcode_t ni_p2p_send(ni_session_context_t *pSession, niFrameSurface1_t *source, uint64_t ui64DestAddr, uint32_t ui32FrameSize)
Initiate P2P transfer to another device (P2P write)
LIB_API ni_retcode_t ni_scaler_input_frame_alloc(ni_session_context_t *p_ctx, ni_scaler_input_params_t scaler_params, niFrameSurface1_t *p_src_surface)
allocate device input frame by hw descriptor. This call won't actually allocate a frame but sends the...
struct _ni_framerate ni_framerate_t
@ NI_QUADRA_NOTCODED_FRAME
@ NI_QUADRA_PREDICTED_FRAME
@ NI_QUADRA_BIDIR_PREDICTED_FRAME
LIB_API ni_retcode_t ni_device_config_qos_op(ni_device_handle_t device_handle, ni_device_handle_t device_handle_t, uint32_t over_provision)
Send qos over provisioning mode to target namespace with specified logic block address.
struct _ni_custom_sei ni_custom_sei_t
custom sei payload passthrough
LIB_API void ni_decoder_frame_buffer_pool_return_buf(ni_buf_t *buf, ni_buf_pool_t *p_buffer_pool)
Return a memory buffer to memory buffer pool, for a decoder frame.
LIB_API int ni_device_session_read(ni_session_context_t *p_ctx, ni_session_data_io_t *p_data, ni_device_type_t device_type)
Read data from the device If device_type is NI_DEVICE_TYPE_DECODER reads data packet from decoder If ...
LIB_API int ni_device_session_acquire_for_read(ni_session_context_t *p_upl_ctx, ni_frame_t *p_frame)
Acquire a P2P frame buffer from the hwupload session for P2P read.
enum _ni_session_run_state ni_session_run_state_t
Session running state type.
struct _ni_network_layer_offset ni_network_layer_offset_t
struct _niFrameSurface1 niFrameSurface1_t
struct _ni_session_context ni_session_context_t
struct _ni_dec_h265_vui_param ni_dec_h265_vui_param_t
decoded payload format of H.265 VUI
LIB_API ni_retcode_t ni_device_session_query_buffer_avail(ni_session_context_t *p_ctx, ni_device_type_t device_type)
Query the session if a buffer is available.
LIB_API ni_retcode_t ni_device_config_qos(ni_device_handle_t device_handle, uint32_t mode)
Send qos mode to the device with specified logic block address.
LIB_API ni_retcode_t ni_reconfig_bitrate(ni_session_context_t *p_ctx, int32_t bitrate)
Reconfigure bitrate dynamically during encoding.
@ NI_PIXEL_PLANAR_FORMAT_SEMIPLANAR
@ NI_PIXEL_PLANAR_FORMAT_TILED4X4
@ NI_PIXEL_PLANAR_FORMAT_PLANAR
struct _ni_queue_buffer_pool_t ni_queue_buffer_pool_t
struct _ni_network_layer_params_t ni_network_layer_params_t
LIB_API ni_retcode_t ni_device_session_query(ni_session_context_t *p_ctx, ni_device_type_t device_type)
Query session data from the device - If device_type is valid, will query session data from specified ...
LIB_API ni_retcode_t ni_encoder_frame_zerocopy_check(ni_session_context_t *p_enc_ctx, ni_xcoder_params_t *p_enc_params, int width, int height, const int linesize[], bool set_linesize)
Check if incoming frame is encoder zero copy compatible or not.
enum _ni_dec_crop_mode ni_dec_crop_mode
LIB_API ni_retcode_t ni_encoder_init_default_params(ni_xcoder_params_t *p_param, int fps_num, int fps_denom, long bit_rate, int width, int height, ni_codec_format_t codec_format)
Initialize default encoder parameters.
LIB_API int ni_device_session_hwup(ni_session_context_t *p_ctx, ni_session_data_io_t *p_src_data, niFrameSurface1_t *hwdesc)
Send raw YUV input to uploader instance and retrieve a HW descriptor to represent it.
LIB_API ni_retcode_t ni_scaler_frame_pool_alloc(ni_session_context_t *p_ctx, ni_scaler_input_params_t scaler_params)
init output pool of scaler frames
LIB_API ni_retcode_t ni_reconfig_max_frame_size_ratio(ni_session_context_t *p_ctx, int32_t max_frame_size_ratio)
Reconfigure maxFrameSizeRatio dynamically during encoding.
LIB_API ni_retcode_t ni_ai_config_hvsplus(ni_session_context_t *p_ctx, ni_network_data_t *p_network)
configure a hvsplus filter
struct _ni_scaler_input_params_t ni_scaler_input_params_t
LIB_API NI_DEPRECATED ni_device_handle_t ni_device_open(const char *dev, uint32_t *p_max_io_size_out)
Open device and return device device_handle if successful.
LIB_API ni_retcode_t ni_uploader_p2p_test_send(ni_session_context_t *p_upl_ctx, uint8_t *p_data, uint32_t len, ni_frame_t *p_hwframe)
Special P2P test API call. Copies YUV data from the software frame to the hardware P2P frame on the Q...
LIB_API ni_retcode_t ni_packet_buffer_free(ni_packet_t *ppacket)
Free packet buffer that was previously allocated with ni_packet_buffer_alloc.
struct _ni_category_classify ni_category_classify_t
LIB_API ni_retcode_t ni_device_alloc_frame(ni_session_context_t *p_ctx, int width, int height, int format, int options, int rectangle_width, int rectangle_height, int rectangle_x, int rectangle_y, int rgba_color, int frame_index, ni_device_type_t device_type)
Allocate a frame on the device for 2D engine or AI engine to work on based on provided parameters.
struct _ni_encoder_cfg_params ni_encoder_cfg_params_t
LIB_API ni_session_context_t * ni_device_session_context_alloc_init(void)
Allocate and initialize a new ni_session_context_t struct.
enum ni_qos_modes ni_qos_modes_t
struct _ni_decoder_input_params_t ni_decoder_input_params_t
LIB_API ni_retcode_t ni_enc_prep_reconf_demo_data(ni_session_context_t *p_enc_ctx, ni_frame_t *p_frame)
Convert various reconfig and demo modes (stored in encoder configuration) to aux data and store them ...
#define NI_CC_SEI_HDR_H264_LEN
LIB_API void ni_gop_params_check_set(ni_xcoder_params_t *p_param, char *value)
Set custom gop and prepare to check if success.
_ni_device_mode
Device access mode enumeration.
_ni_ai_buffer_quantize_format_e
@ NI_AI_BUFFER_QUANTIZE_DYNAMIC_FIXED_POINT
@ NI_AI_BUFFER_QUANTIZE_MAX
@ NI_AI_BUFFER_QUANTIZE_NONE
@ NI_AI_BUFFER_QUANTIZE_TF_ASYMM
LIB_API ni_retcode_t ni_scaler_dest_frame_alloc(ni_session_context_t *p_ctx, ni_scaler_input_params_t scaler_params, niFrameSurface1_t *p_surface)
allocate device destination frame from scaler hwframe pool
LIB_API ni_retcode_t ni_device_dec_session_save_hdrs(ni_session_context_t *p_ctx, uint8_t *hdr_data, uint8_t hdr_size)
Save a stream's headers in a decoder session that can be used later for continuous decoding from the ...
struct _ni_instance_mgr_detail_status_v1 ni_instance_mgr_detail_status_v1_t
#define NI_CUSTOMIZE_ROI_QP_NUM
Max number of entries per line supported for the qp number.
LIB_API ni_retcode_t ni_scaler_set_drawbox_params(ni_session_context_t *p_ctx, ni_scaler_drawbox_params_t *p_params)
Send a p_config command to configure scaling drawbox parameters.
LIB_API int ni_device_session_read_hwdesc(ni_session_context_t *p_ctx, ni_session_data_io_t *p_data, ni_device_type_t device_type)
Read data from the device If device_type is NI_DEVICE_TYPE_DECODER reads data hwdesc from decoder If ...
#define NI_MAX_CUSTOM_SEI_DATA
struct _ni_dec_h264_vui_param ni_dec_h264_vui_param_t
decoded payload format of H.264 VUI
LIB_API int ni_calculate_total_frame_size(const ni_session_context_t *p_upl_ctx, const int linesize[])
Calculate the total size of a frame based on the upload context attributes and includes rounding up t...
union _ni_enc_quad_roi_custom_map ni_enc_quad_roi_custom_map
encoder AVC ROI custom map (1 MB = 8bits)
struct _ni_thread_arg_struct_t ni_thread_arg_struct_t
LIB_API ni_retcode_t ni_p2p_recv(ni_session_context_t *pSession, const ni_p2p_sgl_t *dmaAddrs, ni_frame_t *pDstFrame)
Initiate a P2P transfer (P2P read)
struct _ni_instance_mgr_detail_status_append ni_instance_mgr_detail_status_append_t
LIB_API ni_retcode_t ni_encoder_set_input_frame_format(ni_session_context_t *p_enc_ctx, ni_xcoder_params_t *p_enc_params, int width, int height, int bit_depth, int src_endian, int planar)
Set the incoming frame format for the encoder.
struct _ni_long_term_ref ni_long_term_ref_t
LIB_API ni_retcode_t ni_encoder_frame_zerocopy_adjust(ni_session_context_t *p_enc_ctx, ni_frame_t *p_frame, int video_height, const int linesize[], const uint8_t *data[], int buf_size0, int buf_size1, int buf_size2, uint8_t *buf_data0, uint8_t *buf_data1, uint8_t *buf_data2)
Check if the frame data transferred is within a frame boundary and adjust with offset if it doesn't....
LIB_API ni_retcode_t ni_set_frame_ref_invalid(ni_session_context_t *p_ctx, int32_t frame_num)
Set frame reference invalidation.
struct _ni_content_light_level_info_bytes ni_content_light_level_info_bytes_t
payload format of HDR SEI content light level info
LIB_API int ni_device_session_hwdl(ni_session_context_t *p_ctx, ni_session_data_io_t *p_data, niFrameSurface1_t *hwdesc)
Read YUV data from hw descriptor stored location on device.
struct _ni_encoder_change_params_t ni_encoder_change_params_t
This is a data structure for encoding parameters that have changed.
@ NI_DEC_CROP_MODE_MANUAL
@ NI_DEC_CROP_MODE_DISABLE
LIB_API ni_retcode_t ni_scaler_set_watermark_params(ni_session_context_t *p_ctx, ni_scaler_watermark_params_t *p_params)
Send a p_config command to configure scaling watermark parameters.
struct _ni_hw_capability ni_hw_capability_t
hardware capability type
LIB_API ni_retcode_t ni_device_session_close(ni_session_context_t *p_ctx, int eos_received, ni_device_type_t device_type)
Close device session that was previously opened by calling ni_device_session_open() If device_type is...
struct _ni_packet ni_packet_t
LIB_API ni_retcode_t ni_encoder_frame_zerocopy_buffer_alloc(ni_frame_t *p_frame, int video_width, int video_height, const int linesize[], const uint8_t *data[], int extra_len)
Allocate memory for encoder zero copy (metadata, etc.) for encoding based on given parameters,...
@ NI_XCODER_READ_DESC_STATE
@ NI_XCODER_GENERAL_STATE
@ NI_XCODER_INTER_FLUSH_STATE
LIB_API ni_retcode_t ni_decoder_params_set_value(ni_xcoder_params_t *p_params, const char *name, char *value)
Set value referenced by name in decoder parameters structure.
@ NI_FRAME_AUX_DATA_MASTERING_DISPLAY_METADATA
@ NI_FRAME_AUX_DATA_BITRATE
@ NI_FRAME_AUX_DATA_SLICE_ARG
@ NI_FRAME_AUX_DATA_CRF_FLOAT
@ NI_FRAME_AUX_DATA_UDU_SEI
@ NI_FRAME_AUX_DATA_MAX_MIN_QP
@ NI_FRAME_AUX_DATA_CATEGORY_CLASSIFY
@ NI_FRAME_AUX_DATA_FRAMERATE
@ NI_FRAME_AUX_DATA_LTR_INTERVAL
@ NI_FRAME_AUX_DATA_HDR_PLUS
@ NI_FRAME_AUX_DATA_VBV_MAX_RATE
@ NI_FRAME_AUX_DATA_INTRAPRD
@ NI_FRAME_AUX_DATA_CUSTOM_SEI
@ NI_FRAME_AUX_DATA_MAX_FRAME_SIZE
@ NI_FRAME_AUX_DATA_INVALID_REF_FRAME
@ NI_FRAME_AUX_DATA_A53_CC
@ NI_FRAME_AUX_DATA_CONTENT_LIGHT_LEVEL
@ NI_FRAME_AUX_DATA_REGIONS_OF_INTEREST
@ NI_FRAME_AUX_DATA_LONG_TERM_REF
@ NI_FRAME_AUX_DATA_VBV_BUFFER_SIZE
struct _ni_load_query ni_load_query_t
LIB_API ni_retcode_t ni_packet_buffer_free_av1(ni_packet_t *ppacket)
Free packet buffer that was previously allocated with ni_packet_buffer_alloc for AV1 packets merge.
struct _ni_context_query ni_context_query_t
LIB_API NI_DEPRECATED ni_retcode_t ni_device_capability_query(ni_device_handle_t device_handle, ni_device_capability_t *p_cap)
Query device and return device capability structure This function had been replaced by ni_device_capa...
LIB_API ni_retcode_t ni_device_multi_config_frame(ni_session_context_t *p_ctx, ni_frame_config_t p_cfg_in[], int numInCfgs, ni_frame_config_t *p_cfg_out)
Config multiple frame on the device for 2D engined to work on based on provided parameters.
LIB_API ni_aux_data_t * ni_frame_new_aux_data(ni_frame_t *frame, ni_aux_data_type_t type, int data_size)
Add a new auxiliary data to a frame.
ni_h265_sei_user_data_type_t
@ NI_H265_USERDATA_FLAG_RESERVED_3
@ NI_H265_USERDATA_FLAG_UNREGISTERED_PRE
@ NI_H265_USERDATA_FLAG_ITU_T_T35_PRE
@ NI_H265_USERDATA_FLAG_ITU_T_T35_PRE_1
@ NI_H265_USERDATA_FLAG_ITU_T_T35_SUF
@ NI_H265_USERDATA_FLAG_RESERVED_1
@ NI_H265_USERDATA_FLAG_VUI
@ NI_H265_USERDATA_FLAG_ITU_T_T35_PRE_2
@ NI_H265_USERDATA_FLAG_RESERVED_9
@ NI_H265_USERDATA_FLAG_TONE_MAPPING_INFO
@ NI_H265_USERDATA_FLAG_PIC_TIMING
@ NI_H265_USERDATA_FLAG_RESERVED_0
@ NI_H265_USERDATA_FLAG_MASTERING_COLOR_VOL
@ NI_H265_USERDATA_FLAG_CHROMA_RESAMPLING_FILTER_HINT
@ NI_H265_USER_DATA_FLAG_COLOUR_REMAPPING_INFO
@ NI_H265_USERDATA_FLAG_ITU_T_T35_SUF_2
@ NI_H265_USER_DATA_FLAG_CONTENT_LIGHT_LEVEL_INFO
@ NI_H265_USERDATA_FLAG_ITU_T_T35_SUF_1
@ NI_H265_USERDATA_FLAG_KNEE_FUNCTION_INFO
@ NI_H265_USER_DATA_FLAG_FILM_GRAIN_CHARACTERISTICS_INFO
@ NI_H265_USERDATA_FLAG_UNREGISTERED_SUF
LIB_API ni_retcode_t ni_reconfig_min_max_qp(ni_session_context_t *p_ctx, ni_rc_min_max_qp *p_min_max_qp)
Reconfigure min&max qp dynamically during encoding.
LIB_API ni_retcode_t ni_ai_packet_buffer_alloc(ni_packet_t *p_packet, ni_network_data_t *p_network)
Allocate output layers memory for the packet buffer based on provided network.
LIB_API ni_retcode_t ni_reconfig_intraprd(ni_session_context_t *p_ctx, int32_t intra_period)
Reconfigure intraPeriod dynamically during encoding.
#define NI_ENC_PARAM_CONSTANT_RATE_FACTOR
LIB_API ni_event_handle_t ni_create_event(void)
Create event and return event handle if successful (Windows only)
LIB_API ni_retcode_t ni_hwframe_buffer_recycle2(niFrameSurface1_t *surface)
Recycle a hwframe buffer on card.
struct _ni_network_perf_metrics ni_network_perf_metrics_t
@ QOS_OP_CONFIG_REC_OP_CODE
LIB_API ni_retcode_t ni_reconfig_vbv_value(ni_session_context_t *p_ctx, int32_t vbvMaxRate, int32_t vbvBufferSize)
Reconfigure vbv buffer size and vbv max rate dynamically during encoding.
LIB_API ni_retcode_t ni_frame_buffer_alloc_pixfmt(ni_frame_t *pframe, int pixel_format, int video_width, int video_height, int linesize[], int alignment, int extra_len)
Allocate memory for the frame buffer based on provided parameters taking into account the pixel forma...
LIB_API ni_retcode_t ni_ai_session_read_metrics(ni_session_context_t *p_ctx, ni_network_perf_metrics_t *p_metrics)
Fetch perf metrics of inferences from device.
union _ni_enc_hevc_roi_custom_map ni_enc_hevc_roi_custom_map_t
encoder HEVC ROI custom map (1 CTU = 64bits)
struct _ni_ppu_config ni_ppu_config_t
LIB_API void ni_device_close(ni_device_handle_t dev)
Close device and release resources.
LIB_API ni_retcode_t ni_hwframe_p2p_buffer_recycle(ni_frame_t *p_frame)
Recycle hw P2P frames.
#define NI_HDR10P_SEI_HDR_H264_LEN
LIB_API int32_t ni_get_dma_buf_file_descriptor(const ni_frame_t *p_frame)
Get the DMA buffer file descriptor from the P2P frame.
LIB_API ni_retcode_t ni_ai_config_network_binary(ni_session_context_t *p_ctx, ni_network_data_t *p_network, const char *file)
configure a network context based with the network binary
@ H264_CODEC_PROFILE_EXTENDED
@ H264_CODEC_PROFILE_HIGH
@ H264_CODEC_PROFILE_BASELINE
@ H264_CODEC_PROFILE_MAIN
LIB_API ni_retcode_t ni_hwframe_buffer_recycle(niFrameSurface1_t *surface, int32_t device_handle)
Recycle a hwframe buffer on card.
LIB_API ni_retcode_t ni_force_idr_frame_type(ni_session_context_t *p_ctx)
Force next frame to be IDR frame during encoding.
LIB_API ni_retcode_t ni_uploader_frame_buffer_unlock(ni_session_context_t *p_upl_ctx, ni_frame_t *p_frame)
Unlock a hardware P2P frame after encoding.
enum _ni_vq_presets_e ni_vq_presets_e
LIB_API int ni_device_session_write(ni_session_context_t *p_ctx, ni_session_data_io_t *p_data, ni_device_type_t device_type)
Send data to the device If device_type is NI_DEVICE_TYPE_DECODER sends data packet to decoder If devi...
LIB_API ni_retcode_t ni_reconfig_crf(ni_session_context_t *p_ctx, int32_t crf)
Reconfigure crf value dynamically during encoding.
struct _ni_vui_hrd ni_vui_hrd_t
struct _ni_session_data_io ni_session_data_io_t
LIB_API ni_retcode_t ni_device_session_update_framepool(ni_session_context_t *p_ctx, uint32_t pool_size)
Sends frame pool change info to device.
LIB_API ni_retcode_t ni_device_capability_query2(ni_device_handle_t device_handle, ni_device_capability_t *p_cap, bool device_in_ctxt)
Query device and return device capability structure This function had replaced ni_device_capability_q...
struct _ni_rc_min_max_qp ni_rc_min_max_qp
LIB_API ni_retcode_t ni_reconfig_slice_arg(ni_session_context_t *p_ctx, int16_t sliceArg)
Reconfigure sliceArg dynamically during encoding.
LIB_API ni_retcode_t ni_device_alloc_and_get_firmware_logs(ni_session_context_t *p_ctx, void **p_log_buffer, bool gen_log_file)
Allocate log buffer if needed and retrieve firmware logs from device.
LIB_API ni_retcode_t ni_decoder_frame_buffer_alloc(ni_buf_pool_t *p_pool, ni_frame_t *pframe, int alloc_mem, int video_width, int video_height, int alignment, int factor, int is_planar)
Allocate memory for decoder frame buffer based on provided parameters; the memory is retrieved from a...
LIB_API bool ni_gop_params_check(ni_xcoder_params_t *p_param)
Check custom gop params set.
LIB_API ni_retcode_t ni_encoder_gop_params_set_value(ni_xcoder_params_t *p_params, const char *name, const char *value)
Set GOP parameter value referenced by name in encoder parameters structure.
LIB_API ni_retcode_t ni_scaler_p2p_frame_acquire(ni_session_context_t *p_ctx, niFrameSurface1_t *p_surface, int data_len)
Acquire the scaler P2P DMA buffer for read/write.
LIB_API ni_retcode_t ni_frame_buffer_alloc_hwenc(ni_frame_t *pframe, int video_width, int video_height, int extra_len)
Allocate memory for the hwDescriptor buffer based on provided parameters taking into account pic size...
LIB_API ni_retcode_t ni_decoder_init_default_params(ni_xcoder_params_t *p_param, int fps_num, int fps_denom, long bit_rate, int width, int height)
Initialize default decoder parameters.
enum _ni_custom_sei_location ni_custom_sei_location_t
This is an enumeration for illustrating the custom SEI locations.
LIB_API ni_retcode_t ni_device_clone_hwframe(ni_session_context_t *p_ctx, ni_frameclone_desc_t *p_frameclone_desc)
Copy the data of src hwframe to dst hwframe.
#define NI_CUSTOMIZE_ROI_QPOFFSET_LEVEL
Max number of lines supported for qpoffset level.
enum _ni_frame_aux_data_type ni_aux_data_type_t
struct _ni_gop_rps ni_gop_rps_t
@ HEVC_CODEC_PROFILE_MAIN10
@ HEVC_CODEC_PROFILE_MAIN
struct _ni_scaler_multi_watermark_params_t ni_scaler_multi_watermark_params_t
LIB_API ni_retcode_t ni_scaler_set_params(ni_session_context_t *p_ctx, ni_scaler_params_t *p_params)
Set parameters on the device for the 2D engine.
enum _ni_ai_buffer_format_e ni_ai_buffer_format_e
enum _ni_codec_format ni_codec_format_t
This is an enumeration for supported codec formats.
struct _ni_scaler_params_t ni_scaler_params_t
LIB_API int ni_packet_copy(void *p_destination, const void *const p_source, int cur_size, void *p_leftover, int *p_prev_size)
Copy video packet accounting for alignment.
struct _ni_overall_load_query ni_overall_load_query_t
LIB_API ni_retcode_t ni_device_session_context_init(ni_session_context_t *p_ctx)
Initialize already allocated session context to a known state.
#define NI_ENC_PARAM_MAX_FRAME_SIZE_LOW_DELAY
LIB_API ni_retcode_t ni_device_session_query_detail_v1(ni_session_context_t *p_ctx, ni_device_type_t device_type, ni_instance_mgr_detail_status_v1_t *detail_data)
Query detail session data from the device - If device_type is valid, will query session data from spe...
LIB_API ni_retcode_t ni_set_ltr(ni_session_context_t *p_ctx, ni_long_term_ref_t *ltr)
Set a frame's support of Long Term Reference frame during encoding.
@ NI_QUADRA_AV1_PROFILE_MAIN
struct _ni_frame ni_frame_t
LIB_API void ni_frame_wipe_aux_data(ni_frame_t *frame)
Free and remove all auxiliary data from the frame.
LIB_API ni_retcode_t ni_device_alloc_dst_frame(ni_session_context_t *p_ctx, niFrameSurface1_t *p_out_surface, ni_device_type_t device_type)
Allocate a frame on the device and return the frame index.
LIB_API void ni_device_session_context_free(ni_session_context_t *p_ctx)
Free previously allocated session context.
LIB_API ni_retcode_t ni_frame_buffer_alloc(ni_frame_t *p_frame, int video_width, int video_height, int alignment, int metadata_flag, int factor, int hw_frame_count, int is_planar)
Allocate preliminary memory for the frame buffer based on provided parameters. Applicable to YUV420 P...
struct _ni_input_frame ni_input_frame
LIB_API ni_retcode_t ni_uploader_p2p_test_load(ni_session_context_t *p_upl_ctx, uint8_t *p_data, uint32_t len, ni_frame_t *p_hwframe)
Special P2P test API function. Copies video data from the software frame to the hardware P2P frame on...
#define MAX_CHAR_IN_DEVICE_NAME
struct _ni_timestamp_table_t ni_timestamp_table_t
LIB_API NI_DEPRECATED ni_retcode_t ni_p2p_xfer(ni_session_context_t *pSession, niFrameSurface1_t *source, uint64_t ui64DestAddr, uint32_t ui32FrameSize)
Initiate P2P transfer (P2P write) (deprecated)
LIB_API ni_retcode_t ni_device_session_restart(ni_session_context_t *p_ctx, int video_width, int video_height, ni_device_type_t device_type)
Send a restart command after flush command Only support Encoder now.
#define NI_MAX_SUPPORT_DRAWBOX_NUM
LIB_API ni_retcode_t ni_encoder_sw_frame_buffer_alloc(bool planar, ni_frame_t *p_frame, int video_width, int video_height, int linesize[], int alignment, int extra_len, bool alignment_2pass_wa)
This API is a wrapper for ni_encoder_frame_buffer_alloc(), used for planar pixel formats,...
struct _ni_network_data ni_network_data_t
LIB_API ni_retcode_t ni_set_demo_roi_map(ni_session_context_t *p_enc_ctx)
Set up hard coded demo ROI map.
LIB_API ni_retcode_t ni_device_session_copy(ni_session_context_t *src_p_ctx, ni_session_context_t *dst_p_ctx)
Copy existing decoding session params for hw frame usage.
LIB_API ni_retcode_t ni_query_fl_fw_versions(ni_device_handle_t device_handle, ni_device_info_t *p_dev_info)
Query firmware loader and firmware versions from the device.
struct _ni_custom_sei_set ni_custom_sei_set_t
#define NI_MAX_SPATIAL_LAYERS
LIB_API int ni_device_session_acquire(ni_session_context_t *p_upl_ctx, ni_frame_t *p_frame)
Acquire a P2P frame buffer from the hwupload session.
#define NI_HDR10P_SEI_HDR_HEVC_LEN
#define NI_NAMESPACE_MAX_NUM
LIB_API ni_retcode_t ni_device_dec_session_flush(ni_session_context_t *p_ctx)
Flush a decoder session to get ready to continue decoding. Note: this is different from ni_device_ses...
LIB_API ni_retcode_t ni_query_vf_ns_id(ni_device_handle_t device_handle, ni_device_vf_ns_id_t *p_dev_ns_vf, uint8_t fw_rev[])
Query VF and NS id from device.
ni_codec_hw_actions
This is an enumeration for hw actions.
@ NI_CODEC_HW_PAYLOAD_OFFSET
_ni_codec_format
This is an enumeration for supported codec formats.
LIB_API ni_retcode_t ni_device_session_open(ni_session_context_t *p_ctx, ni_device_type_t device_type)
Open a new device session depending on the device_type parameter If device_type is NI_DEVICE_TYPE_DEC...
enum _ni_reconfig ni_reconfig_t
This is an enumeration for encoder reconfiguration test settings.
LIB_API ni_retcode_t ni_reconfig_framerate(ni_session_context_t *p_ctx, ni_framerate_t *framerate)
Reconfigure framerate dynamically during encoding.
struct _ni_scaler_drawbox_params_t ni_scaler_drawbox_params_t
LIB_API int ni_device_session_init_framepool(ni_session_context_t *p_ctx, uint32_t pool_size, uint32_t pool)
Send frame pool setup info to device.
struct _ni_extended_dec_metadata ni_extended_dec_metadata_t
@ NI_AI_BUFFER_FORMAT_INT8
@ NI_AI_BUFFER_FORMAT_FP64
@ NI_AI_BUFFER_FORMAT_FP32
@ NI_AI_BUFFER_FORMAT_CHAR
@ NI_AI_BUFFER_FORMAT_UINT16
@ NI_AI_BUFFER_FORMAT_UINT8
@ NI_AI_BUFFER_FORMAT_BFP16
@ NI_AI_BUFFER_FORMAT_FP16
@ NI_AI_BUFFER_FORMAT_INT64
@ NI_AI_BUFFER_FORMAT_UINT32
@ NI_AI_BUFFER_FORMAT_INT32
@ NI_AI_BUFFER_FORMAT_INT16
@ NI_AI_BUFFER_FORMAT_UINT64
struct _ni_rational ni_rational_t
#define NI_ENC_PARAM_GEN_HDRS
LIB_API ni_retcode_t ni_frame_buffer_alloc_nv(ni_frame_t *p_frame, int video_width, int video_height, int linesize[], int extra_len, bool alignment_2pass_wa)
Allocate memory for the frame buffer based on provided parameters taking into account pic line size a...
LIB_API ni_retcode_t ni_packet_buffer_alloc(ni_packet_t *ppacket, int packet_size)
Allocate memory for the packet buffer based on provided packet size.
struct _ni_dec_mastering_display_colour_volume_bytes ni_dec_mastering_display_colour_volume_bytes_t
decoded payload format of HDR SEI mastering display colour volume
LIB_API ni_retcode_t ni_frame_buffer_free(ni_frame_t *pframe)
Free frame buffer that was previously allocated with either ni_frame_buffer_alloc or ni_encoder_frame...
#define NI_MAX_SUPPORT_WATERMARK_NUM
struct _ni_queue_t ni_queue_t
enum ni_codec_hw_actions ni_codec_hw_actions_t
This is an enumeration for hw actions.
#define NI_BITRATE_RECONFIG_FILE_MAX_ENTRIES_PER_LINE
LIB_API ni_retcode_t ni_decoder_frame_buffer_free(ni_frame_t *pframe)
Free decoder frame buffer that was previously allocated with ni_decoder_frame_buffer_alloc,...
struct _ni_network_layer_info ni_network_layer_info_t
struct _ni_pkt_info ni_pkt_info
struct _ni_sei_header ni_sei_header_t
LIB_API ni_retcode_t ni_reconfig_crf2(ni_session_context_t *p_ctx, float crf)
Reconfigure crf float point value dynamically during encoding.
LIB_API ni_retcode_t ni_device_session_flush(ni_session_context_t *p_ctx, ni_device_type_t device_type)
Send a flush command to the device If device_type is NI_DEVICE_TYPE_DECODER sends EOS command to deco...
LIB_API ni_device_handle_t ni_device_open2(const char *dev, ni_device_mode_t mode)
Open device and return device device_handle if successful.
ni_enc_allocate_strategy_t
@ NI_ENC_MEM_ALLOCATE_STRATEGY_INVALID_MAX
@ NI_ENC_MEM_ALLOCATE_STRATEGY_REGION_1_FIRST
@ NI_ENC_MEM_ALLOCATE_STRATEGY_REGION_0_FIRST
@ NI_ENC_MEM_ALLOCATE_STRATEGY_DEFAULT
@ NI_ENC_MEM_ALLOCATE_STRATEGY_INVALID_MIN
#define NI_XCODER_PRESET_NAMES_ARRAY_LEN
#define NI_MAX_NUM_AUX_DATA_PER_FRAME
enum _ni_ai_buffer_quantize_format_e ni_ai_buffer_quantize_format_e
enum _ni_device_mode ni_device_mode_t
Device access mode enumeration.
struct _ni_gop_params ni_gop_params_t
struct _ni_region_of_interest ni_region_of_interest_t
@ NI_QUADRA_HEVC_PROFILE_MAIN
@ NI_QUADRA_HEVC_PROFILE_MAIN10
LIB_API ni_retcode_t ni_custom_packet_buffer_alloc(void *p_buffer, ni_packet_t *p_packet, int buffer_size)
Allocate packet buffer using a user provided pointer, the memory is expected to have already been all...
LIB_API ni_retcode_t ni_uploader_set_frame_format(ni_session_context_t *p_upl_ctx, int width, int height, ni_pix_fmt_t pixel_format, int isP2P)
Set the frame format for the uploader.
LIB_API ni_retcode_t ni_query_temperature(ni_device_handle_t device_handle, ni_device_temp_t *p_dev_temp, uint8_t fw_rev[])
Query CompositeTemp from device.
struct _ni_buf_t ni_buf_t
enum _ni_pixel_planar_format ni_pixel_planar_format
_ni_param_change_flags
This is an enumeration for encoder parameter change.
@ NI_SET_CHANGE_PARAM_INVALID_REF_FRAME
@ NI_SET_CHANGE_PARAM_RC_TARGET_RATE
@ NI_SET_CHANGE_PARAM_RC_FRAMERATE
@ NI_SET_CHANGE_PARAM_CRF
@ NI_SET_CHANGE_PARAM_LTR_INTERVAL
@ NI_SET_CHANGE_PARAM_RC_BIT_RATIO_LAYER
@ NI_SET_CHANGE_PARAM_CUSTOM_LAMBDA
@ NI_SET_CHANGE_PARAM_VBV
@ NI_SET_CHANGE_PARAM_RC2
@ NI_SET_CHANGE_PARAM_VUI_HRD_PARAM
@ NI_SET_CHANGE_PARAM_RC_MIN_MAX_QP
@ NI_SET_CHANGE_PARAM_DEPEND_SLICE
@ NI_SET_CHANGE_PARAM_SLICE_ARG
@ NI_SET_CHANGE_PARAM_INTRA_PERIOD
@ NI_SET_CHANGE_PARAM_PPS
@ NI_SET_CHANGE_PARAM_CUSTOM_MD
@ NI_SET_CHANGE_PARAM_MAX_FRAME_SIZE
@ NI_SET_CHANGE_PARAM_RDO
@ NI_SET_CHANGE_PARAM_INDEPEND_SLICE
LIB_API const char *const g_xcoder_log_names[NI_XCODER_LOG_NAMES_ARRAY_LEN]
LIB_API ni_retcode_t ni_reconfig_max_frame_size(ni_session_context_t *p_ctx, int32_t max_frame_size)
Reconfigure maxFrameSize dynamically during encoding.
enum ni_qos_codes ni_qos_codes_t
LIB_API ni_retcode_t ni_dec_reconfig_ppu_params(ni_session_context_t *p_session_ctx, ni_xcoder_params_t *p_param, ni_ppu_config_t *p_ppu_config)
Send a p_config command to reconfigure decoding ppu params.
LIB_API ni_retcode_t ni_uploader_frame_zerocopy_check(ni_session_context_t *p_upl_ctx, int width, int height, const int linesize[], int pixel_format)
Check if incoming frame is hwupload zero copy compatible or not.
@ NI_QUADRA_H264_PROFILE_BASELINE
@ NI_QUADRA_H264_PROFILE_HIGH
@ NI_QUADRA_H264_PROFILE_MAIN
@ NI_QUADRA_H264_PROFILE_EXTENDED
struct _ni_queue_node_t ni_queue_node_t
struct _ni_xcoder_params ni_xcoder_params_t
struct _ni_instance_mgr_detail_status ni_instance_mgr_detail_status_t
#define NI_CC_SEI_HDR_HEVC_LEN
struct _ni_custom_gop_params ni_custom_gop_params_t
LIB_API ni_aux_data_t * ni_frame_get_aux_data(const ni_frame_t *frame, ni_aux_data_type_t type)
Retrieve from the frame auxiliary data of a given type if exists.
LIB_API ni_retcode_t ni_enc_frame_buffer_alloc(ni_frame_t *p_frame, int video_width, int video_height, int alignment, int metadata_flag, int factor, int hw_frame_count, int is_planar, ni_pix_fmt_t pix_fmt)
Wrapper function for ni_frame_buffer_alloc. Meant to handle RGBA min. resoulution considerations for ...
LIB_API ni_retcode_t ni_device_config_frame(ni_session_context_t *p_ctx, ni_frame_config_t *p_cfg)
Config a frame on the device for 2D engined to work on based on provided parameters.
struct _ni_scaler_watermark_params_t ni_scaler_watermark_params_t
struct _ni_frameclone_desc ni_frameclone_desc_t
struct _ni_dec_win ni_dec_win_t
LIB_API ni_aux_data_t * ni_frame_new_aux_data_from_raw_data(ni_frame_t *frame, ni_aux_data_type_t type, const uint8_t *raw_data, int data_size)
Add a new auxiliary data to a frame and copy in the raw data.
Public definitions for managing NETINT video processing devices.
uint32_t number_of_buffers
struct _ni_buf_t * p_previous_buffer
struct _ni_buf_pool_t * pool
struct _ni_buf_t * p_next
struct _ni_buf_t * p_prev
struct _ni_buf_t * p_next_buffer
payload format of HDR SEI content light level info
uint16_t max_content_light_level
uint16_t max_pic_average_light_level
ni_gop_params_t pic_param[NI_MAX_GOP_NUM]
ni_custom_sei_t custom_sei[NI_MAX_CUSTOM_SEI_CNT]
custom sei payload passthrough
uint8_t data[NI_MAX_CUSTOM_SEI_DATA]
ni_custom_sei_location_t location
decoded payload format of H.264 VUI
int8_t max_num_reorder_frames
uint8_t overscan_appropriate_flag
int8_t chroma_sample_loc_type_bottom_field
uint8_t vui_timing_info_present_flag
int8_t log2_max_mv_length_horizontal
uint8_t vcl_hrd_parameters_present_flag
uint32_t vui_num_units_in_tick
uint8_t motion_vectors_over_pic_boundaries_flag
int8_t max_bits_per_mincu_denom
int8_t max_dec_frame_buffering
uint8_t aspect_ratio_info_present_flag
uint8_t low_delay_hrd_flag
uint8_t pic_struct_present_flag
int8_t chroma_sample_loc_type_top_field
uint8_t video_full_range_flag
int8_t max_bytes_per_pic_denom
uint8_t overscan_info_present_flag
int8_t log2_max_mv_length_vertical
uint8_t bitstream_restriction_flag
uint8_t chroma_loc_info_present_flag
uint8_t transfer_characteristics
uint8_t fixed_frame_rate_flag
uint8_t colour_description_present_flag
uint8_t nal_hrd_parameters_present_flag
uint8_t matrix_coefficients
uint8_t video_signal_type_present_flag
decoded payload format of H.265 VUI
ni_dec_win_t def_disp_win
uint8_t vui_poc_proportional_to_timing_flag
uint8_t restricted_ref_pic_lists_flag
uint8_t overscan_appropriate_flag
int8_t chroma_sample_loc_type_bottom_field
uint8_t vui_timing_info_present_flag
uint8_t default_display_window_flag
int8_t log2_max_mv_length_horizontal
uint32_t vui_num_units_in_tick
uint8_t motion_vectors_over_pic_boundaries_flag
int8_t max_bits_per_mincu_denom
uint8_t aspect_ratio_info_present_flag
uint8_t vui_hrd_parameters_present_flag
int8_t chroma_sample_loc_type_top_field
uint8_t neutral_chroma_indication_flag
uint8_t video_full_range_flag
int8_t max_bytes_per_pic_denom
uint8_t overscan_info_present_flag
uint8_t tiles_fixed_structure_flag
int8_t log2_max_mv_length_vertical
uint8_t bitstream_restriction_flag
int16_t vui_num_ticks_poc_diff_one_minus1
uint8_t chroma_loc_info_present_flag
int8_t min_spatial_segmentation_idc
uint8_t transfer_characteristics
uint8_t colour_description_present_flag
uint8_t frame_field_info_present_flag
uint8_t matrix_coefficients
uint8_t video_signal_type_present_flag
decoded payload format of HDR SEI mastering display colour volume
uint32_t min_display_mastering_luminance
uint32_t max_display_mastering_luminance
uint16_t display_primaries[3][2]
uint8_t xcoder_cnt[NI_DEVICE_TYPE_XCODER_MAX]
uint8_t fw_commit_time[26]
uint8_t serial_number[20]
uint8_t fw_commit_hash[41]
ni_hw_capability_t xcoder_devices[NI_MAX_DEVICES_PER_HW_INSTANCE]
uint8_t fw_branch_name[256]
uint8_t fw_build_time[26]
uint8_t xcoder_devices_cnt
encoded payload format of HDR SEI mastering display colour volume
uint32_t min_display_mastering_luminance
uint32_t max_display_mastering_luminance
uint16_t display_primaries[3][2]
int enable_dynamic_16x16_merge
int scene_change_detect_level
int linkFrameMaxIntraRatio
int intra_mb_refresh_mode
int preferred_transfer_characteristics
int motionConstrainedMode
int decoding_refresh_type
int enable_dynamic_32x32_merge
ni_custom_gop_params_t custom_gop_params
struct _ni_encoder_cfg_params::@16 rc
int enable_dynamic_8x8_merge
int av1_error_resilient_mode
int spatialLayerBitrate[NI_MAX_SPATIAL_LAYERS]
int crf_max_iframe_enable
float forceBframeQpfactor
int temporal_layers_enable
int pastFrameMaxIntraRatio
int av1OpLevel[NI_MAX_SPATIAL_LAYERS]
int spatial_layers_ref_base_layer
int long_term_ref_interval
int still_image_detect_level
int statistic_output_level
int enable_cu_level_rate_control
bool enable_all_sei_passthru
int max_consecutive_skip_num
int use_recommend_enc_params
int customize_roi_qp_level
bool disable_adaptive_buffers
This is a data structure for encoding parameters that have changed.
uint16_t aspectRatioHeight
uint16_t aspectRatioWidth
uint16_t rectangle_height
uint8_t inconsecutive_transfer
uint32_t data_len[NI_MAX_NUM_DATA_POINTERS]
unsigned int sei_hdr_mastering_display_color_vol_offset
unsigned int sei_hdr_content_light_level_info_offset
ni_codec_format_t src_codec
uint8_t preferred_characteristics_data_len
uint32_t vui_num_units_in_tick
uint32_t start_len[NI_MAX_NUM_DATA_POINTERS]
uint32_t start_buffer_size
uint8_t separate_metadata
unsigned int sei_hdr_plus_len
uint32_t metadata_buffer_size
unsigned int sei_hdr_plus_offset
uint8_t * p_data[NI_MAX_NUM_DATA_POINTERS]
unsigned int extra_data_len
unsigned int sei_total_len
unsigned int sei_cc_offset
unsigned int sei_user_data_unreg_len
ni_pic_type_t ni_pict_type
uint8_t use_cur_src_as_long_term_pic
ni_custom_sei_set_t * p_custom_sei_set
uint16_t hor_adjust_offset
unsigned int sei_hdr_content_light_level_info_len
ni_aux_data_t * aux_data[NI_MAX_NUM_AUX_DATA_PER_FRAME]
uint8_t * p_metadata_buffer
unsigned int sei_hdr_mastering_display_color_vol_len
int video_full_range_flag
unsigned int sei_user_data_unreg_offset
uint8_t use_long_term_ref
unsigned int sei_alt_transfer_characteristics_len
unsigned int sei_alt_transfer_characteristics_offset
ni_gop_rps_t rps[NI_MAX_REF_PIC]
uint16_t min_video_height
uint16_t max_video_height
uint8_t max_number_of_contexts
ni_instance_mgr_detail_status_append_t sInstDetailStatusAppend[NI_MAX_CONTEXTS_PER_HW_INSTANCE]
ni_instance_mgr_detail_status_t sInstDetailStatus[NI_MAX_CONTEXTS_PER_HW_INSTANCE]
uint32_t fw_share_mem_usage
uint32_t total_pixel_load
ni_context_query_t context_status[NI_MAX_CONTEXTS_PER_HW_INSTANCE]
uint32_t fw_p2p_mem_usage
uint32_t fw_video_shared_mem_usage
uint32_t active_hwuploaders
uint32_t fw_video_mem_usage
uint8_t use_cur_src_as_long_term_pic
uint8_t use_long_term_ref
ni_network_layer_offset_t * inset
ni_network_layer_info_t linfo
ni_network_layer_offset_t * outset
ni_network_layer_params_t * in_param
ni_network_layer_params_t * out_param
union _ni_network_layer_params_t::@13 quant_data
struct _ni_network_layer_params_t::@13::@15 affine
struct _ni_network_layer_params_t::@13::@14 dfp
uint32_t total_idle_cycles
uint32_t overall_fw_model_load
uint32_t overall_current_load
uint32_t overall_instance_count
uint32_t av1_data_len[MAX_AV1_ENCODER_GOP_NUM]
uint8_t scene_change_detected
uint8_t still_image_detected
uint8_t * av1_p_buffer[MAX_AV1_ENCODER_GOP_NUM]
ni_custom_sei_set_t * p_custom_sei_set
uint8_t * av1_p_data[MAX_AV1_ENCODER_GOP_NUM]
uint32_t av1_buffer_size[MAX_AV1_ENCODER_GOP_NUM]
uint16_t ppu_h[NI_MAX_NUM_OF_DECODER_OUTPUTS]
uint16_t ppu_w[NI_MAX_NUM_OF_DECODER_OUTPUTS]
ni_queue_node_t * p_used_tail
uint32_t number_of_buffers
ni_queue_node_t * p_free_head
ni_queue_node_t * p_used_head
ni_queue_node_t * p_free_tail
struct _ni_queue_node_t * p_previous_buffer
time_t checkout_timestamp
struct _ni_queue_node_t * p_next_buffer
struct _ni_queue_node_t * p_next
struct _ni_queue_node_t * p_prev
ni_queue_node_t * p_first
ni_scaler_drawbox_params_t multi_drawbox_params[NI_MAX_SUPPORT_DRAWBOX_NUM]
ni_scaler_watermark_params_t multi_watermark_params[NI_MAX_SUPPORT_WATERMARK_NUM]
bool enable_scaler_params
uint64_t pkt_offsets_index_min[NI_FIFO_SZ]
char blk_xcoder_name[MAX_CHAR_IN_DEVICE_NAME]
uint8_t itu_t_t35_hdr10p_sei_hdr_hevc[NI_HDR10P_SEI_HDR_HEVC_LEN]
int enable_user_data_sei_passthru
int16_t reconfig_slice_arg
uint32_t count_frame_num_in_sec
uint32_t hwd_chunk_offset
NI_DEPRECATED uint64_t prev_read_frame_time
int max_retry_fail_count[2]
ni_pthread_cond_t low_delay_sync_cond
ni_event_handle_t thread_event_handle
ni_queue_buffer_pool_t * buffer_pool
int reconfig_vbv_max_rate
ni_thread_arg_struct_t * keep_alive_thread_args
uint64_t ppu_reconfig_pkt_pos
int is_dec_pkt_512_aligned
uint32_t keep_alive_timeout
ni_session_statistic_t session_statistic
int mdcv_max_min_lum_data_len
int32_t ltr_frame_ref_invalid
uint8_t preferred_characteristics_data
uint8_t ui8_light_level_data[5]
char blk_dev_name[NI_MAX_DEVICE_NAME_LEN]
ni_device_handle_t sender_handle
ni_device_handle_t device_handle
int sei_hdr_content_light_level_info_len
uint32_t fps_change_detect_count
int flags_array[NI_FIFO_SZ]
ni_load_query_t load_query
int64_t last_pts_interval
ni_pthread_mutex_t * pext_mutex
uint64_t last_frame_offset
ni_custom_sei_set_t * pkt_custom_sei_set[NI_FIFO_SZ]
int pts_correction_num_faulty_dts
int sei_hdr_mastering_display_color_vol_len
ni_device_handle_t auto_dl_handle
uint32_t actual_video_width
uint8_t sei_trailer[NI_CC_SEI_TRAILER_LEN]
uint32_t force_low_delay_cnt
ni_aio_context_t aio_context
ni_network_data_t * network_data
uint64_t pkt_offsets_index[NI_FIFO_SZ]
uint32_t prev_fps
Params used in VFR mode Start///.
int reconfig_intra_period
uint8_t ui8_mdcv_max_min_lum_data[9]
uint8_t itu_t_t35_cc_sei_hdr_hevc[NI_CC_SEI_HDR_HEVC_LEN]
volatile uint64_t last_access_time
ni_enc_avc_roi_custom_map_t * avc_roi_map
void * p_master_display_meta_data
char dev_xcoder_name[MAX_CHAR_IN_DEVICE_NAME]
ni_pthread_t keep_alive_thread
uint8_t itu_t_t35_cc_sei_hdr_h264[NI_CC_SEI_HDR_H264_LEN]
ni_event_handle_t event_handle
ni_input_frame input_frame_fifo[120]
encoder:calculate PSNR start
uint32_t last_frame_dropped
ni_framerate_t last_framerate
int reconfig_vbv_buffer_size
uint32_t meta_size
Params used in VFR mode Done///.
uint8_t pending_bitstream_buffer_realloc
ni_device_handle_t blk_io_handle
uint32_t force_idr_intra_offset
uint32_t biggest_bitstream_buffer_allocated
int64_t pts_correction_last_dts
int hvsplus_level
encoder:calculate PSNR end
char stream_dir_name[256]
uint32_t scaler_operation
uint32_t max_nvme_io_size
uint64_t frame_pkt_offset
ni_overall_load_query_t overall_load_query
uint64_t pkt_pos[NI_FIFO_SZ]
ni_enc_hevc_roi_custom_map_t * hevc_roi_map
int64_t enc_pts_list[NI_FIFO_SZ]
ni_long_term_ref_t ltr_to_set
int enable_low_delay_check
int64_t pts_correction_last_pts
ni_timestamp_table_t * pts_table
ni_session_run_state_t session_run_state
ni_encoder_change_params_t * enc_change_params
ni_pthread_mutex_t low_delay_sync_mutex
uint32_t last_change_framenum
uint64_t session_timestamp
uint8_t itu_t_t35_hdr10p_sei_hdr_h264[NI_HDR10P_SEI_HDR_H264_LEN]
int64_t last_dts_interval
ni_enc_quad_roi_custom_map * roi_map
int16_t buffered_frame_index
uint32_t template_config_id
int64_t pts_offsets[NI_FIFO_SZ]
ni_timestamp_table_t * dts_queue
ni_region_of_interest_t * av_rois
uint32_t active_video_width
NI_DEPRECATED int64_t start_dts_offset
uint32_t active_video_height
uint32_t decoder_last_drop_frame_num
int pts_correction_num_faulty_pts
uint8_t * hevc_sub_ctu_roi_buf
ni_frame_pool_type_t pool_type
uint32_t passed_time_in_timebase_unit
uint32_t required_buf_size
uint32_t hwd_minor_offset
ni_buf_pool_t * dec_fme_buf_pool
union _ni_session_data_io::@19 data
ni_event_handle_t thread_event_handle
ni_pthread_mutex_t * p_mutex
uint32_t keep_alive_timeout
ni_device_handle_t device_handle
uint64_t session_timestamp
volatile uint64_t * plast_access_time
int32_t aspectRatioHeight
int force_pic_qp_demo_mode
ni_encoder_cfg_params_t cfg_enc_params
int8_t customize_roi_qp_map[NI_CUSTOMIZE_ROI_QPOFFSET_LEVEL][NI_CUSTOMIZE_ROI_QP_NUM]
ni_ddr_priority_mode_t ddr_priority_mode
ni_frame_t * p_first_frame
NI_DEPRECATED uint32_t pos_time_scale
ni_decoder_input_params_t dec_input_params
NI_DEPRECATED uint8_t ui8VuiRbsp[NI_MAX_VUI_SIZE]
int use_low_delay_poc_type
int color_transfer_characteristic
NI_DEPRECATED uint32_t pos_num_units_in_tick
NI_DEPRECATED uint32_t ui32VuiDataSizeBytes
NI_DEPRECATED uint32_t ui32VuiDataSizeBits
int video_full_range_flag
int reconf_hash[NI_BITRATE_RECONFIG_FILE_MAX_LINES][NI_BITRATE_RECONFIG_FILE_MAX_ENTRIES_PER_LINE]
encoder AVC ROI custom map (1 MB = 8bits)
struct _ni_enc_avc_roi_custom_map::@5 field
encoder HEVC ROI custom map (1 CTU = 64bits)
struct _ni_enc_hevc_roi_custom_map::@4 field
encoder AVC ROI custom map (1 MB = 8bits)
struct _ni_enc_quad_roi_custom_map::@6 field