libxcoder 5.6.0
Loading...
Searching...
No Matches
ni_libxcoder_dynamic_loading.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_libxcoder_dynamic_loading.h
24 *
25 * \brief Libxcoder API dynamic loading support for Linux
26 *
27 * \author Netflix, Inc. (2022)
28 ******************************************************************************/
29
30#pragma once
31
32#ifndef _NETINTLIBXCODERAPI_H_
33#define _NETINTLIBXCODERAPI_H_
34
35#include <dlfcn.h>
36
37#pragma GCC diagnostic push
38#pragma GCC diagnostic ignored "-Wunused-variable"
39
40#ifndef _NETINT_LIBXCODER_DYNAMIC_LOADING_TEST_
41#include <ni_av_codec.h>
42#include <ni_util.h>
43#include <ni_device_api.h>
44#include <ni_quadraprobe.h>
45#else
46#include "ni_av_codec.h"
47#include "ni_util.h"
48#include "ni_device_api.h"
49#include "ni_quadraprobe.h"
50#endif
51
52#pragma GCC diagnostic pop
53
54#define LIB_API
55
56/*
57 * Defines API function pointers
58 */
59//
60// Function pointers for ni_av_codec.h
61//
63typedef void (LIB_API* PNIDECRETRIEVEAUXDATA) (ni_frame_t *frame);
64typedef void (LIB_API* PNIENCPREPAUXDATA) (ni_session_context_t *p_enc_ctx, ni_frame_t *p_enc_frame, ni_frame_t *p_dec_frame, ni_codec_format_t codec_format, int should_send_sei_with_frame, uint8_t *mdcv_data, uint8_t *cll_data, uint8_t *cc_data, uint8_t *udu_data, uint8_t *hdrp_data);
65typedef void (LIB_API* PNIENCCOPYAUXDATA) (ni_session_context_t *p_enc_ctx, ni_frame_t *p_enc_frame, ni_frame_t *p_dec_frame, ni_codec_format_t codec_format, const uint8_t *mdcv_data, const uint8_t *cll_data, const uint8_t *cc_data, const uint8_t *udu_data, const uint8_t *hdrp_data, int is_hwframe, int is_semiplanar);
66typedef int (LIB_API* PNIENCWRITEFROMYUVBUFFER) (ni_session_context_t *p_ctx, ni_frame_t *p_enc_frame, uint8_t *p_yuv_buffer);
67typedef int (LIB_API* PNIEXTRACTCUSTOMSEI) (uint8_t *pkt_data, int pkt_size, long index, ni_packet_t *p_packet, uint8_t sei_type, int vcl_found);
68typedef int (LIB_API* PNIDECPACKETPARSE) (ni_session_context_t *p_session_ctx, ni_xcoder_params_t *p_param, uint8_t *data, int size, ni_packet_t *p_packet, int low_delay, int codec_format, int pkt_nal_bitmap, int custom_sei_type, int *svct_skip_next_packet, int *is_lone_sei_pkt);
69typedef int (LIB_API* PNIEXPANDFRAME) (ni_frame_t *dst, ni_frame_t *src, int dst_stride[], int raw_width, int raw_height, int ni_fmt, int nb_planes);
70typedef int (LIB_API* PNIRECONFIGPPUOUTPUT) (ni_session_context_t *p_session_ctx, ni_xcoder_params_t *p_param, ni_ppu_config_t *ppu_config);
71typedef int (LIB_API* PNIENCINSERTTIMECODE) (ni_session_context_t *p_enc_ctx, ni_frame_t *p_enc_frame, ni_timecode_t *p_timecode);
72//
73// Function pointers for ni_util.h
74//
75typedef void (LIB_API* PNIGETHWYUV420PDIM) (int width, int height, int bit_depth_factor, int is_semiplanar, int plane_stride[NI_MAX_NUM_DATA_POINTERS], int plane_height[NI_MAX_NUM_DATA_POINTERS]);
76typedef void (LIB_API* PNIGETFRAMEDIM) (int width, int height, ni_pix_fmt_t pix_fmt, int plane_stride[NI_MAX_NUM_DATA_POINTERS], int plane_height[NI_MAX_NUM_DATA_POINTERS]);
77typedef void (LIB_API* PNIGETMINFRAMEDIM) (int width, int height, ni_pix_fmt_t pix_fmt, int plane_stride[NI_MAX_NUM_DATA_POINTERS], int plane_height[NI_MAX_NUM_DATA_POINTERS]);
78typedef void (LIB_API* PNICOPYHWYUV420P) (uint8_t *p_dst[NI_MAX_NUM_DATA_POINTERS], uint8_t *p_src[NI_MAX_NUM_DATA_POINTERS], int width, int height, int bit_depth_factor, int is_semiplanar, int conf_win_right, int dst_stride[NI_MAX_NUM_DATA_POINTERS], int dst_height[NI_MAX_NUM_DATA_POINTERS], int src_stride[NI_MAX_NUM_DATA_POINTERS], int src_height[NI_MAX_NUM_DATA_POINTERS]);
79typedef void (LIB_API* PNICOPYFRAMEDATA) (uint8_t *p_dst[NI_MAX_NUM_DATA_POINTERS], uint8_t *p_src[NI_MAX_NUM_DATA_POINTERS], int frame_width, int frame_height, int factor, ni_pix_fmt_t pix_fmt, int conf_win_right, int dst_stride[NI_MAX_NUM_DATA_POINTERS], int dst_height[NI_MAX_NUM_DATA_POINTERS], int src_stride[NI_MAX_NUM_DATA_POINTERS], int src_height[NI_MAX_NUM_DATA_POINTERS]);
80typedef void (LIB_API* PNICOPYYUV444PTO420P) (uint8_t *p_dst0[NI_MAX_NUM_DATA_POINTERS], uint8_t *p_dst1[NI_MAX_NUM_DATA_POINTERS], uint8_t *p_src[NI_MAX_NUM_DATA_POINTERS], int width, int height, int factor, int mode);
81typedef int (LIB_API* PNIINSERTEMULATIONPREVENTBYTES) (uint8_t *buf, int size);
82typedef int (LIB_API* PNIREMOVEEMULATIONPREVENTBYTES) (uint8_t *buf, int size);
83typedef int32_t (LIB_API* PNIGETTIMEOFDAY) (struct timeval *p_tp, void *p_tzp);
84typedef uint64_t (LIB_API* PNIGETTIMENS) (void);
85typedef void (LIB_API* PNIUSLEEP) (int64_t usec);
86typedef char * (LIB_API* PNISTRTOK) (char *s, const char *delim, char **saveptr);
87typedef ni_retcode_t (LIB_API* PNISTRCPY) (char *dest, size_t dmax, const char *src);
88typedef ni_retcode_t (LIB_API* PNISTRNCPY) (char *dest, size_t dmax, const char *src, size_t slen);
89typedef ni_retcode_t (LIB_API* PNISTRERROR) (char *dest, size_t dmax, int errnum);
90typedef ni_retcode_t (LIB_API* PNISTRCAT) (char *dest, size_t dmax, const char *src);
91typedef ni_retcode_t (LIB_API* PNISTRNCAT) (char *dest, size_t dmax, const char *src, size_t slen);
92typedef ni_retcode_t (LIB_API* PNIFOPEN) (FILE **fp, const char *filename, const char *mode);
93typedef struct tm * (LIB_API* PNILOCALTIME) (struct tm *dest, const time_t *src);
94typedef int (LIB_API* PNIFSCANF) (FILE *stream, const char *fmt, ...);
95typedef int (LIB_API* PNIVSPRINTF) (char *dest, const size_t dmax, const char *fmt, va_list args);
96typedef int (LIB_API* PNISPRINTF) (char *dest, size_t dmax, const char *fmt, ...);
97typedef ni_retcode_t (LIB_API* PNINETWORKLAYERCONVERTOUTPUT) (float *dst, uint32_t num, ni_packet_t *p_packet, ni_network_data_t *p_network, uint32_t layer);
100typedef ni_retcode_t (LIB_API* PNINETWORKLAYERCONVERTTENSOR) (uint8_t *dst, uint32_t dst_len, const char *tensor_file, ni_network_layer_params_t *p_param);
101typedef ni_retcode_t (LIB_API* PNINETWORKCONVERTTENSORTODATA) (uint8_t *dst, uint32_t dst_len, float *src, uint32_t src_len, ni_network_layer_params_t *p_param);
102typedef ni_retcode_t (LIB_API* PNINETWORKCONVERTDATATOTENSOR) (float *dst, uint32_t dst_len, uint8_t *src, uint32_t src_len, ni_network_layer_params_t *p_param);
103typedef void (LIB_API* PNICALCULATESHA256) (const uint8_t aui8Data[], size_t ui32DataLength, uint8_t aui8Hash[]);
104typedef void (LIB_API* PNICOPYHWDESCRIPTORS) (uint8_t *p_dst[NI_MAX_NUM_DATA_POINTERS], uint8_t *p_src[NI_MAX_NUM_DATA_POINTERS]);
105typedef char * (LIB_API* PNIGETLIBXCODERAPIVER) (void);
106#ifndef DEPRECATION_AS_ERROR
107typedef char * (LIB_API* PNIGETCOMPATFWAPIVER) (void);
108#endif
109typedef void (LIB_API* PNIFMTFWAPIVERSTR) (const char ver_str[], char fmt_str[]);
110typedef int (LIB_API* PNICMPFWAPIVER) (const char ver1[], const char ver2[]);
111typedef char * (LIB_API* PNIGETLIBXCODERRELEASEVER) (void);
112typedef const char * (LIB_API* PNIGETRCTXT) (ni_retcode_t rc);
113typedef int (LIB_API* PNIPARAMGETKEYVALUE) (char *p_str, char *key, char *value);
114typedef int (LIB_API* PNIRETRIEVEXCODERPARAMS) (char xcoderParams[], ni_xcoder_params_t *params, ni_session_context_t *ctx);
115typedef int (LIB_API* PNIRETRIEVEXCODERGOP) (char xcoderGop[], ni_xcoder_params_t *params, ni_session_context_t *ctx);
116typedef int (LIB_API* PNIRETRIEVEDECODERPARAMS) (char xcoderParams[], ni_xcoder_params_t *params, ni_session_context_t *ctx);
117typedef int (LIB_API* PNIPTHREADMUTEXINIT) (ni_pthread_mutex_t *mutex);
118typedef int (LIB_API* PNIPTHREADMUTEXDESTROY) (ni_pthread_mutex_t *mutex);
119typedef int (LIB_API* PNIPTHREADMUTEXLOCK) (ni_pthread_mutex_t *mutex);
120typedef int (LIB_API* PNIPTHREADMUTEXUNLOCK) (ni_pthread_mutex_t *mutex);
121typedef int (LIB_API* PNIPTHREADCREATE) (ni_pthread_t *thread, const ni_pthread_attr_t *attr, void *(*start_routine)(void *), void *arg);
122typedef int (LIB_API* PNIPTHREADJOIN) (ni_pthread_t thread, void **value_ptr);
123typedef int (LIB_API* PNIPTHREADCONDINIT) (ni_pthread_cond_t *cond, const ni_pthread_condattr_t *attr);
124typedef int (LIB_API* PNIPTHREADCONDDESTROY) (ni_pthread_cond_t *cond);
125typedef int (LIB_API* PNIPTHREADCONDBROADCAST) (ni_pthread_cond_t *cond);
126typedef int (LIB_API* PNIPTHREADCONDWAIT) (ni_pthread_cond_t *cond, ni_pthread_mutex_t *mutex);
127typedef int (LIB_API* PNIPTHREADCONDSIGNAL) (ni_pthread_cond_t *cond);
128typedef int (LIB_API* PNIPTHREADCONDTIMEDWAIT) (ni_pthread_cond_t *cond, ni_pthread_mutex_t *mutex, const struct timespec *abstime);
129typedef int (LIB_API* PNIPTHREADSIGMASK) (int how, const ni_sigset_t *set, ni_sigset_t *oldset);
130typedef int (LIB_API* PNIPOSIXMEMALIGN) (void **memptr, size_t alignment, size_t size);
131typedef const char * (LIB_API* PNIAIERRNOTOSTR) (int rc);
132//
133
134//
135// Function pointers for ni_device_api.h
136//
141typedef ni_event_handle_t (LIB_API* PNICREATEEVENT) (void);
142typedef void (LIB_API* PNICLOSEEVENT) (ni_event_handle_t event_handle);
143#ifndef DEPRECATION_AS_ERROR
144typedef ni_device_handle_t (LIB_API* PNIDEVICEOPEN) (const char *dev, uint32_t *p_max_io_size_out);
145#endif
146typedef ni_device_handle_t (LIB_API* PNIDEVICEOPEN2) (const char *dev, ni_device_mode_t mode);
147typedef void (LIB_API* PNIDEVICECLOSE) (ni_device_handle_t dev);
148#ifndef DEPRECATION_AS_ERROR
149typedef ni_retcode_t (LIB_API* PNIDEVICECAPABILITYQUERY) (ni_device_handle_t device_handle, ni_device_capability_t *p_cap);
150#endif
151typedef ni_retcode_t (LIB_API* PNIDEVICECAPABILITYQUERY2) (ni_device_handle_t device_handle, ni_device_capability_t *p_cap, bool device_in_ctxt);
153typedef ni_retcode_t (LIB_API* PNIDEVICESESSIONCLOSE) (ni_session_context_t *p_ctx, int eos_received, ni_device_type_t device_type);
155typedef ni_retcode_t (LIB_API* PNIDEVICEDECSESSIONSAVEHDRS) (ni_session_context_t *p_ctx, uint8_t *hdr_data, uint8_t hdr_size);
162typedef ni_retcode_t (LIB_API* PNIDEVICECONFIGNAMESPACENUM) (ni_device_handle_t device_handle, uint32_t namespace_num, uint32_t sriov_index);
163typedef ni_retcode_t (LIB_API* PNIDEVICECONFIGQOS) (ni_device_handle_t device_handle, uint32_t mode);
164typedef ni_retcode_t (LIB_API* PNIDEVICECONFIGQOSOP) (ni_device_handle_t device_handle, ni_device_handle_t device_handle_t, uint32_t over_provision);
165typedef ni_retcode_t (LIB_API* PNIFRAMEBUFFERALLOC) (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);
166typedef ni_retcode_t (LIB_API* PNIENCFRAMEBUFFERALLOC) (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);
167typedef ni_retcode_t (LIB_API* PNIFRAMEBUFFERALLOCDL) (ni_frame_t *p_frame, int video_width, int video_height, int pixel_format);
168typedef ni_retcode_t (LIB_API* PNIDECODERFRAMEBUFFERALLOC) (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);
169typedef ni_retcode_t (LIB_API* PNIENCODERFRAMEBUFFERALLOC) (ni_frame_t *pframe, int video_width, int video_height, int linesize[], int alignment, int extra_len, bool alignment_2pass_wa);
173typedef ni_retcode_t (LIB_API* PNIFRAMEBUFFERALLOCNV) (ni_frame_t *p_frame, int video_width, int video_height, int linesize[], int extra_len, bool alignment_2pass_wa);
174typedef ni_retcode_t (LIB_API* PNIENCODERSWFRAMEBUFFERALLOC) (bool planar, ni_frame_t *p_frame, int video_width, int video_height, int linesize[], int alignment, int extra_len, bool alignment_2pass_wa);
178typedef ni_retcode_t (LIB_API* PNIPACKETBUFFERALLOC) (ni_packet_t *ppacket, int packet_size);
179typedef ni_retcode_t (LIB_API* PNICUSTOMPACKETBUFFERALLOC) (void *p_buffer, ni_packet_t *p_packet, int buffer_size);
182typedef int (LIB_API* PNIPACKETCOPY) (void *p_destination, const void *const p_source, int cur_size, void *p_leftover, int *p_prev_size);
183typedef ni_aux_data_t * (LIB_API* PNIFRAMENEWAUXDATA) (ni_frame_t *frame, ni_aux_data_type_t type, int data_size);
184typedef ni_aux_data_t * (LIB_API* PNIFRAMENEWAUXDATAFROMRAWDATA) (ni_frame_t *frame, ni_aux_data_type_t type, const uint8_t *raw_data, int data_size);
187typedef void (LIB_API* PNIFRAMEWIPEAUXDATA) (ni_frame_t *frame);
188typedef ni_retcode_t (LIB_API* PNIENCODERINITDEFAULTPARAMS) (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);
189typedef ni_retcode_t (LIB_API* PNIDECODERINITDEFAULTPARAMS) (ni_xcoder_params_t *p_param, int fps_num, int fps_denom, long bit_rate, int width, int height);
190typedef ni_retcode_t (LIB_API* PNIENCODERPARAMSSETVALUE) (ni_xcoder_params_t *p_params, const char *name, const char *value);
191typedef ni_retcode_t (LIB_API* PNIDECODERPARAMSSETVALUE) (ni_xcoder_params_t *p_params, const char *name, char *value);
192typedef ni_retcode_t (LIB_API* PNIENCODERGOPPARAMSSETVALUE) (ni_xcoder_params_t *p_params, const char *name, const char *value);
194typedef int (LIB_API* PNIDEVICESESSIONINITFRAMEPOOL) (ni_session_context_t *p_ctx, uint32_t pool_size, uint32_t pool);
199typedef ni_retcode_t (LIB_API* PNIFRAMEBUFFERALLOCHWENC) (ni_frame_t *pframe, int video_width, int video_height, int extra_len);
200typedef ni_retcode_t (LIB_API* PNIHWFRAMEBUFFERRECYCLE) (niFrameSurface1_t *surface, int32_t device_handle);
203typedef ni_retcode_t (LIB_API* PNIDEVICEALLOCFRAME) (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);
210typedef ni_retcode_t (LIB_API* PNIFRAMEBUFFERALLOCPIXFMT) (ni_frame_t *pframe, int pixel_format, int video_width, int video_height, int linesize[], int alignment, int extra_len);
215typedef ni_retcode_t (LIB_API* PNIRECONFIGBITRATE) (ni_session_context_t *p_ctx, int32_t bitrate);
219typedef ni_retcode_t (LIB_API* PNISETLTRINTERVAL) (ni_session_context_t *p_ctx, int32_t ltr_interval);
220typedef ni_retcode_t (LIB_API* PNISETFRAMEREFINVALID) (ni_session_context_t *p_ctx, int32_t frame_num);
222typedef ni_retcode_t (LIB_API* PNIRECONFIGMAXFRAMESIZE) (ni_session_context_t *p_ctx, int32_t max_frame_size);
228typedef ni_retcode_t (LIB_API* PNIUPLOADERP2PTESTSEND) (ni_session_context_t *p_upl_ctx, uint8_t *p_data, uint32_t len, ni_frame_t *p_hwframe);
229typedef ni_retcode_t (LIB_API* PNIUPLOADERP2PTESTLOAD) (ni_session_context_t *p_upl_ctx, uint8_t *p_data, uint32_t len, ni_frame_t *p_hwframe);
230typedef ni_retcode_t (LIB_API* PNIENCODERSETINPUTFRAMEFORMAT) (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);
231typedef ni_retcode_t (LIB_API* PNIUPLOADERSETFRAMEFORMAT) (ni_session_context_t *p_upl_ctx, int width, int height, ni_pix_fmt_t pixel_format, int isP2P);
235typedef int32_t (LIB_API* PNIGETDMABUFFILEDESCRIPTOR) (const ni_frame_t* p_frame);
236typedef ni_retcode_t (LIB_API* PNIDEVICESESSIONSEQUENCECHANGE) (ni_session_context_t *p_ctx, int width, int height, int bit_depth_factor, ni_device_type_t device_type);
239typedef ni_retcode_t (LIB_API* PNIQUERYFLFWVERSIONS) (ni_device_handle_t device_handle, ni_device_info_t *p_dev_info);
240typedef ni_retcode_t (LIB_API* PNIQUERYVFNSID) (ni_device_handle_t device_handle, ni_device_vf_ns_id_t *p_dev_ns_vf, uint8_t fw_rev[]);
241typedef ni_retcode_t (LIB_API* PNIQUERYTEMPERATURE) (ni_device_handle_t device_handle, ni_device_temp_t *p_dev_temp, uint8_t fw_rev[]);
242typedef ni_retcode_t (LIB_API* PNIQUERYEXTRAINFO) (ni_device_handle_t device_handle, ni_device_extra_info_t *p_dev_extra_info, uint8_t fw_rev[]);
243typedef ni_retcode_t (LIB_API* PNIENCODERFRAMEZEROCOPYCHECK) (ni_session_context_t *p_enc_ctx, ni_xcoder_params_t *p_enc_params, int width, int height, const int linesize[], bool set_linesize);
244typedef ni_retcode_t (LIB_API* PNIENCODERFRAMEZEROCOPYADJUST) (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);
245typedef ni_retcode_t (LIB_API* PNIENCODERFRAMEZEROCOPYBUFFERALLOC) (ni_frame_t *p_frame, int video_width, int video_height, const int linesize[], const uint8_t *data[], int extra_len);
246typedef ni_retcode_t (LIB_API* PNIUPLOADERFRAMEZEROCOPYCHECK) (ni_session_context_t *p_upl_ctx, int width, int height, const int linesize[], int pixel_format);
249typedef ni_retcode_t (LIB_API* PNIDEVICEALLOCANDGETFIRMWARELOGS) (ni_session_context_t *p_ctx, void** p_log_buffer, bool gen_log_file);
250typedef ni_retcode_t (LIB_API* PNIRECONFIGVBVVALUE) (ni_session_context_t *p_ctx, int32_t vbvMaxRate, int32_t vbvBufferSize);
254typedef void (LIB_API* PNIGOPPARAMSCHECKSET) (ni_xcoder_params_t *p_param, char *value);
256typedef ni_retcode_t (LIB_API* PNIRECONFIGMAXFRAMESIZERATIO) (ni_session_context_t *p_ctx, int32_t max_frame_size_ratio);
257typedef ni_retcode_t (LIB_API* PNIRECONFIGINTRAPRD) (ni_session_context_t *p_ctx, int32_t intra_period);
258#ifndef DEPRECATION_AS_ERROR
259typedef ni_retcode_t (LIB_API* PNIP2PXFER) (ni_session_context_t *pSession, niFrameSurface1_t *source, uint64_t ui64DestAddr, uint32_t ui32FrameSize);
260#endif
261typedef ni_retcode_t (LIB_API* PNIP2PSEND) (ni_session_context_t *pSession, niFrameSurface1_t *source, uint64_t ui64DestAddr, uint32_t ui32FrameSize);
262typedef int (LIB_API* PNICALCULATETOTALFRAMESIZE) (const ni_session_context_t *p_upl_ctx, const int linesize[]);
263typedef ni_retcode_t (LIB_API* PNIRECONFIGSLICEARG) (ni_session_context_t *p_ctx, int16_t sliceArg);
264typedef ni_retcode_t (LIB_API* PNIP2PRECV) (ni_session_context_t *pSession, const ni_p2p_sgl_t *dmaAddrs, ni_frame_t *pDstFrame);
265typedef ni_retcode_t (LIB_API* PNIDEVICESESSIONRESTART) (ni_session_context_t *p_ctx, int video_width, int video_height, ni_device_type_t device_type);
267//
268// Function pointers for ni_quadraprobe.h
269//
270typedef int (LIB_API* PNIRSRCLOGDUMP) (const char *outdir, bool core_reset_log);
271
272/* End API function pointers */
273
274
275
276/*
277 * Definition of _NETINT_LIBXCODER_API_FUNCTION_LIST
278 */
280{
281 //
282 // API function list for ni_av_codec.h
283 //
294 //
295 // API function list for ni_util.h
296 //
325#ifndef DEPRECATION_AS_ERROR
327#endif
351 //
352 // API function list for ni_device_api.h
353 //
360#ifndef DEPRECATION_AS_ERROR
362#endif
365#ifndef DEPRECATION_AS_ERROR
367#endif
477#ifndef DEPRECATION_AS_ERROR
479#endif
487//
488// Function pointers for ni_quadraprobe.h
489//
492
494public:
495 // NiLibxcoderAPICreateInstance
502 {
503 //
504 // Function/symbol loading for ni_av_codec.h
505 //
506 functionList->niShouldSendSeiWithFrame = reinterpret_cast<decltype(ni_should_send_sei_with_frame)*>(dlsym(lib,"ni_should_send_sei_with_frame"));
507 functionList->niDecRetrieveAuxData = reinterpret_cast<decltype(ni_dec_retrieve_aux_data)*>(dlsym(lib,"ni_dec_retrieve_aux_data"));
508 functionList->niEncPrepAuxData = reinterpret_cast<decltype(ni_enc_prep_aux_data)*>(dlsym(lib,"ni_enc_prep_aux_data"));
509 functionList->niEncCopyAuxData = reinterpret_cast<decltype(ni_enc_copy_aux_data)*>(dlsym(lib,"ni_enc_copy_aux_data"));
510 functionList->niEncWriteFromYuvBuffer = reinterpret_cast<decltype(ni_enc_write_from_yuv_buffer)*>(dlsym(lib,"ni_enc_write_from_yuv_buffer"));
511 functionList->niExtractCustomSei = reinterpret_cast<decltype(ni_extract_custom_sei)*>(dlsym(lib,"ni_extract_custom_sei"));
512 functionList->niDecPacketParse = reinterpret_cast<decltype(ni_dec_packet_parse)*>(dlsym(lib,"ni_dec_packet_parse"));
513 functionList->niExpandFrame = reinterpret_cast<decltype(ni_expand_frame)*>(dlsym(lib,"ni_expand_frame"));
514 functionList->niReconfigPpuOutput = reinterpret_cast<decltype(ni_reconfig_ppu_output)*>(dlsym(lib,"ni_reconfig_ppu_output"));
515 functionList->niEncInsertTimecode = reinterpret_cast<decltype(ni_enc_insert_timecode)*>(dlsym(lib,"ni_enc_insert_timecode"));
516 //
517 // Function/symbol loading for ni_util.h
518 //
519 functionList->niGetHwYuv420PDim = reinterpret_cast<decltype(ni_get_hw_yuv420p_dim)*>(dlsym(lib,"ni_get_hw_yuv420p_dim"));
520 functionList->niCopyHwYuv420P = reinterpret_cast<decltype(ni_copy_hw_yuv420p)*>(dlsym(lib,"ni_copy_hw_yuv420p"));
521 functionList->niCopyYuv444PTo420P = reinterpret_cast<decltype(ni_copy_yuv_444p_to_420p)*>(dlsym(lib,"ni_copy_yuv_444p_to_420p"));
522 functionList->niInsertEmulationPreventBytes = reinterpret_cast<decltype(ni_insert_emulation_prevent_bytes)*>(dlsym(lib,"ni_insert_emulation_prevent_bytes"));
523 functionList->niRemoveEmulationPreventBytes = reinterpret_cast<decltype(ni_remove_emulation_prevent_bytes)*>(dlsym(lib,"ni_remove_emulation_prevent_bytes"));
524 functionList->niGettimeofday = reinterpret_cast<decltype(ni_gettimeofday)*>(dlsym(lib,"ni_gettimeofday"));
525 functionList->niGettimeNs = reinterpret_cast<decltype(ni_gettime_ns)*>(dlsym(lib,"ni_gettime_ns"));
526 functionList->niUsleep = reinterpret_cast<decltype(ni_usleep)*>(dlsym(lib,"ni_usleep"));
527 functionList->niStrtok = reinterpret_cast<decltype(ni_strtok)*>(dlsym(lib,"ni_strtok"));
528 functionList->niStrcpy = reinterpret_cast<decltype(ni_strcpy)*>(dlsym(lib,"ni_strcpy"));
529 functionList->niStrncpy = reinterpret_cast<decltype(ni_strncpy)*>(dlsym(lib,"ni_strncpy"));
530 functionList->niStrerror = reinterpret_cast<decltype(ni_strerror)*>(dlsym(lib,"ni_strerror"));
531 functionList->niStrcat = reinterpret_cast<decltype(ni_strcat)*>(dlsym(lib,"ni_strcat"));
532 functionList->niStrncat = reinterpret_cast<decltype(ni_strncat)*>(dlsym(lib,"ni_strncat"));
533 functionList->niFopen = reinterpret_cast<decltype(ni_fopen)*>(dlsym(lib,"ni_fopen"));
534 functionList->niLocaltime = reinterpret_cast<decltype(ni_localtime)*>(dlsym(lib,"ni_localtime"));
535 functionList->niFscanf = reinterpret_cast<decltype(ni_fscanf)*>(dlsym(lib,"ni_fscanf"));
536 functionList->niVsprintf = reinterpret_cast<decltype(ni_vsprintf)*>(dlsym(lib,"ni_vsprintf"));
537 functionList->niSprintf = reinterpret_cast<decltype(ni_sprintf)*>(dlsym(lib,"ni_sprintf"));
538 functionList->niNetworkLayerConvertOutput = reinterpret_cast<decltype(ni_network_layer_convert_output)*>(dlsym(lib,"ni_network_layer_convert_output"));
539 functionList->niAiNetworkLayerSize = reinterpret_cast<decltype(ni_ai_network_layer_size)*>(dlsym(lib,"ni_ai_network_layer_size"));
540 functionList->niAiNetworkLayerDims = reinterpret_cast<decltype(ni_ai_network_layer_dims)*>(dlsym(lib,"ni_ai_network_layer_dims"));
541 functionList->niNetworkLayerConvertTensor = reinterpret_cast<decltype(ni_network_layer_convert_tensor)*>(dlsym(lib,"ni_network_layer_convert_tensor"));
542 functionList->niNetworkConvertTensorToData = reinterpret_cast<decltype(ni_network_convert_tensor_to_data)*>(dlsym(lib,"ni_network_convert_tensor_to_data"));
543 functionList->niNetworkConvertDataToTensor = reinterpret_cast<decltype(ni_network_convert_data_to_tensor)*>(dlsym(lib,"ni_network_convert_data_to_tensor"));
544 functionList->niCalculateSha256 = reinterpret_cast<decltype(ni_calculate_sha256)*>(dlsym(lib,"ni_calculate_sha256"));
545 functionList->niCopyHwDescriptors = reinterpret_cast<decltype(ni_copy_hw_descriptors)*>(dlsym(lib,"ni_copy_hw_descriptors"));
546 functionList->niGetLibxcoderApiVer = reinterpret_cast<decltype(ni_get_libxcoder_api_ver)*>(dlsym(lib,"ni_get_libxcoder_api_ver"));
547#ifndef DEPRECATION_AS_ERROR
548 functionList->niGetCompatFwApiVer = reinterpret_cast<decltype(ni_get_compat_fw_api_ver)*>(dlsym(lib,"ni_get_compat_fw_api_ver"));
549#endif
550 functionList->niFmtFwApiVerStr = reinterpret_cast<decltype(ni_fmt_fw_api_ver_str)*>(dlsym(lib,"ni_fmt_fw_api_ver_str"));
551 functionList->niCmpFwApiVer = reinterpret_cast<decltype(ni_cmp_fw_api_ver)*>(dlsym(lib,"ni_cmp_fw_api_ver"));
552 functionList->niGetLibxcoderReleaseVer = reinterpret_cast<decltype(ni_get_libxcoder_release_ver)*>(dlsym(lib,"ni_get_libxcoder_release_ver"));
553 functionList->niGetRcTxt = reinterpret_cast<decltype(ni_get_rc_txt)*>(dlsym(lib,"ni_get_rc_txt"));
554 functionList->niParamGetKeyValue = reinterpret_cast<decltype(ni_param_get_key_value)*>(dlsym(lib,"ni_param_get_key_value"));
555 functionList->niRetrieveXcoderParams = reinterpret_cast<decltype(ni_retrieve_xcoder_params)*>(dlsym(lib,"ni_retrieve_xcoder_params"));
556 functionList->niRetrieveXcoderGop = reinterpret_cast<decltype(ni_retrieve_xcoder_gop)*>(dlsym(lib,"ni_retrieve_xcoder_gop"));
557 functionList->niRetrieveDecoderParams = reinterpret_cast<decltype(ni_retrieve_decoder_params)*>(dlsym(lib,"ni_retrieve_decoder_params"));
558 functionList->niPthreadMutexInit = reinterpret_cast<decltype(ni_pthread_mutex_init)*>(dlsym(lib,"ni_pthread_mutex_init"));
559 functionList->niPthreadMutexDestroy = reinterpret_cast<decltype(ni_pthread_mutex_destroy)*>(dlsym(lib,"ni_pthread_mutex_destroy"));
560 functionList->niPthreadMutexLock = reinterpret_cast<decltype(ni_pthread_mutex_lock)*>(dlsym(lib,"ni_pthread_mutex_lock"));
561 functionList->niPthreadMutexUnlock = reinterpret_cast<decltype(ni_pthread_mutex_unlock)*>(dlsym(lib,"ni_pthread_mutex_unlock"));
562 functionList->niPthreadCreate = reinterpret_cast<decltype(ni_pthread_create)*>(dlsym(lib,"ni_pthread_create"));
563 functionList->niPthreadJoin = reinterpret_cast<decltype(ni_pthread_join)*>(dlsym(lib,"ni_pthread_join"));
564 functionList->niPthreadCondInit = reinterpret_cast<decltype(ni_pthread_cond_init)*>(dlsym(lib,"ni_pthread_cond_init"));
565 functionList->niPthreadCondDestroy = reinterpret_cast<decltype(ni_pthread_cond_destroy)*>(dlsym(lib,"ni_pthread_cond_destroy"));
566 functionList->niPthreadCondBroadcast = reinterpret_cast<decltype(ni_pthread_cond_broadcast)*>(dlsym(lib,"ni_pthread_cond_broadcast"));
567 functionList->niPthreadCondWait = reinterpret_cast<decltype(ni_pthread_cond_wait)*>(dlsym(lib,"ni_pthread_cond_wait"));
568 functionList->niPthreadCondSignal = reinterpret_cast<decltype(ni_pthread_cond_signal)*>(dlsym(lib,"ni_pthread_cond_signal"));
569 functionList->niPthreadCondTimedwait = reinterpret_cast<decltype(ni_pthread_cond_timedwait)*>(dlsym(lib,"ni_pthread_cond_timedwait"));
570 functionList->niPthreadSigmask = reinterpret_cast<decltype(ni_pthread_sigmask)*>(dlsym(lib,"ni_pthread_sigmask"));
571 functionList->niPosixMemalign = reinterpret_cast<decltype(ni_posix_memalign)*>(dlsym(lib,"ni_posix_memalign"));
572 functionList->niAiErrnoToStr = reinterpret_cast<decltype(ni_ai_errno_to_str)*>(dlsym(lib,"ni_ai_errno_to_str"));
573 //
574 // Function/symbol loading for ni_device_api.h
575 //
576 functionList->niDeviceSessionContextAllocInit = reinterpret_cast<decltype(ni_device_session_context_alloc_init)*>(dlsym(lib,"ni_device_session_context_alloc_init"));
577 functionList->niDeviceSessionContextInit = reinterpret_cast<decltype(ni_device_session_context_init)*>(dlsym(lib,"ni_device_session_context_init"));
578 functionList->niDeviceSessionContextClear = reinterpret_cast<decltype(ni_device_session_context_clear)*>(dlsym(lib,"ni_device_session_context_clear"));
579 functionList->niDeviceSessionContextFree = reinterpret_cast<decltype(ni_device_session_context_free)*>(dlsym(lib,"ni_device_session_context_free"));
580 functionList->niCreateEvent = reinterpret_cast<decltype(ni_create_event)*>(dlsym(lib,"ni_create_event"));
581 functionList->niCloseEvent = reinterpret_cast<decltype(ni_close_event)*>(dlsym(lib,"ni_close_event"));
582#ifndef DEPRECATION_AS_ERROR
583 functionList->niDeviceOpen = reinterpret_cast<decltype(ni_device_open)*>(dlsym(lib,"ni_device_open"));
584#endif
585 functionList->niDeviceOpen2 = reinterpret_cast<decltype(ni_device_open2)*>(dlsym(lib,"ni_device_open2"));
586 functionList->niDeviceClose = reinterpret_cast<decltype(ni_device_close)*>(dlsym(lib,"ni_device_close"));
587#ifndef DEPRECATION_AS_ERROR
588 functionList->niDeviceCapabilityQuery = reinterpret_cast<decltype(ni_device_capability_query)*>(dlsym(lib,"ni_device_capability_query"));
589#endif
590 functionList->niDeviceCapabilityQuery2 = reinterpret_cast<decltype(ni_device_capability_query2)*>(dlsym(lib,"ni_device_capability_query2"));
591 functionList->niDeviceSessionOpen = reinterpret_cast<decltype(ni_device_session_open)*>(dlsym(lib,"ni_device_session_open"));
592 functionList->niDeviceSessionClose = reinterpret_cast<decltype(ni_device_session_close)*>(dlsym(lib,"ni_device_session_close"));
593 functionList->niDeviceSessionFlush = reinterpret_cast<decltype(ni_device_session_flush)*>(dlsym(lib,"ni_device_session_flush"));
594 functionList->niDeviceDecSessionSaveHdrs = reinterpret_cast<decltype(ni_device_dec_session_save_hdrs)*>(dlsym(lib,"ni_device_dec_session_save_hdrs"));
595 functionList->niDeviceDecSessionFlush = reinterpret_cast<decltype(ni_device_dec_session_flush)*>(dlsym(lib,"ni_device_dec_session_flush"));
596 functionList->niDeviceSessionWrite = reinterpret_cast<decltype(ni_device_session_write)*>(dlsym(lib,"ni_device_session_write"));
597 functionList->niDeviceSessionRead = reinterpret_cast<decltype(ni_device_session_read)*>(dlsym(lib,"ni_device_session_read"));
598 functionList->niDeviceSessionQuery = reinterpret_cast<decltype(ni_device_session_query)*>(dlsym(lib,"ni_device_session_query"));
599 functionList->niDeviceSessionQueryDetail = reinterpret_cast<decltype(ni_device_session_query_detail)*>(dlsym(lib,"ni_device_session_query_detail"));
600 functionList->niDeviceSessionQueryDetailV1 = reinterpret_cast<decltype(ni_device_session_query_detail_v1)*>(dlsym(lib,"ni_device_session_query_detail_v1"));
601 functionList->niDeviceConfigNamespaceNum = reinterpret_cast<decltype(ni_device_config_namespace_num)*>(dlsym(lib,"ni_device_config_namespace_num"));
602 functionList->niDeviceConfigQos = reinterpret_cast<decltype(ni_device_config_qos)*>(dlsym(lib,"ni_device_config_qos"));
603 functionList->niDeviceConfigQosOp = reinterpret_cast<decltype(ni_device_config_qos_op)*>(dlsym(lib,"ni_device_config_qos_op"));
604 functionList->niFrameBufferAlloc = reinterpret_cast<decltype(ni_frame_buffer_alloc)*>(dlsym(lib,"ni_frame_buffer_alloc"));
605 functionList->niFrameBufferAllocDl = reinterpret_cast<decltype(ni_frame_buffer_alloc_dl)*>(dlsym(lib,"ni_frame_buffer_alloc_dl"));
606 functionList->niDecoderFrameBufferAlloc = reinterpret_cast<decltype(ni_decoder_frame_buffer_alloc)*>(dlsym(lib,"ni_decoder_frame_buffer_alloc"));
607 functionList->niEncoderFrameBufferAlloc = reinterpret_cast<decltype(ni_encoder_frame_buffer_alloc)*>(dlsym(lib,"ni_encoder_frame_buffer_alloc"));
608 functionList->niScalerDestFrameAlloc = reinterpret_cast<decltype(ni_scaler_dest_frame_alloc)*>(dlsym(lib,"ni_scaler_dest_frame_alloc"));
609 functionList->niScalerInputFrameAlloc = reinterpret_cast<decltype(ni_scaler_input_frame_alloc)*>(dlsym(lib,"ni_scaler_input_frame_alloc"));
610 functionList->niScalerFramePoolAlloc = reinterpret_cast<decltype(ni_scaler_frame_pool_alloc)*>(dlsym(lib,"ni_scaler_frame_pool_alloc"));
611 functionList->niFrameBufferAllocNv = reinterpret_cast<decltype(ni_frame_buffer_alloc_nv)*>(dlsym(lib,"ni_frame_buffer_alloc_nv"));
612 functionList->niEncoderSwFrameBufferAlloc = reinterpret_cast<decltype(ni_encoder_sw_frame_buffer_alloc)*>(dlsym(lib,"ni_encoder_sw_frame_buffer_alloc"));
613 functionList->niFrameBufferFree = reinterpret_cast<decltype(ni_frame_buffer_free)*>(dlsym(lib,"ni_frame_buffer_free"));
614 functionList->niDecoderFrameBufferFree = reinterpret_cast<decltype(ni_decoder_frame_buffer_free)*>(dlsym(lib,"ni_decoder_frame_buffer_free"));
615 functionList->niDecoderFrameBufferPoolReturnBuf = reinterpret_cast<decltype(ni_decoder_frame_buffer_pool_return_buf)*>(dlsym(lib,"ni_decoder_frame_buffer_pool_return_buf"));
616 functionList->niPacketBufferAlloc = reinterpret_cast<decltype(ni_packet_buffer_alloc)*>(dlsym(lib,"ni_packet_buffer_alloc"));
617 functionList->niCustomPacketBufferAlloc = reinterpret_cast<decltype(ni_custom_packet_buffer_alloc)*>(dlsym(lib,"ni_custom_packet_buffer_alloc"));
618 functionList->niPacketBufferFree = reinterpret_cast<decltype(ni_packet_buffer_free)*>(dlsym(lib,"ni_packet_buffer_free"));
619 functionList->niPacketBufferFreeAv1 = reinterpret_cast<decltype(ni_packet_buffer_free_av1)*>(dlsym(lib,"ni_packet_buffer_free_av1"));
620 functionList->niPacketCopy = reinterpret_cast<decltype(ni_packet_copy)*>(dlsym(lib,"ni_packet_copy"));
621 functionList->niFrameNewAuxData = reinterpret_cast<decltype(ni_frame_new_aux_data)*>(dlsym(lib,"ni_frame_new_aux_data"));
622 functionList->niFrameNewAuxDataFromRawData = reinterpret_cast<decltype(ni_frame_new_aux_data_from_raw_data)*>(dlsym(lib,"ni_frame_new_aux_data_from_raw_data"));
623 functionList->niFrameGetAuxData = reinterpret_cast<decltype(ni_frame_get_aux_data)*>(dlsym(lib,"ni_frame_get_aux_data"));
624 functionList->niFrameFreeAuxData = reinterpret_cast<decltype(ni_frame_free_aux_data)*>(dlsym(lib,"ni_frame_free_aux_data"));
625 functionList->niFrameWipeAuxData = reinterpret_cast<decltype(ni_frame_wipe_aux_data)*>(dlsym(lib,"ni_frame_wipe_aux_data"));
626 functionList->niEncoderInitDefaultParams = reinterpret_cast<decltype(ni_encoder_init_default_params)*>(dlsym(lib,"ni_encoder_init_default_params"));
627 functionList->niDecoderInitDefaultParams = reinterpret_cast<decltype(ni_decoder_init_default_params)*>(dlsym(lib,"ni_decoder_init_default_params"));
628 functionList->niEncoderParamsSetValue = reinterpret_cast<decltype(ni_encoder_params_set_value)*>(dlsym(lib,"ni_encoder_params_set_value"));
629 functionList->niDecoderParamsSetValue = reinterpret_cast<decltype(ni_decoder_params_set_value)*>(dlsym(lib,"ni_decoder_params_set_value"));
630 functionList->niEncoderGopParamsSetValue = reinterpret_cast<decltype(ni_encoder_gop_params_set_value)*>(dlsym(lib,"ni_encoder_gop_params_set_value"));
631 functionList->niDeviceSessionCopy = reinterpret_cast<decltype(ni_device_session_copy)*>(dlsym(lib,"ni_device_session_copy"));
632 functionList->niDeviceSessionInitFramepool = reinterpret_cast<decltype(ni_device_session_init_framepool)*>(dlsym(lib,"ni_device_session_init_framepool"));
633 functionList->niDeviceSessionReadHwdesc = reinterpret_cast<decltype(ni_device_session_read_hwdesc)*>(dlsym(lib,"ni_device_session_read_hwdesc"));
634 functionList->niDeviceSessionHwdl = reinterpret_cast<decltype(ni_device_session_hwdl)*>(dlsym(lib,"ni_device_session_hwdl"));
635 functionList->niDeviceSessionQueryBufferAvail = reinterpret_cast<decltype(ni_device_session_query_buffer_avail)*>(dlsym(lib,"ni_device_session_query_buffer_avail"));
636 functionList->niDeviceSessionHwup = reinterpret_cast<decltype(ni_device_session_hwup)*>(dlsym(lib,"ni_device_session_hwup"));
637 functionList->niFrameBufferAllocHwenc = reinterpret_cast<decltype(ni_frame_buffer_alloc_hwenc)*>(dlsym(lib,"ni_frame_buffer_alloc_hwenc"));
638 functionList->niHwframeBufferRecycle = reinterpret_cast<decltype(ni_hwframe_buffer_recycle)*>(dlsym(lib,"ni_hwframe_buffer_recycle"));
639 functionList->niHwframeBufferRecycle2 = reinterpret_cast<decltype(ni_hwframe_buffer_recycle2)*>(dlsym(lib,"ni_hwframe_buffer_recycle2"));
640 functionList->niScalerSetParams = reinterpret_cast<decltype(ni_scaler_set_params)*>(dlsym(lib,"ni_scaler_set_params"));
641 functionList->niDeviceAllocFrame = reinterpret_cast<decltype(ni_device_alloc_frame)*>(dlsym(lib,"ni_device_alloc_frame"));
642 functionList->niDeviceAllocDstFrame = reinterpret_cast<decltype(ni_device_alloc_dst_frame)*>(dlsym(lib,"ni_device_alloc_dst_frame"));
643 functionList->niDeviceCloneHwframe = reinterpret_cast<decltype(ni_device_clone_hwframe)*>(dlsym(lib,"ni_device_clone_hwframe"));
644 functionList->niDeviceConfigFrame = reinterpret_cast<decltype(ni_device_config_frame)*>(dlsym(lib,"ni_device_config_frame"));
645 functionList->niDeviceMultiConfigFrame = reinterpret_cast<decltype(ni_device_multi_config_frame)*>(dlsym(lib,"ni_device_multi_config_frame"));
646 functionList->niFrameBufferAllocPixfmt = reinterpret_cast<decltype(ni_frame_buffer_alloc_pixfmt)*>(dlsym(lib,"ni_frame_buffer_alloc_pixfmt"));
647 functionList->niAiConfigNetworkBinary = reinterpret_cast<decltype(ni_ai_config_network_binary)*>(dlsym(lib,"ni_ai_config_network_binary"));
648 functionList->niAiConfigHvsplus = reinterpret_cast<decltype(ni_ai_config_hvsplus)*>(dlsym(lib,"ni_ai_config_hvsplus"));
649 functionList->niAiFrameBufferAlloc = reinterpret_cast<decltype(ni_ai_frame_buffer_alloc)*>(dlsym(lib,"ni_ai_frame_buffer_alloc"));
650 functionList->niAiPacketBufferAlloc = reinterpret_cast<decltype(ni_ai_packet_buffer_alloc)*>(dlsym(lib,"ni_ai_packet_buffer_alloc"));
651 functionList->niReconfigBitrate = reinterpret_cast<decltype(ni_reconfig_bitrate)*>(dlsym(lib,"ni_reconfig_bitrate"));
652 functionList->niReconfigVui = reinterpret_cast<decltype(ni_reconfig_vui)*>(dlsym(lib,"ni_reconfig_vui"));
653 functionList->niForceIdrFrameType = reinterpret_cast<decltype(ni_force_idr_frame_type)*>(dlsym(lib,"ni_force_idr_frame_type"));
654 functionList->niSetLtr = reinterpret_cast<decltype(ni_set_ltr)*>(dlsym(lib,"ni_set_ltr"));
655 functionList->niSetLtrInterval = reinterpret_cast<decltype(ni_set_ltr_interval)*>(dlsym(lib,"ni_set_ltr_interval"));
656 functionList->niSetFrameRefInvalid = reinterpret_cast<decltype(ni_set_frame_ref_invalid)*>(dlsym(lib,"ni_set_frame_ref_invalid"));
657 functionList->niReconfigFramerate = reinterpret_cast<decltype(ni_reconfig_framerate)*>(dlsym(lib,"ni_reconfig_framerate"));
658 functionList->niReconfigMaxFrameSize = reinterpret_cast<decltype(ni_reconfig_max_frame_size)*>(dlsym(lib,"ni_reconfig_max_frame_size"));
659 functionList->niReconfigMinMaxQp = reinterpret_cast<decltype(ni_reconfig_min_max_qp)*>(dlsym(lib,"ni_reconfig_min_max_qp"));
660 functionList->niDeviceSessionAcquire = reinterpret_cast<decltype(ni_device_session_acquire)*>(dlsym(lib,"ni_device_session_acquire"));
661 functionList->niDeviceSessionAcquireForRead = reinterpret_cast<decltype(ni_device_session_acquire_for_read)*>(dlsym(lib,"ni_device_session_acquire_for_read"));
662 functionList->niUploaderFrameBufferLock = reinterpret_cast<decltype(ni_uploader_frame_buffer_lock)*>(dlsym(lib,"ni_uploader_frame_buffer_lock"));
663 functionList->niUploaderFrameBufferUnlock = reinterpret_cast<decltype(ni_uploader_frame_buffer_unlock)*>(dlsym(lib,"ni_uploader_frame_buffer_unlock"));
664 functionList->niUploaderP2PTestSend = reinterpret_cast<decltype(ni_uploader_p2p_test_send)*>(dlsym(lib,"ni_uploader_p2p_test_send"));
665 functionList->niUploaderP2PTestLoad = reinterpret_cast<decltype(ni_uploader_p2p_test_load)*>(dlsym(lib,"ni_uploader_p2p_test_load"));
666 functionList->niEncoderSetInputFrameFormat = reinterpret_cast<decltype(ni_encoder_set_input_frame_format)*>(dlsym(lib,"ni_encoder_set_input_frame_format"));
667 functionList->niUploaderSetFrameFormat = reinterpret_cast<decltype(ni_uploader_set_frame_format)*>(dlsym(lib,"ni_uploader_set_frame_format"));
668 functionList->niScalerP2PFrameAcquire = reinterpret_cast<decltype(ni_scaler_p2p_frame_acquire)*>(dlsym(lib,"ni_scaler_p2p_frame_acquire"));
669 functionList->niHwframeP2PBufferRecycle = reinterpret_cast<decltype(ni_hwframe_p2p_buffer_recycle)*>(dlsym(lib,"ni_hwframe_p2p_buffer_recycle"));
670 functionList->niEncoderSessionReadStreamHeader = reinterpret_cast<decltype(ni_encoder_session_read_stream_header)*>(dlsym(lib,"ni_encoder_session_read_stream_header"));
671 functionList->niGetDmaBufFileDescriptor = reinterpret_cast<decltype(ni_get_dma_buf_file_descriptor)*>(dlsym(lib,"ni_get_dma_buf_file_descriptor"));
672 functionList->niDeviceSessionSequenceChange = reinterpret_cast<decltype(ni_device_session_sequence_change)*>(dlsym(lib,"ni_device_session_sequence_change"));
673 functionList->niScalerSetDrawboxParams = reinterpret_cast<decltype(ni_scaler_set_drawbox_params)*>(dlsym(lib,"ni_scaler_set_drawbox_params"));
674 functionList->niScalerSetWatermarkParams = reinterpret_cast<decltype(ni_scaler_set_watermark_params)*>(dlsym(lib,"ni_scaler_set_watermark_params"));
675 functionList->niAiSessionReadMetrics = reinterpret_cast<decltype(ni_ai_session_read_metrics)*>(dlsym(lib,"ni_ai_session_read_metrics"));
676 functionList->niQueryNvmeStatus = reinterpret_cast<decltype(ni_query_nvme_status)*>(dlsym(lib,"ni_query_nvme_status"));
677 functionList->niQueryFlFwVersions = reinterpret_cast<decltype(ni_query_fl_fw_versions)*>(dlsym(lib,"ni_query_fl_fw_versions"));
678 functionList->niQueryVfNsId = reinterpret_cast<decltype(ni_query_vf_ns_id)*>(dlsym(lib,"ni_query_vf_ns_id"));
679 functionList->niQueryTemperature = reinterpret_cast<decltype(ni_query_temperature)*>(dlsym(lib,"ni_query_temperature"));
680 functionList->niQueryExtraInfo = reinterpret_cast<decltype(ni_query_extra_info)*>(dlsym(lib,"ni_query_extra_info"));
681 functionList->niEncoderFrameZerocopyCheck = reinterpret_cast<decltype(ni_encoder_frame_zerocopy_check)*>(dlsym(lib,"ni_encoder_frame_zerocopy_check"));
682 functionList->niEncoderFrameZerocopyAdjust = reinterpret_cast<decltype(ni_encoder_frame_zerocopy_adjust)*>(dlsym(lib,"ni_encoder_frame_zerocopy_adjust"));
683 functionList->niEncoderFrameZerocopyBufferAlloc = reinterpret_cast<decltype(ni_encoder_frame_zerocopy_buffer_alloc)*>(dlsym(lib,"ni_encoder_frame_zerocopy_buffer_alloc"));
684 functionList->niUploaderFrameZerocopyCheck = reinterpret_cast<decltype(ni_uploader_frame_zerocopy_check)*>(dlsym(lib,"ni_uploader_frame_zerocopy_check"));
685 functionList->niReconfigCrf = reinterpret_cast<decltype(ni_reconfig_crf)*>(dlsym(lib,"ni_reconfig_crf"));
686 functionList->niReconfigCrf2 = reinterpret_cast<decltype(ni_reconfig_crf2)*>(dlsym(lib,"ni_reconfig_crf2"));
687 functionList->niDeviceAllocAndGetFirmwareLogs = reinterpret_cast<decltype(ni_device_alloc_and_get_firmware_logs)*>(dlsym(lib,"ni_device_alloc_and_get_firmware_logs"));
688 functionList->niReconfigVbvValue = reinterpret_cast<decltype(ni_reconfig_vbv_value)*>(dlsym(lib,"ni_reconfig_vbv_value"));
689 functionList->niDeviceSessionUpdateFramepool = reinterpret_cast<decltype(ni_device_session_update_framepool)*>(dlsym(lib,"ni_device_session_update_framepool"));
690 functionList->niGetFrameDim = reinterpret_cast<decltype(ni_get_frame_dim)*>(dlsym(lib,"ni_get_frame_dim"));
691 functionList->niGetMinFrameDim = reinterpret_cast<decltype(ni_get_min_frame_dim)*>(dlsym(lib,"ni_get_min_frame_dim"));
692 functionList->niCopyFrameData = reinterpret_cast<decltype(ni_copy_frame_data)*>(dlsym(lib,"ni_copy_frame_data"));
693 functionList->niEncFrameBufferAlloc = reinterpret_cast<decltype(ni_enc_frame_buffer_alloc)*>(dlsym(lib,"ni_enc_frame_buffer_alloc"));
694 functionList->niSetDemoRoiMap = reinterpret_cast<decltype(ni_set_demo_roi_map)*>(dlsym(lib,"ni_set_demo_roi_map"));
695 functionList->niEncPrepReconfDemoData = reinterpret_cast<decltype(ni_enc_prep_reconf_demo_data)*>(dlsym(lib,"ni_enc_prep_reconf_demo_data"));
696 functionList->niGopParamsCheckSet = reinterpret_cast<decltype(ni_gop_params_check_set)*>(dlsym(lib,"ni_gop_params_check_set"));
697 functionList->niGopParamsCheck = reinterpret_cast<decltype(ni_gop_params_check)*>(dlsym(lib,"ni_gop_params_check"));
698 functionList->niReconfigMaxFrameSizeRatio = reinterpret_cast<decltype(ni_reconfig_max_frame_size_ratio)*>(dlsym(lib,"ni_reconfig_max_frame_size_ratio"));
699 functionList->niReconfigIntraprd = reinterpret_cast<decltype(ni_reconfig_intraprd)*>(dlsym(lib,"ni_reconfig_intraprd"));
700#ifndef DEPRECATION_AS_ERROR
701 functionList->niP2PXfer = reinterpret_cast<decltype(ni_p2p_xfer)*>(dlsym(lib,"ni_p2p_xfer"));
702#endif
703 functionList->niP2PSend = reinterpret_cast<decltype(ni_p2p_send)*>(dlsym(lib,"ni_p2p_send"));
704 functionList->niCalculateTotalFrameSize = reinterpret_cast<decltype(ni_calculate_total_frame_size)*>(dlsym(lib,"ni_calculate_total_frame_size"));
705 functionList->niReconfigSliceArg = reinterpret_cast<decltype(ni_reconfig_slice_arg)*>(dlsym(lib,"ni_reconfig_slice_arg"));
706 functionList->niP2PRecv = reinterpret_cast<decltype(ni_p2p_recv)*>(dlsym(lib,"ni_p2p_recv"));
707 functionList->niDeviceSessionRestart = reinterpret_cast<decltype(ni_device_session_restart)*>(dlsym(lib,"ni_device_session_restart"));
708 functionList->niDecReconfigPpuParams = reinterpret_cast<decltype(ni_dec_reconfig_ppu_params)*>(dlsym(lib,"ni_dec_reconfig_ppu_params"));
709 //
710 // Function pointers for ni_quadraprobe.h
711 //
712 functionList->niRsrcLogDump = reinterpret_cast<decltype(ni_rsrc_log_dump)*>(dlsym(lib,"ni_rsrc_log_dump"));
713
714 }
715};
716
717
718#endif // _NETINTLIBXCODERAPI_H_
719
static void NiLibxcoderAPICreateInstance(void *lib, NETINT_LIBXCODER_API_FUNCTION_LIST *functionList)
void ni_dec_retrieve_aux_data(ni_frame_t *frame)
Retrieve auxiliary data (close caption, various SEI) associated with this frame that is returned by d...
int ni_extract_custom_sei(uint8_t *pkt_data, int pkt_size, long index, ni_packet_t *p_packet, uint8_t sei_type, int vcl_found)
Extract custom sei payload data from pkt_data, and save it to ni_packet_t.
int ni_should_send_sei_with_frame(ni_session_context_t *p_enc_ctx, ni_pic_type_t pic_type, ni_xcoder_params_t *p_param)
Whether SEI (HDR) should be sent together with this frame to encoder.
void ni_enc_prep_aux_data(ni_session_context_t *p_enc_ctx, ni_frame_t *p_enc_frame, ni_frame_t *p_dec_frame, ni_codec_format_t codec_format, int should_send_sei_with_frame, uint8_t *mdcv_data, uint8_t *cll_data, uint8_t *cc_data, uint8_t *udu_data, uint8_t *hdrp_data)
Prepare auxiliary data that should be sent together with this frame to encoder based on the auxiliary...
int ni_expand_frame(ni_frame_t *dst, ni_frame_t *src, int dst_stride[], int raw_width, int raw_height, int ni_fmt, int nb_planes)
Expand frame form src frame.
int ni_reconfig_ppu_output(ni_session_context_t *p_session_ctx, ni_xcoder_params_t *p_param, ni_ppu_config_t *ppu_config)
Reset decoder ppu resolution.
LIB_API int ni_enc_insert_timecode(ni_session_context_t *p_enc_ctx, ni_frame_t *p_enc_frame, ni_timecode_t *p_timecode)
Insert timecode data into picture timing SEI (H264) or time code SEI (H265)
int ni_dec_packet_parse(ni_session_context_t *p_session_ctx, ni_xcoder_params_t *p_param, uint8_t *data, int size, ni_packet_t *p_packet, int low_delay, int codec_format, int pkt_nal_bitmap, int custom_sei_type, int *svct_skip_next_packet, int *is_lone_sei_pkt)
Decode parse packet.
int ni_enc_write_from_yuv_buffer(ni_session_context_t *p_ctx, ni_frame_t *p_enc_frame, uint8_t *p_yuv_buffer)
Send an input data frame to the encoder with YUV data given in the inputs.
void ni_enc_copy_aux_data(ni_session_context_t *p_enc_ctx, ni_frame_t *p_enc_frame, ni_frame_t *p_dec_frame, ni_codec_format_t codec_format, const uint8_t *mdcv_data, const uint8_t *cll_data, const uint8_t *cc_data, const uint8_t *udu_data, const uint8_t *hdrp_data, int is_hwframe, int is_semiplanar)
Copy auxiliary data that should be sent together with this frame to encoder.
Audio/video related utility definitions.
#define NI_MAX_NUM_DATA_POINTERS
Definition ni_defs.h:244
ni_device_type_t
Definition ni_defs.h:356
ni_retcode_t
Definition ni_defs.h:442
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)
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
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.
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...
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.
void ni_gop_params_check_set(ni_xcoder_params_t *p_param, char *value)
Set custom gop and prepare to check if success.
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.
ni_retcode_t ni_ai_config_hvsplus(ni_session_context_t *p_ctx, ni_network_data_t *p_network)
configure a hvsplus filter
NI_DEPRECATED ni_device_handle_t ni_device_open(const char *p_dev, uint32_t *p_max_io_size_out)
Open device and return device device_handle if successful.
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.
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...
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,...
void ni_frame_wipe_aux_data(ni_frame_t *frame)
Free and remove all auxiliary data from the frame.
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...
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_retcode_t ni_reconfig_intraprd(ni_session_context_t *p_ctx, int32_t intra_period)
Reconfigure intraPeriod dynamically during encoding.
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.
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.
ni_retcode_t ni_frame_buffer_alloc_pixfmt(ni_frame_t *p_frame, 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...
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.
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...
ni_retcode_t ni_frame_buffer_free(ni_frame_t *p_frame)
Free frame buffer that was previously allocated with either ni_frame_buffer_alloc or ni_encoder_frame...
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.
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.
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...
void ni_device_session_context_free(ni_session_context_t *p_ctx)
Free previously allocated session context.
int ni_device_session_hwdl(ni_session_context_t *p_ctx, ni_session_data_io_t *p_data, niFrameSurface1_t *hwdesc)
Reads YUV data from hw descriptor stored location on device.
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.
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...
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
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.
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.
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.
ni_retcode_t ni_device_session_close(ni_session_context_t *p_ctx, int eos_recieved, ni_device_type_t device_type)
Close device session that was previously opened by calling ni_device_session_open() If device_type is...
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...
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...
ni_event_handle_t ni_create_event(void)
Create event and return event handle if successful (Windows only)
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.
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.
ni_retcode_t ni_packet_buffer_free(ni_packet_t *p_packet)
Free packet buffer that was previously allocated with ni_packet_buffer_alloc.
int ni_device_session_hwup(ni_session_context_t *p_ctx, ni_session_data_io_t *p_src_data, niFrameSurface1_t *hwdesc)
Sends raw YUV input to uploader instance and retrieves a HW descriptor to represent it.
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.
ni_retcode_t ni_hwframe_p2p_buffer_recycle(ni_frame_t *p_frame)
Recycle hw P2P frames.
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.
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.
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 function. Copies YUV data from the software frame to the hardware P2P frame on t...
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 ...
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...
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.
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
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_retcode_t ni_hwframe_buffer_recycle2(niFrameSurface1_t *surface)
Recycle a frame buffer on card, only hwframe descriptor is needed.
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 ...
ni_retcode_t ni_hwframe_buffer_recycle(niFrameSurface1_t *surface, int32_t device_handle)
Recycle a frame buffer on card.
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.
ni_session_context_t * ni_device_session_context_alloc_init(void)
Allocate and initialize a new ni_session_context_t struct.
ni_retcode_t ni_reconfig_max_frame_size(ni_session_context_t *p_ctx, int32_t max_frame_size)
Reconfigure maxFrameSize dynamically during encoding.
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.
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...
bool ni_gop_params_check(ni_xcoder_params_t *p_param)
Check custom gop params set.
int ni_device_session_acquire(ni_session_context_t *p_ctx, ni_frame_t *p_frame)
Acquire a P2P frame buffer from the hwupload session.
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_retcode_t ni_set_ltr_interval(ni_session_context_t *p_ctx, int32_t ltr_interval)
Set Long Term Reference interval.
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.
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 outgoing frame format for the uploader.
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.
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.
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.
ni_retcode_t ni_device_session_context_init(ni_session_context_t *p_ctx)
Initialize already allocated session context to a known state.
ni_retcode_t ni_force_idr_frame_type(ni_session_context_t *p_ctx)
Force next frame to be IDR frame during encoding.
ni_retcode_t ni_reconfig_framerate(ni_session_context_t *p_ctx, ni_framerate_t *framerate)
Reconfigure framerate dynamically during encoding.
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...
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...
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.
ni_retcode_t ni_reconfig_crf(ni_session_context_t *p_ctx, int32_t crf)
Reconfigure crf value dynamically during encoding.
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...
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 ...
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.
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_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.
void ni_close_event(ni_event_handle_t event_handle)
Close event and release resources (Windows only)
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.
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.
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.
ni_retcode_t ni_device_config_frame(ni_session_context_t *p_ctx, ni_frame_config_t *p_cfg)
Configure the 2D engine to work based on provided parameters.
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)
int ni_device_session_acquire_for_read(ni_session_context_t *p_ctx, ni_frame_t *p_frame)
Acquire a P2P frame buffer from the hwupload session for P2P read.
ni_retcode_t ni_reconfig_crf2(ni_session_context_t *p_ctx, float crf)
Reconfigure crf float point value dynamically during encoding.
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.
int32_t ni_get_dma_buf_file_descriptor(const ni_frame_t *p_frame)
Get the DMA buffer file descriptor from the P2P frame.
ni_retcode_t ni_set_demo_roi_map(ni_session_context_t *p_enc_ctx)
Set up hard coded demo ROI map.
ni_retcode_t ni_set_frame_ref_invalid(ni_session_context_t *p_ctx, int32_t frame_num)
Set frame reference invalidation.
void ni_device_close(ni_device_handle_t device_handle)
Close device and release resources.
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.
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.
int ni_device_session_init_framepool(ni_session_context_t *p_ctx, uint32_t pool_size, uint32_t pool)
Sends frame pool setup info to device.
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.
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.
ni_retcode_t ni_frame_buffer_alloc_hwenc(ni_frame_t *p_frame, int video_width, int video_height, int extra_len)
Allocate memory for the hwDescriptor buffer based on provided parameters taking into account pic size...
ni_retcode_t ni_decoder_frame_buffer_alloc(ni_buf_pool_t *p_pool, ni_frame_t *p_frame, 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...
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 ...
ni_retcode_t ni_reconfig_slice_arg(ni_session_context_t *p_ctx, int16_t sliceArg)
Reconfigure sliceArg dynamically during encoding.
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 ...
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.
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.
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,...
ni_device_handle_t ni_device_open2(const char *p_dev, ni_device_mode_t mode)
Open device and return device device_handle if successful.
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....
ni_retcode_t ni_packet_buffer_alloc(ni_packet_t *p_packet, int packet_size)
Allocate memory for the packet buffer based on provided packet size.
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...
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.
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 ...
void ni_device_session_context_clear(ni_session_context_t *p_ctx)
Clear already allocated session context.
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)
Configure the 2D engine to work based on provided parameters.
ni_retcode_t ni_packet_buffer_free_av1(ni_packet_t *p_packet)
Free packet buffer that was previously allocated with ni_packet_buffer_alloc for AV1 packets merge.
ni_retcode_t ni_reconfig_vui(ni_session_context_t *p_ctx, ni_vui_hrd_t *vui)
Reconfigure VUI HRD dynamically during encoding.
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.
ni_retcode_t ni_reconfig_bitrate(ni_session_context_t *p_ctx, int32_t bitrate)
Reconfigure bitrate dynamically during encoding.
ni_retcode_t ni_encoder_frame_buffer_alloc(ni_frame_t *p_frame, 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 ...
ni_retcode_t ni_p2p_send(ni_session_context_t *pSession, niFrameSurface1_t *source, uint64_t ui64DestAddr, uint32_t ui32FrameSize)
Initiate P2P transfer (P2P write)
int ni_device_session_write(ni_session_context_t *p_ctx, ni_session_data_io_t *p_data, ni_device_type_t device_type)
Sends data to the device If device_type is NI_DEVICE_TYPE_DECODER sends data packet to decoder If dev...
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.
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.
ni_retcode_t ni_decoder_frame_buffer_free(ni_frame_t *p_frame)
Free decoder frame buffer that was previously allocated with ni_decoder_frame_buffer_alloc,...
Public definitions for operating NETINT video processing devices for video processing.
enum _ni_frame_aux_data_type ni_aux_data_type_t
enum _ni_codec_format ni_codec_format_t
This is an enumeration for supported codec formats.
ni_pix_fmt_t
ni_pic_type_t
enum _ni_device_mode ni_device_mode_t
Device access mode enumeration.
void(LIB_API * PNIDEVICECLOSE)(ni_device_handle_t dev)
int(LIB_API * PNIDEVICESESSIONACQUIRE)(ni_session_context_t *p_upl_ctx, ni_frame_t *p_frame)
ni_retcode_t(LIB_API * PNIENCPREPRECONFDEMODATA)(ni_session_context_t *p_enc_ctx, ni_frame_t *p_frame)
int(LIB_API * PNIPTHREADCONDINIT)(ni_pthread_cond_t *cond, const ni_pthread_condattr_t *attr)
ni_retcode_t(LIB_API * PNIDEVICECAPABILITYQUERY2)(ni_device_handle_t device_handle, ni_device_capability_t *p_cap, bool device_in_ctxt)
ni_retcode_t(LIB_API * PNIDEVICESESSIONQUERYDETAILV1)(ni_session_context_t *p_ctx, ni_device_type_t device_type, ni_instance_mgr_detail_status_v1_t *detail_data)
int(LIB_API * PNIDEVICESESSIONREAD)(ni_session_context_t *p_ctx, ni_session_data_io_t *p_data, ni_device_type_t device_type)
ni_retcode_t(LIB_API * PNIFRAMEBUFFERALLOCNV)(ni_frame_t *p_frame, int video_width, int video_height, int linesize[], int extra_len, bool alignment_2pass_wa)
ni_retcode_t(LIB_API * PNIDECODERINITDEFAULTPARAMS)(ni_xcoder_params_t *p_param, int fps_num, int fps_denom, long bit_rate, int width, int height)
int(LIB_API * PNIREMOVEEMULATIONPREVENTBYTES)(uint8_t *buf, int size)
ni_retcode_t(LIB_API * PNISCALERDESTFRAMEALLOC)(ni_session_context_t *p_ctx, ni_scaler_input_params_t scaler_params, niFrameSurface1_t *p_surface)
ni_retcode_t(LIB_API * PNISCALERINPUTFRAMEALLOC)(ni_session_context_t *p_ctx, ni_scaler_input_params_t scaler_params, niFrameSurface1_t *p_src_surface)
int(LIB_API * PNIENCINSERTTIMECODE)(ni_session_context_t *p_enc_ctx, ni_frame_t *p_enc_frame, ni_timecode_t *p_timecode)
ni_retcode_t(LIB_API * PNIAICONFIGHVSPLUS)(ni_session_context_t *p_ctx, ni_network_data_t *p_network)
int32_t(LIB_API * PNIGETDMABUFFILEDESCRIPTOR)(const ni_frame_t *p_frame)
ni_retcode_t(LIB_API * PNIDEVICEALLOCANDGETFIRMWARELOGS)(ni_session_context_t *p_ctx, void **p_log_buffer, bool gen_log_file)
ni_retcode_t(LIB_API * PNIQUERYVFNSID)(ni_device_handle_t device_handle, ni_device_vf_ns_id_t *p_dev_ns_vf, uint8_t fw_rev[])
char *(LIB_API * PNIGETLIBXCODERRELEASEVER)(void)
void(LIB_API * PNIGETFRAMEDIM)(int width, int height, ni_pix_fmt_t pix_fmt, int plane_stride[NI_MAX_NUM_DATA_POINTERS], int plane_height[NI_MAX_NUM_DATA_POINTERS])
ni_retcode_t(LIB_API * PNIRECONFIGVUI)(ni_session_context_t *p_ctx, ni_vui_hrd_t *vui)
ni_retcode_t(LIB_API * PNIQUERYTEMPERATURE)(ni_device_handle_t device_handle, ni_device_temp_t *p_dev_temp, uint8_t fw_rev[])
ni_retcode_t(LIB_API * PNIDEVICESESSIONSEQUENCECHANGE)(ni_session_context_t *p_ctx, int width, int height, int bit_depth_factor, ni_device_type_t device_type)
int(LIB_API * PNIDEVICESESSIONACQUIREFORREAD)(ni_session_context_t *p_upl_ctx, ni_frame_t *p_frame)
int(LIB_API * PNIPTHREADMUTEXDESTROY)(ni_pthread_mutex_t *mutex)
const char *(LIB_API * PNIGETRCTXT)(ni_retcode_t rc)
void(LIB_API * PNICOPYFRAMEDATA)(uint8_t *p_dst[NI_MAX_NUM_DATA_POINTERS], uint8_t *p_src[NI_MAX_NUM_DATA_POINTERS], int frame_width, int frame_height, int factor, ni_pix_fmt_t pix_fmt, int conf_win_right, int dst_stride[NI_MAX_NUM_DATA_POINTERS], int dst_height[NI_MAX_NUM_DATA_POINTERS], int src_stride[NI_MAX_NUM_DATA_POINTERS], int src_height[NI_MAX_NUM_DATA_POINTERS])
ni_retcode_t(LIB_API * PNINETWORKLAYERCONVERTOUTPUT)(float *dst, uint32_t num, ni_packet_t *p_packet, ni_network_data_t *p_network, uint32_t layer)
int(LIB_API * PNIDEVICESESSIONHWUP)(ni_session_context_t *p_ctx, ni_session_data_io_t *p_src_data, niFrameSurface1_t *hwdesc)
ni_retcode_t(LIB_API * PNISTRCPY)(char *dest, size_t dmax, const char *src)
int(LIB_API * PNIRSRCLOGDUMP)(const char *outdir, bool core_reset_log)
ni_retcode_t(LIB_API * PNISETFRAMEREFINVALID)(ni_session_context_t *p_ctx, int32_t frame_num)
void(LIB_API * PNIDECRETRIEVEAUXDATA)(ni_frame_t *frame)
ni_retcode_t(LIB_API * PNIFORCEIDRFRAMETYPE)(ni_session_context_t *p_ctx)
int(LIB_API * PNIRETRIEVEXCODERGOP)(char xcoderGop[], ni_xcoder_params_t *params, ni_session_context_t *ctx)
int(LIB_API * PNIDEVICESESSIONINITFRAMEPOOL)(ni_session_context_t *p_ctx, uint32_t pool_size, uint32_t pool)
int(LIB_API * PNIPOSIXMEMALIGN)(void **memptr, size_t alignment, size_t size)
ni_retcode_t(LIB_API * PNISTRCAT)(char *dest, size_t dmax, const char *src)
int(LIB_API * PNIPTHREADCONDWAIT)(ni_pthread_cond_t *cond, ni_pthread_mutex_t *mutex)
ni_retcode_t(LIB_API * PNIPACKETBUFFERFREEAV1)(ni_packet_t *ppacket)
ni_retcode_t(LIB_API * PNISETDEMOROIMAP)(ni_session_context_t *p_enc_ctx)
ni_device_handle_t(LIB_API * PNIDEVICEOPEN2)(const char *dev, ni_device_mode_t mode)
ni_retcode_t(LIB_API * PNIDEVICECLONEHWFRAME)(ni_session_context_t *p_ctx, ni_frameclone_desc_t *p_frameclone_desc)
void(LIB_API * PNIDEVICESESSIONCONTEXTCLEAR)(ni_session_context_t *p_ctx)
int32_t(LIB_API * PNIGETTIMEOFDAY)(struct timeval *p_tp, void *p_tzp)
int(LIB_API * PNIDEVICESESSIONHWDL)(ni_session_context_t *p_ctx, ni_session_data_io_t *p_data, niFrameSurface1_t *hwdesc)
ni_retcode_t(LIB_API * PNIRECONFIGFRAMERATE)(ni_session_context_t *p_ctx, ni_framerate_t *framerate)
ni_retcode_t(LIB_API * PNISETLTR)(ni_session_context_t *p_ctx, ni_long_term_ref_t *ltr)
int(LIB_API * PNIPARAMGETKEYVALUE)(char *p_str, char *key, char *value)
ni_retcode_t(LIB_API * PNIFOPEN)(FILE **fp, const char *filename, const char *mode)
bool(LIB_API * PNIGOPPARAMSCHECK)(ni_xcoder_params_t *p_param)
const char *(LIB_API * PNIAIERRNOTOSTR)(int rc)
ni_retcode_t(LIB_API * PNIAIPACKETBUFFERALLOC)(ni_packet_t *p_packet, ni_network_data_t *p_network)
ni_retcode_t(LIB_API * PNIPACKETBUFFERALLOC)(ni_packet_t *ppacket, int packet_size)
ni_retcode_t(LIB_API * PNIENCODERFRAMEZEROCOPYBUFFERALLOC)(ni_frame_t *p_frame, int video_width, int video_height, const int linesize[], const uint8_t *data[], int extra_len)
ni_retcode_t(LIB_API * PNIDEVICECONFIGFRAME)(ni_session_context_t *p_ctx, ni_frame_config_t *p_cfg)
ni_retcode_t(LIB_API * PNIDEVICESESSIONCOPY)(ni_session_context_t *src_p_ctx, ni_session_context_t *dst_p_ctx)
ni_retcode_t(LIB_API * PNIDEVICECAPABILITYQUERY)(ni_device_handle_t device_handle, ni_device_capability_t *p_cap)
ni_retcode_t(LIB_API * PNIENCODERGOPPARAMSSETVALUE)(ni_xcoder_params_t *p_params, const char *name, const char *value)
int(LIB_API * PNIPACKETCOPY)(void *p_destination, const void *const p_source, int cur_size, void *p_leftover, int *p_prev_size)
void(LIB_API * PNICOPYHWYUV420P)(uint8_t *p_dst[NI_MAX_NUM_DATA_POINTERS], uint8_t *p_src[NI_MAX_NUM_DATA_POINTERS], int width, int height, int bit_depth_factor, int is_semiplanar, int conf_win_right, int dst_stride[NI_MAX_NUM_DATA_POINTERS], int dst_height[NI_MAX_NUM_DATA_POINTERS], int src_stride[NI_MAX_NUM_DATA_POINTERS], int src_height[NI_MAX_NUM_DATA_POINTERS])
void(LIB_API * PNICOPYYUV444PTO420P)(uint8_t *p_dst0[NI_MAX_NUM_DATA_POINTERS], uint8_t *p_dst1[NI_MAX_NUM_DATA_POINTERS], uint8_t *p_src[NI_MAX_NUM_DATA_POINTERS], int width, int height, int factor, int mode)
int(LIB_API * PNIRETRIEVEXCODERPARAMS)(char xcoderParams[], ni_xcoder_params_t *params, ni_session_context_t *ctx)
ni_retcode_t(LIB_API * PNIRECONFIGCRF)(ni_session_context_t *p_ctx, int32_t crf)
void(LIB_API * PNICLOSEEVENT)(ni_event_handle_t event_handle)
ni_device_handle_t(LIB_API * PNIDEVICEOPEN)(const char *dev, uint32_t *p_max_io_size_out)
ni_retcode_t(LIB_API * PNIDEVICESESSIONUPDATEFRAMEPOOL)(ni_session_context_t *p_ctx, uint32_t pool_size)
ni_retcode_t(LIB_API * PNIDEVICECONFIGQOSOP)(ni_device_handle_t device_handle, ni_device_handle_t device_handle_t, uint32_t over_provision)
ni_retcode_t(LIB_API * PNIDEVICESESSIONCLOSE)(ni_session_context_t *p_ctx, int eos_received, ni_device_type_t device_type)
ni_retcode_t(LIB_API * PNISTRERROR)(char *dest, size_t dmax, int errnum)
ni_retcode_t(LIB_API * PNIRECONFIGSLICEARG)(ni_session_context_t *p_ctx, int16_t sliceArg)
ni_retcode_t(LIB_API * PNIENCODERFRAMEBUFFERALLOC)(ni_frame_t *pframe, int video_width, int video_height, int linesize[], int alignment, int extra_len, bool alignment_2pass_wa)
void(LIB_API * PNIGOPPARAMSCHECKSET)(ni_xcoder_params_t *p_param, char *value)
ni_retcode_t(LIB_API * PNINETWORKCONVERTTENSORTODATA)(uint8_t *dst, uint32_t dst_len, float *src, uint32_t src_len, ni_network_layer_params_t *p_param)
ni_retcode_t(LIB_API * PNIDEVICEMULTICONFIGFRAME)(ni_session_context_t *p_ctx, ni_frame_config_t p_cfg_in[], int numInCfgs, ni_frame_config_t *p_cfg_out)
ni_retcode_t(LIB_API * PNIRECONFIGCRF2)(ni_session_context_t *p_ctx, float crf)
ni_retcode_t(LIB_API * PNIDEVICECONFIGNAMESPACENUM)(ni_device_handle_t device_handle, uint32_t namespace_num, uint32_t sriov_index)
int(LIB_API * PNIPTHREADCREATE)(ni_pthread_t *thread, const ni_pthread_attr_t *attr, void *(*start_routine)(void *), void *arg)
ni_retcode_t(LIB_API * PNIDEVICEALLOCFRAME)(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)
ni_retcode_t(LIB_API * PNIDEVICESESSIONOPEN)(ni_session_context_t *p_ctx, ni_device_type_t device_type)
int(LIB_API * PNICALCULATETOTALFRAMESIZE)(const ni_session_context_t *p_upl_ctx, const int linesize[])
void(LIB_API * PNIFRAMEFREEAUXDATA)(ni_frame_t *frame, ni_aux_data_type_t type)
ni_retcode_t(LIB_API * PNIDECRECONFIGPPUPARAMS)(ni_session_context_t *p_session_ctx, ni_xcoder_params_t *p_param, ni_ppu_config_t *p_ppu_config)
ni_retcode_t(LIB_API * PNIENCODERINITDEFAULTPARAMS)(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)
ni_retcode_t(LIB_API * PNIFRAMEBUFFERALLOCDL)(ni_frame_t *p_frame, int video_width, int video_height, int pixel_format)
char *(LIB_API * PNISTRTOK)(char *s, const char *delim, char **saveptr)
int(LIB_API * PNISHOULDSENDSEIWITHFRAME)(ni_session_context_t *p_enc_ctx, ni_pic_type_t pic_type, ni_xcoder_params_t *p_param)
void(LIB_API * PNIUSLEEP)(int64_t usec)
int(LIB_API * PNIPTHREADJOIN)(ni_pthread_t thread, void **value_ptr)
ni_retcode_t(LIB_API * PNIDEVICEDECSESSIONFLUSH)(ni_session_context_t *p_ctx)
ni_retcode_t(LIB_API * PNIP2PSEND)(ni_session_context_t *pSession, niFrameSurface1_t *source, uint64_t ui64DestAddr, uint32_t ui32FrameSize)
void(LIB_API * PNIENCCOPYAUXDATA)(ni_session_context_t *p_enc_ctx, ni_frame_t *p_enc_frame, ni_frame_t *p_dec_frame, ni_codec_format_t codec_format, const uint8_t *mdcv_data, const uint8_t *cll_data, const uint8_t *cc_data, const uint8_t *udu_data, const uint8_t *hdrp_data, int is_hwframe, int is_semiplanar)
ni_retcode_t(LIB_API * PNIENCODERSETINPUTFRAMEFORMAT)(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)
ni_retcode_t(LIB_API * PNIQUERYEXTRAINFO)(ni_device_handle_t device_handle, ni_device_extra_info_t *p_dev_extra_info, uint8_t fw_rev[])
ni_retcode_t(LIB_API * PNISTRNCAT)(char *dest, size_t dmax, const char *src, size_t slen)
ni_retcode_t(LIB_API * PNIUPLOADERFRAMEZEROCOPYCHECK)(ni_session_context_t *p_upl_ctx, int width, int height, const int linesize[], int pixel_format)
int(LIB_API * PNIDEVICESESSIONREADHWDESC)(ni_session_context_t *p_ctx, ni_session_data_io_t *p_data, ni_device_type_t device_type)
ni_retcode_t(LIB_API * PNINETWORKCONVERTDATATOTENSOR)(float *dst, uint32_t dst_len, uint8_t *src, uint32_t src_len, ni_network_layer_params_t *p_param)
ni_retcode_t(LIB_API * PNIFRAMEBUFFERALLOCPIXFMT)(ni_frame_t *pframe, int pixel_format, int video_width, int video_height, int linesize[], int alignment, int extra_len)
ni_retcode_t(LIB_API * PNIUPLOADERFRAMEBUFFERLOCK)(ni_session_context_t *p_upl_ctx, ni_frame_t *p_frame)
ni_retcode_t(LIB_API * PNIDEVICESESSIONFLUSH)(ni_session_context_t *p_ctx, ni_device_type_t device_type)
ni_retcode_t(LIB_API * PNIHWFRAMEBUFFERRECYCLE2)(niFrameSurface1_t *surface)
int(LIB_API * PNIRECONFIGPPUOUTPUT)(ni_session_context_t *p_session_ctx, ni_xcoder_params_t *p_param, ni_ppu_config_t *ppu_config)
ni_retcode_t(LIB_API * PNIQUERYFLFWVERSIONS)(ni_device_handle_t device_handle, ni_device_info_t *p_dev_info)
ni_retcode_t(LIB_API * PNIQUERYNVMESTATUS)(ni_session_context_t *p_ctx, ni_load_query_t *p_load_query)
ni_retcode_t(LIB_API * PNIDEVICESESSIONQUERYDETAIL)(ni_session_context_t *p_ctx, ni_device_type_t device_type, ni_instance_mgr_detail_status_t *detail_data)
struct _NETINT_LIBXCODER_API_FUNCTION_LIST NETINT_LIBXCODER_API_FUNCTION_LIST
ni_retcode_t(LIB_API * PNIDEVICESESSIONQUERYBUFFERAVAIL)(ni_session_context_t *p_ctx, ni_device_type_t device_type)
ni_retcode_t(LIB_API * PNIFRAMEBUFFERALLOCHWENC)(ni_frame_t *pframe, int video_width, int video_height, int extra_len)
int(LIB_API * PNIFSCANF)(FILE *stream, const char *fmt,...)
ni_retcode_t(LIB_API * PNISCALERP2PFRAMEACQUIRE)(ni_session_context_t *p_ctx, niFrameSurface1_t *p_surface, int data_len)
void(LIB_API * PNIFMTFWAPIVERSTR)(const char ver_str[], char fmt_str[])
int(LIB_API * PNIVSPRINTF)(char *dest, const size_t dmax, const char *fmt, va_list args)
ni_retcode_t(LIB_API * PNIHWFRAMEP2PBUFFERRECYCLE)(ni_frame_t *p_frame)
ni_retcode_t(LIB_API * PNISETLTRINTERVAL)(ni_session_context_t *p_ctx, int32_t ltr_interval)
ni_aux_data_t *(LIB_API * PNIFRAMENEWAUXDATAFROMRAWDATA)(ni_frame_t *frame, ni_aux_data_type_t type, const uint8_t *raw_data, int data_size)
ni_retcode_t(LIB_API * PNIDECODERPARAMSSETVALUE)(ni_xcoder_params_t *p_params, const char *name, char *value)
ni_retcode_t(LIB_API * PNIAISESSIONREADMETRICS)(ni_session_context_t *p_ctx, ni_network_perf_metrics_t *p_metrics)
struct tm *LIB_API * PNILOCALTIME(struct tm *dest, const time_t *src)
void(LIB_API * PNICOPYHWDESCRIPTORS)(uint8_t *p_dst[NI_MAX_NUM_DATA_POINTERS], uint8_t *p_src[NI_MAX_NUM_DATA_POINTERS])
ni_retcode_t(LIB_API * PNISTRNCPY)(char *dest, size_t dmax, const char *src, size_t slen)
ni_retcode_t(LIB_API * PNICUSTOMPACKETBUFFERALLOC)(void *p_buffer, ni_packet_t *p_packet, int buffer_size)
ni_retcode_t(LIB_API * PNIUPLOADERP2PTESTSEND)(ni_session_context_t *p_upl_ctx, uint8_t *p_data, uint32_t len, ni_frame_t *p_hwframe)
int(LIB_API * PNIPTHREADCONDDESTROY)(ni_pthread_cond_t *cond)
ni_retcode_t(LIB_API * PNISCALERSETPARAMS)(ni_session_context_t *p_ctx, ni_scaler_params_t *p_params)
ni_retcode_t(LIB_API * PNIDEVICECONFIGQOS)(ni_device_handle_t device_handle, uint32_t mode)
char *(LIB_API * PNIGETCOMPATFWAPIVER)(void)
ni_retcode_t(LIB_API * PNIRECONFIGMINMAXQP)(ni_session_context_t *p_ctx, ni_rc_min_max_qp *p_min_max_qp)
void(LIB_API * PNIGETHWYUV420PDIM)(int width, int height, int bit_depth_factor, int is_semiplanar, int plane_stride[NI_MAX_NUM_DATA_POINTERS], int plane_height[NI_MAX_NUM_DATA_POINTERS])
ni_retcode_t(LIB_API * PNIAIFRAMEBUFFERALLOC)(ni_frame_t *p_frame, ni_network_data_t *p_network)
ni_retcode_t(LIB_API * PNIP2PXFER)(ni_session_context_t *pSession, niFrameSurface1_t *source, uint64_t ui64DestAddr, uint32_t ui32FrameSize)
ni_retcode_t(LIB_API * PNIRECONFIGVBVVALUE)(ni_session_context_t *p_ctx, int32_t vbvMaxRate, int32_t vbvBufferSize)
int(LIB_API * PNIPTHREADCONDBROADCAST)(ni_pthread_cond_t *cond)
ni_retcode_t(LIB_API * PNIENCODERFRAMEZEROCOPYADJUST)(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)
ni_retcode_t(LIB_API * PNIDEVICEDECSESSIONSAVEHDRS)(ni_session_context_t *p_ctx, uint8_t *hdr_data, uint8_t hdr_size)
int(LIB_API * PNISPRINTF)(char *dest, size_t dmax, const char *fmt,...)
ni_retcode_t(LIB_API * PNIPACKETBUFFERFREE)(ni_packet_t *ppacket)
ni_retcode_t(LIB_API * PNIHWFRAMEBUFFERRECYCLE)(niFrameSurface1_t *surface, int32_t device_handle)
ni_retcode_t(LIB_API * PNIDECODERFRAMEBUFFERFREE)(ni_frame_t *pframe)
ni_retcode_t(LIB_API * PNIENCFRAMEBUFFERALLOC)(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)
int(LIB_API * PNIENCWRITEFROMYUVBUFFER)(ni_session_context_t *p_ctx, ni_frame_t *p_enc_frame, uint8_t *p_yuv_buffer)
ni_retcode_t(LIB_API * PNIENCODERPARAMSSETVALUE)(ni_xcoder_params_t *p_params, const char *name, const char *value)
int(LIB_API * PNIDEVICESESSIONWRITE)(ni_session_context_t *p_ctx, ni_session_data_io_t *p_data, ni_device_type_t device_type)
int(LIB_API * PNIEXPANDFRAME)(ni_frame_t *dst, ni_frame_t *src, int dst_stride[], int raw_width, int raw_height, int ni_fmt, int nb_planes)
ni_retcode_t(LIB_API * PNIRECONFIGBITRATE)(ni_session_context_t *p_ctx, int32_t bitrate)
ni_retcode_t(LIB_API * PNIDECODERFRAMEBUFFERALLOC)(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)
ni_aux_data_t *(LIB_API * PNIFRAMEGETAUXDATA)(const ni_frame_t *frame, ni_aux_data_type_t type)
void(LIB_API * PNICALCULATESHA256)(const uint8_t aui8Data[], size_t ui32DataLength, uint8_t aui8Hash[])
int(LIB_API * PNIPTHREADSIGMASK)(int how, const ni_sigset_t *set, ni_sigset_t *oldset)
int(LIB_API * PNIENCODERSESSIONREADSTREAMHEADER)(ni_session_context_t *p_ctx, ni_session_data_io_t *p_data)
ni_retcode_t(LIB_API * PNIENCODERFRAMEZEROCOPYCHECK)(ni_session_context_t *p_enc_ctx, ni_xcoder_params_t *p_enc_params, int width, int height, const int linesize[], bool set_linesize)
int(LIB_API * PNIPTHREADMUTEXINIT)(ni_pthread_mutex_t *mutex)
void(LIB_API * PNIENCPREPAUXDATA)(ni_session_context_t *p_enc_ctx, ni_frame_t *p_enc_frame, ni_frame_t *p_dec_frame, ni_codec_format_t codec_format, int should_send_sei_with_frame, uint8_t *mdcv_data, uint8_t *cll_data, uint8_t *cc_data, uint8_t *udu_data, uint8_t *hdrp_data)
ni_retcode_t(LIB_API * PNIAICONFIGNETWORKBINARY)(ni_session_context_t *p_ctx, ni_network_data_t *p_network, const char *file)
ni_retcode_t(LIB_API * PNIUPLOADERSETFRAMEFORMAT)(ni_session_context_t *p_upl_ctx, int width, int height, ni_pix_fmt_t pixel_format, int isP2P)
int(LIB_API * PNICMPFWAPIVER)(const char ver1[], const char ver2[])
int(LIB_API * PNIPTHREADCONDTIMEDWAIT)(ni_pthread_cond_t *cond, ni_pthread_mutex_t *mutex, const struct timespec *abstime)
ni_event_handle_t(LIB_API * PNICREATEEVENT)(void)
int(LIB_API * PNIRETRIEVEDECODERPARAMS)(char xcoderParams[], ni_xcoder_params_t *params, ni_session_context_t *ctx)
ni_retcode_t(LIB_API * PNIFRAMEBUFFERFREE)(ni_frame_t *pframe)
uint64_t(LIB_API * PNIGETTIMENS)(void)
ni_retcode_t(LIB_API * PNIRECONFIGINTRAPRD)(ni_session_context_t *p_ctx, int32_t intra_period)
ni_aux_data_t *(LIB_API * PNIFRAMENEWAUXDATA)(ni_frame_t *frame, ni_aux_data_type_t type, int data_size)
void(LIB_API * PNIDECODERFRAMEBUFFERPOOLRETURNBUF)(ni_buf_t *buf, ni_buf_pool_t *p_buffer_pool)
ni_retcode_t(LIB_API * PNIDEVICESESSIONRESTART)(ni_session_context_t *p_ctx, int video_width, int video_height, ni_device_type_t device_type)
uint32_t(LIB_API * PNIAINETWORKLAYERDIMS)(ni_network_layer_params_t *p_param)
ni_retcode_t(LIB_API * PNIP2PRECV)(ni_session_context_t *pSession, const ni_p2p_sgl_t *dmaAddrs, ni_frame_t *pDstFrame)
int(LIB_API * PNIPTHREADMUTEXLOCK)(ni_pthread_mutex_t *mutex)
int(LIB_API * PNIINSERTEMULATIONPREVENTBYTES)(uint8_t *buf, int size)
ni_retcode_t(LIB_API * PNIUPLOADERFRAMEBUFFERUNLOCK)(ni_session_context_t *p_upl_ctx, ni_frame_t *p_frame)
ni_retcode_t(LIB_API * PNIRECONFIGMAXFRAMESIZERATIO)(ni_session_context_t *p_ctx, int32_t max_frame_size_ratio)
ni_retcode_t(LIB_API * PNINETWORKLAYERCONVERTTENSOR)(uint8_t *dst, uint32_t dst_len, const char *tensor_file, ni_network_layer_params_t *p_param)
int(LIB_API * PNIPTHREADMUTEXUNLOCK)(ni_pthread_mutex_t *mutex)
void(LIB_API * PNIDEVICESESSIONCONTEXTFREE)(ni_session_context_t *p_ctx)
ni_retcode_t(LIB_API * PNIDEVICEALLOCDSTFRAME)(ni_session_context_t *p_ctx, niFrameSurface1_t *p_out_surface, ni_device_type_t device_type)
int(LIB_API * PNIEXTRACTCUSTOMSEI)(uint8_t *pkt_data, int pkt_size, long index, ni_packet_t *p_packet, uint8_t sei_type, int vcl_found)
ni_retcode_t(LIB_API * PNISCALERSETWATERMARKPARAMS)(ni_session_context_t *p_ctx, ni_scaler_watermark_params_t *p_params)
ni_retcode_t(LIB_API * PNIDEVICESESSIONQUERY)(ni_session_context_t *p_ctx, ni_device_type_t device_type)
ni_retcode_t(LIB_API * PNIENCODERSWFRAMEBUFFERALLOC)(bool planar, ni_frame_t *p_frame, int video_width, int video_height, int linesize[], int alignment, int extra_len, bool alignment_2pass_wa)
ni_retcode_t(LIB_API * PNISCALERFRAMEPOOLALLOC)(ni_session_context_t *p_ctx, ni_scaler_input_params_t scaler_params)
uint32_t(LIB_API * PNIAINETWORKLAYERSIZE)(ni_network_layer_params_t *p_param)
ni_session_context_t *(LIB_API * PNIDEVICESESSIONCONTEXTALLOCINIT)(void)
int(LIB_API * PNIDECPACKETPARSE)(ni_session_context_t *p_session_ctx, ni_xcoder_params_t *p_param, uint8_t *data, int size, ni_packet_t *p_packet, int low_delay, int codec_format, int pkt_nal_bitmap, int custom_sei_type, int *svct_skip_next_packet, int *is_lone_sei_pkt)
ni_retcode_t(LIB_API * PNIUPLOADERP2PTESTLOAD)(ni_session_context_t *p_upl_ctx, uint8_t *p_data, uint32_t len, ni_frame_t *p_hwframe)
ni_retcode_t(LIB_API * PNISCALERSETDRAWBOXPARAMS)(ni_session_context_t *p_ctx, ni_scaler_drawbox_params_t *p_params)
void(LIB_API * PNIGETMINFRAMEDIM)(int width, int height, ni_pix_fmt_t pix_fmt, int plane_stride[NI_MAX_NUM_DATA_POINTERS], int plane_height[NI_MAX_NUM_DATA_POINTERS])
int(LIB_API * PNIPTHREADCONDSIGNAL)(ni_pthread_cond_t *cond)
char *(LIB_API * PNIGETLIBXCODERAPIVER)(void)
void(LIB_API * PNIFRAMEWIPEAUXDATA)(ni_frame_t *frame)
ni_retcode_t(LIB_API * PNIDEVICESESSIONCONTEXTINIT)(ni_session_context_t *p_ctx)
ni_retcode_t(LIB_API * PNIRECONFIGMAXFRAMESIZE)(ni_session_context_t *p_ctx, int32_t max_frame_size)
ni_retcode_t(LIB_API * PNIFRAMEBUFFERALLOC)(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)
Quadraprobe definitions.
int ni_pthread_cond_init(ni_pthread_cond_t *cond, const ni_pthread_condattr_t *attr)
initialize condition variables
Definition ni_util.c:4806
int ni_pthread_mutex_lock(ni_pthread_mutex_t *mutex)
thread mutex lock
Definition ni_util.c:4686
int ni_remove_emulation_prevent_bytes(uint8_t *buf, int size)
Remove emulation prevention byte(s) as needed from the data buffer.
Definition ni_util.c:3268
int ni_pthread_cond_destroy(ni_pthread_cond_t *cond)
destroy condition variables
Definition ni_util.c:4825
void ni_copy_frame_data(uint8_t *p_dst[NI_MAX_NUM_DATA_POINTERS], uint8_t *p_src[NI_MAX_NUM_DATA_POINTERS], int frame_width, int frame_height, int factor, ni_pix_fmt_t pix_fmt, int conf_win_right, int dst_stride[NI_MAX_NUM_DATA_POINTERS], int dst_height[NI_MAX_NUM_DATA_POINTERS], int src_stride[NI_MAX_NUM_DATA_POINTERS], int src_height[NI_MAX_NUM_DATA_POINTERS])
Copy RGBA or YUV data to Netint HW frame layout to be sent to encoder for encoding....
Definition ni_util.c:3022
uint32_t ni_ai_network_layer_dims(ni_network_layer_params_t *p_param)
Definition ni_util.c:3995
ni_retcode_t ni_strncpy(char *dest, size_t dmax, const char *src, size_t slen)
Definition ni_util.c:518
void ni_copy_yuv_444p_to_420p(uint8_t *p_dst0[NI_MAX_NUM_DATA_POINTERS], uint8_t *p_dst1[NI_MAX_NUM_DATA_POINTERS], uint8_t *p_src[NI_MAX_NUM_DATA_POINTERS], int frame_width, int frame_height, int factor, int mode)
Copy yuv444p data to yuv420p frame layout to be sent to encoder for encoding. Data buffer (dst) is us...
Definition ni_util.c:3102
int ni_pthread_cond_signal(ni_pthread_cond_t *cond)
signal a condition
Definition ni_util.c:4880
int ni_retrieve_xcoder_params(char xcoderParams[], ni_xcoder_params_t *params, ni_session_context_t *ctx)
retrieve encoder config parameter values from –xcoder-params
Definition ni_util.c:4416
int ni_posix_memalign(void **memptr, size_t alignment, size_t size)
Allocate aligned memory.
Definition ni_util.c:202
int ni_fscanf(FILE *stream, const char *fmt,...)
Definition ni_util.c:1021
int ni_pthread_create(ni_pthread_t *thread, const ni_pthread_attr_t *attr, void *(*start_routine)(void *), void *arg)
create a new thread
Definition ni_util.c:4750
void ni_get_min_frame_dim(int width, int height, ni_pix_fmt_t pix_fmt, int plane_stride[NI_MAX_NUM_DATA_POINTERS], int plane_height[NI_MAX_NUM_DATA_POINTERS])
Get dimension information of frame to be sent to encoder for encoding. Caller usually retrieves this ...
Definition ni_util.c:2805
ni_retcode_t ni_strncat(char *dest, size_t dmax, const char *src, size_t slen)
Definition ni_util.c:807
void ni_fmt_fw_api_ver_str(const char ver_str[], char fmt_str[])
Get formatted FW API version string from unformatted FW API version string.
Definition ni_util.c:4272
const char * ni_ai_errno_to_str(int rc)
return error string according to error code from firmware
Definition ni_util.c:4950
int ni_pthread_cond_broadcast(ni_pthread_cond_t *cond)
broadcast a condition
Definition ni_util.c:4843
int32_t ni_gettimeofday(struct timeval *p_tp, void *p_tzp)
Get time for logs with microsecond timestamps.
Definition ni_util.c:143
ni_retcode_t ni_strerror(char *dest, size_t dmax, int errnum)
Definition ni_util.c:656
ni_retcode_t ni_network_convert_tensor_to_data(uint8_t *dst, uint32_t dst_len, float *src, uint32_t src_len, ni_network_layer_params_t *p_param)
Definition ni_util.c:3872
int ni_param_get_key_value(char *p_str, char *key, char *value)
retrieve key and value from 'key=value' pair
Definition ni_util.c:4383
void ni_calculate_sha256(const uint8_t aui8Data[], size_t ui32DataLength, uint8_t aui8Hash[])
Definition ni_util.c:4176
int ni_pthread_mutex_destroy(ni_pthread_mutex_t *mutex)
destory a mutex
Definition ni_util.c:4668
void ni_copy_hw_descriptors(uint8_t *p_dst[NI_MAX_NUM_DATA_POINTERS], uint8_t *p_src[NI_MAX_NUM_DATA_POINTERS])
Copy Descriptor data to Netint HW descriptor frame layout to be sent to encoder for encoding....
Definition ni_util.c:4202
ni_retcode_t ni_strcat(char *dest, size_t dmax, const char *src)
Definition ni_util.c:689
void ni_get_hw_yuv420p_dim(int width, int height, int factor, int is_semiplanar, int plane_stride[NI_MAX_NUM_DATA_POINTERS], int plane_height[NI_MAX_NUM_DATA_POINTERS])
Get dimension information of Netint HW YUV420p frame to be sent to encoder for encoding....
Definition ni_util.c:2664
char * ni_strtok(char *s, const char *delim, char **saveptr)
Definition ni_util.c:424
ni_retcode_t ni_fopen(FILE **fp, const char *filename, const char *mode)
Definition ni_util.c:983
ni_retcode_t ni_network_layer_convert_output(float *dst, uint32_t dst_len, ni_packet_t *p_packet, ni_network_data_t *p_network, uint32_t layer)
Definition ni_util.c:3708
int ni_pthread_sigmask(int how, const ni_sigset_t *set, ni_sigset_t *oldset)
examine and change mask of blocked signals
Definition ni_util.c:4934
ni_retcode_t ni_strcpy(char *dest, size_t dmax, const char *src)
Definition ni_util.c:453
uint32_t ni_ai_network_layer_size(ni_network_layer_params_t *p_param)
Definition ni_util.c:3989
const char * ni_get_rc_txt(ni_retcode_t rc)
Get text string for the provided error.
Definition ni_util.c:4359
int ni_pthread_cond_timedwait(ni_pthread_cond_t *cond, ni_pthread_mutex_t *mutex, const struct timespec *abstime)
wait on a condition
Definition ni_util.c:4900
int ni_retrieve_decoder_params(char xcoderParams[], ni_xcoder_params_t *params, ni_session_context_t *ctx)
retrieve decoder config parameter values from –decoder-params
Definition ni_util.c:4560
int ni_retrieve_xcoder_gop(char xcoderGop[], ni_xcoder_params_t *params, ni_session_context_t *ctx)
Retrieve custom gop config values from –xcoder-gop.
Definition ni_util.c:4490
void ni_usleep(int64_t usec)
Definition ni_util.c:362
struct tm * ni_localtime(struct tm *dest, const time_t *src)
Definition ni_util.c:1003
int ni_vsprintf(char *dest, const size_t dmax, const char *fmt, va_list args)
Definition ni_util.c:1040
char * ni_get_libxcoder_api_ver(void)
Get libxcoder API version.
Definition ni_util.c:4226
NI_DEPRECATED char * ni_get_compat_fw_api_ver(void)
Get FW API version libxcoder is compatible with. Deprecated in favour of ni_fmt_fw_api_ver_str(&NI_XC...
Definition ni_util.c:4239
uint64_t ni_gettime_ns(void)
Definition ni_util.c:2622
int ni_pthread_join(ni_pthread_t thread, void **value_ptr)
join with a terminated thread
Definition ni_util.c:4777
ni_retcode_t ni_network_layer_convert_tensor(uint8_t *dst, uint32_t dst_len, const char *tensor_file, ni_network_layer_params_t *p_param)
Definition ni_util.c:3862
int ni_insert_emulation_prevent_bytes(uint8_t *buf, int size)
Insert emulation prevention byte(s) as needed into the data buffer.
Definition ni_util.c:3215
void ni_get_frame_dim(int width, int height, ni_pix_fmt_t pix_fmt, int plane_stride[NI_MAX_NUM_DATA_POINTERS], int plane_height[NI_MAX_NUM_DATA_POINTERS])
Get dimension information of frame to be sent to encoder for encoding. Caller usually retrieves this ...
Definition ni_util.c:2716
int ni_pthread_mutex_unlock(ni_pthread_mutex_t *mutex)
thread mutex unlock
Definition ni_util.c:4712
int ni_sprintf(char *dest, size_t dmax, const char *fmt,...)
Definition ni_util.c:1063
char * ni_get_libxcoder_release_ver(void)
Get libxcoder SW release version.
Definition ni_util.c:4338
int ni_pthread_mutex_init(ni_pthread_mutex_t *mutex)
initialize a mutex
Definition ni_util.c:4630
ni_retcode_t ni_network_convert_data_to_tensor(float *dst, uint32_t dst_len, uint8_t *src, uint32_t src_len, ni_network_layer_params_t *p_param)
Definition ni_util.c:3882
int ni_pthread_cond_wait(ni_pthread_cond_t *cond, ni_pthread_mutex_t *mutex)
wait on a condition
Definition ni_util.c:4862
void ni_copy_hw_yuv420p(uint8_t *p_dst[NI_MAX_NUM_DATA_POINTERS], uint8_t *p_src[NI_MAX_NUM_DATA_POINTERS], int frame_width, int frame_height, int factor, int is_semiplanar, int conf_win_right, int dst_stride[NI_MAX_NUM_DATA_POINTERS], int dst_height[NI_MAX_NUM_DATA_POINTERS], int src_stride[NI_MAX_NUM_DATA_POINTERS], int src_height[NI_MAX_NUM_DATA_POINTERS])
Copy YUV data to Netint HW YUV420p frame layout to be sent to encoder for encoding....
Definition ni_util.c:2976
int ni_cmp_fw_api_ver(const char ver1[], const char ver2[])
Compare two 3 character strings containing a FW API version. Handle comparision when FW API version f...
Definition ni_util.c:4302
Utility definitions.
PNISCALERSETWATERMARKPARAMS niScalerSetWatermarkParams
PNIRECONFIGMAXFRAMESIZERATIO niReconfigMaxFrameSizeRatio
PNIDEVICESESSIONQUERYBUFFERAVAIL niDeviceSessionQueryBufferAvail
PNINETWORKCONVERTTENSORTODATA niNetworkConvertTensorToData
PNIENCODERGOPPARAMSSETVALUE niEncoderGopParamsSetValue
PNIDEVICESESSIONQUERYDETAILV1 niDeviceSessionQueryDetailV1
PNIENCODERINITDEFAULTPARAMS niEncoderInitDefaultParams
PNIUPLOADERFRAMEZEROCOPYCHECK niUploaderFrameZerocopyCheck
PNIDEVICESESSIONQUERYDETAIL niDeviceSessionQueryDetail
PNIINSERTEMULATIONPREVENTBYTES niInsertEmulationPreventBytes
PNIDEVICESESSIONUPDATEFRAMEPOOL niDeviceSessionUpdateFramepool
PNIDECODERFRAMEBUFFERPOOLRETURNBUF niDecoderFrameBufferPoolReturnBuf
PNIDEVICESESSIONACQUIREFORREAD niDeviceSessionAcquireForRead
PNIENCODERFRAMEZEROCOPYBUFFERALLOC niEncoderFrameZerocopyBufferAlloc
PNINETWORKLAYERCONVERTTENSOR niNetworkLayerConvertTensor
PNINETWORKCONVERTDATATOTENSOR niNetworkConvertDataToTensor
PNIDEVICEDECSESSIONSAVEHDRS niDeviceDecSessionSaveHdrs
PNIENCODERFRAMEZEROCOPYADJUST niEncoderFrameZerocopyAdjust
PNIENCODERFRAMEZEROCOPYCHECK niEncoderFrameZerocopyCheck
PNIDEVICESESSIONSEQUENCECHANGE niDeviceSessionSequenceChange
PNIDECODERINITDEFAULTPARAMS niDecoderInitDefaultParams
PNIDEVICESESSIONINITFRAMEPOOL niDeviceSessionInitFramepool
PNIDEVICESESSIONCONTEXTINIT niDeviceSessionContextInit
PNINETWORKLAYERCONVERTOUTPUT niNetworkLayerConvertOutput
PNIDEVICESESSIONCONTEXTALLOCINIT niDeviceSessionContextAllocInit
PNIDEVICESESSIONCONTEXTCLEAR niDeviceSessionContextClear
PNIFRAMENEWAUXDATAFROMRAWDATA niFrameNewAuxDataFromRawData
PNIDEVICESESSIONCONTEXTFREE niDeviceSessionContextFree
PNIENCODERSESSIONREADSTREAMHEADER niEncoderSessionReadStreamHeader
PNIUPLOADERFRAMEBUFFERUNLOCK niUploaderFrameBufferUnlock
PNIDEVICEALLOCANDGETFIRMWARELOGS niDeviceAllocAndGetFirmwareLogs
PNIENCODERSETINPUTFRAMEFORMAT niEncoderSetInputFrameFormat
PNIREMOVEEMULATIONPREVENTBYTES niRemoveEmulationPreventBytes
PNIDEVICECONFIGNAMESPACENUM niDeviceConfigNamespaceNum
PNIENCODERSWFRAMEBUFFERALLOC niEncoderSwFrameBufferAlloc
device capability type