libxcoder  5.2.0
ni_rsrc_api.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_rsrc_api.h
24  *
25  * \brief Public definitions for managing NETINT video processing devices
26  ******************************************************************************/
27 
28 #pragma once
29 
30 #include "ni_defs.h"
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 #define NI_PROFILES_SUPP_STR_LEN 128
37 #define NI_LEVELS_SUPP_STR_LEN 64
38 #define NI_ADDITIONAL_INFO_STR_LEN 64
39 
40 typedef struct _ni_rsrc_video_ref_cap
41 {
42  int width;
43  int height;
44  int fps;
46 
47 typedef enum
48 {
49  EN_INVALID = -1,
50  EN_H264 = 0,
56 } ni_codec_t;
57 
58 extern bool g_device_in_ctxt;
59 extern ni_device_handle_t g_dev_handle;
60 
61 typedef enum
62 {
66 
67 typedef struct _ni_device_queue
68 {
72 
74 {
76  int supports_codec; // -1 (none), value of type ni_codec_t
85 
86 typedef struct _ni_sw_instance_info
87 {
88  int id;
91  int width;
92  int height;
93  int fps;
95 
96 typedef struct _ni_device_pool
97 {
98  ni_lock_handle_t lock;
101 
102 typedef struct _ni_device_info
103 {
106  int hw_id;
107  int module_id;
108  int load;
110  uint64_t xcode_load_pixel;
111  int fw_ver_compat_warning; // fw revision is not fully supported by this libxcoder
112  uint8_t fl_ver_nor_flash[8]; // firmware loader version stored in nor flash
113  uint8_t fl_ver_last_ran[8];
114  uint8_t fw_rev_nor_flash[8]; // fw revision stored in nor flash
115  uint8_t fw_rev[8]; // fw revision loaded, i.e., running
116  uint8_t fw_branch_name[256];
117  uint8_t fw_commit_time[26];
118  uint8_t fw_commit_hash[41];
119  uint8_t fw_build_time[26];
120  uint8_t fw_build_id[256];
121 
122  uint8_t serial_number[20];
123  uint8_t model_number[40];
124 
128  uint32_t active_num_inst;
133 
135  ni_lock_handle_t lock;
137 
138 // This structure is very big (2.6MB). Recommend storing in heap
139 typedef struct _ni_device
140 {
143 } ni_device_t;
144 
145 typedef struct _ni_device_context
146 {
148  ni_lock_handle_t lock;
151 
152 typedef struct _ni_card_info_quadra
153 {
154  int card_idx;
155  int load;
157  int task_num;
162 
164 {
171  int err_code;
173 
175 {
176  uint32_t fps;
177  uint32_t h;
178  uint32_t w;
179  uint32_t code_format;
181  uint32_t rdoLevel;
182  uint32_t lookaheadDepth;
183  uint32_t bit_8_10;
184  int uploader;/*1 for uploader,0 for not uploader*/
185  int rgba;/*1 for rgba,0 for not*/
187 
189 {
190  uint32_t fps;
191  uint32_t h;
192  uint32_t w;
193  uint32_t bit_8_10;
194  int rgba;
195  int hw_frame;/*if out=hw,1 for out = hw_frame,0 for not*/
197 
199 {
200  uint32_t h;
201  uint32_t w;
202  uint32_t bit_8_10;
203  int rgba;
205 
207 {
208  uint32_t h;
209  uint32_t w;
210  uint32_t bit_8_10;
211  int rgba;
213 
215 {
220 
222 {
223  int hw_mode;
229 typedef struct _ni_device_vf_ns_id
230 {
231  uint16_t vf_id;
232  uint16_t ns_id;
234 
235 typedef struct _ni_device_temp
236 {
237  int32_t composite_temp;
238  int32_t on_board_temp;
239  int32_t on_die_temp;
241 
242 typedef struct _ni_device_extra_info
243 {
244  int32_t composite_temp;
245  int32_t on_board_temp;
246  int32_t on_die_temp;
249  uint32_t reserve[3];
251 
252 typedef enum
253 {
257 
258 /*!******************************************************************************
259  * \brief Initialize and create all resources required to work with NETINT NVMe
260  * transcoder devices. This is a high level API function which is used
261  * mostly with user application like FFmpeg that relies on those resources.
262  * In case of custom application integration, revised functionality might
263  * be necessary utilizing coresponding API functions.
264  *
265  * \param[in] should_match_rev 0: transcoder firmware revision matching the
266  * library's version is NOT required for placing
267  * the transcoder into resource pool; 1: otherwise
268  * timeout_seconds 0: No timeout amount, loop until init success
269  * or fail; else: timeout will fail init once reached
270  *
271  * \return
272  * NI_RETCODE_SUCCESS on success
273  * NI_RETCODE_FAILURE on failure
274  *
275  *******************************************************************************/
276 LIB_API int ni_rsrc_init(int should_match_rev, int timeout_seconds);
277 
278 /*!*****************************************************************************
279  * \brief Scan and refresh all resources on the host, taking into account
280  * hot-plugged and pulled out cards.
281  *
282  * \param[in] should_match_rev 0: transcoder firmware revision matching the
283  * library's version is NOT required for placing
284  * the transcoder into resource pool; 1: otherwise
285  *
286  * \return
287  * NI_RETCODE_SUCCESS on success
288  * NI_RETCODE_FAILURE on failure
289  *
290  ******************************************************************************/
291 LIB_API ni_retcode_t ni_rsrc_refresh(int should_match_rev);
292 
293 /*!******************************************************************************
294  * \brief Scans system for all NVMe devices and returns the system device
295  * names to the user which were identified as NETINT transcoder deivices.
296  * Names are suitable for OpenFile api usage afterwards
297  * This function had been replaced by ni_rsrc_get_local_device_list2
298  * This function can't be callback with multi thread
299  *
300  *
301  * \param[out] ni_devices List of device names identified as NETINT NVMe transcoders
302  * \param[in] max_handles Max number of device names to return
303  *
304  * \return Number if devices found if successfull operation completed
305  * 0 if no NETINT NVMe transcoder devices were found
306  * NI_RETCODE_ERROR_MEM_ALOC if memory allocation failed
307  *******************************************************************************/
309  int max_handles);
310 
311 /*!*****************************************************************************
312  * \brief Scans system for all NVMe devices and returns the system device
313  * names to the user which were identified as NETINT transcoder
314  * devices. Names are suitable for resource management API usage
315  * afterwards
316  * This function had replaced ni_rsrc_get_local_device_list
317  * This function can be callback with multi thread
318  *
319  * \param[out] ni_devices List of device names identified as NETINT NVMe
320  * transcoders
321  * \param[in] max_handles Max number of device names to return
322  * \param[in] xcoder_refresh_dev_names Xcoder fresh device name
323  * \param[in] xcoder_refresh_dev_count Xcoder fresh device number count
324  *
325  * \return Number of devices found. 0 if unsucessful.
326  ******************************************************************************/
328  int max_handles, char **xcoder_refresh_dev_names,
329  int xcoder_refresh_dev_count);
330 
331 /*!******************************************************************************
332 * \brief Allocates and returns a pointer to ni_device_context_t struct
333 * based on provided device_type and guid.
334 * To be used for load update and codec query.
335 *
336  * \param[in] device_type NI_DEVICE_TYPE_DECODER or NI_DEVICE_TYPE_ENCODER
337  * \param[in] guid GUID of the encoder or decoder device
338 *
339 * \return pointer to ni_device_context_t if found, NULL otherwise
340 *
341 * Note: The returned ni_device_context_t content is not supposed to be used by
342 * caller directly: should only be passed to API in the subsequent
343 * calls; also after its use, the context should be released by
344 * calling ni_rsrc_free_device_context.
345 *******************************************************************************/
347 
348 /*!******************************************************************************
349  * \brief Free previously allocated device context
350  *
351  * \param p_device_context Pointer to previously allocated device context
352  *
353  * \return None
354  *******************************************************************************/
356 
357 /*!******************************************************************************
358 * \brief List device(s) based on device type with full information
359 * including s/w instances on the system.
360 *
361 * \param[in] device_type NI_DEVICE_TYPE_DECODER or NI_DEVICE_TYPE_ENCODER
362 * \param[out] p_device The device information returned.
363 * \param[out] p_device_count The number of ni_device_info_t structs returned.
364 *
365 * \return
366 * NI_RETCODE_SUCCESS
367 * NI_RETCODE_FAILURE
368 *
369 * Note: Caller is responsible for allocating memory for "p_device".
370 *******************************************************************************/
372  ni_device_info_t* p_device_info, int* p_device_count);
373 
374 /*!******************************************************************************
375 * \brief List all devices with full information including s/w instances
376 * on the system.
377 
378 * \param[out] p_device The device information returned.
379 *
380 * \return
381 * NI_RETCODE_SUCCESS
382 * NI_RETCODE_INVALID_PARAM
383 * NI_RETCODE_FAILURE
384 *
385 * Note: Caller is responsible for allocating memory for "p_device".
386 *******************************************************************************/
388 
389 /*!******************************************************************************
390 * \brief Grabs information for every initialized and uninitialized
391 * device.
392 
393 * \param[out] p_device The device information returned.
394 * \param list_uninitialized Flag to determine if uninitialized devices
395 * should be grabbed.
396 *
397 * \return
398 * NI_RETCODE_SUCCESS
399 * NI_RETCODE_INVALID_PARAM
400 * NI_RETCODE_FAILURE
401 *
402 * Note: Caller is responsible for allocating memory for "p_device".
403 *******************************************************************************/
404 LIB_API ni_retcode_t ni_rsrc_list_all_devices2(ni_device_t* p_device, bool list_uninitialized);
405 
406 /*!*****************************************************************************
407 * \brief Print detailed capability information of all devices
408 * on the system.
409 
410 * \param none
411 *
412 * \return none
413 *
414 *******************************************************************************/
416 
417 /*!*****************************************************************************
418 * \brief Prints detailed capability information for all initialized
419 * devices and general information about uninitialized devices.
420 
421 * \param list_uninitialized Flag to determine if uninitialized devices
422 * should be grabbed.
423 *
424 * \return none
425 *
426 *******************************************************************************/
427 LIB_API void ni_rsrc_print_all_devices_capability2(bool list_uninitialized);
428 
429 /*!******************************************************************************
430 * \brief Query a specific device with detailed information on the system
431 
432 * \param[in] device_type NI_DEVICE_TYPE_DECODER or NI_DEVICE_TYPE_ENCODER
433 * \param[in] guid unique device(decoder or encoder) id
434 *
435 * \return
436 * pointer to ni_device_info_t if found
437 * NULL otherwise
438 *
439 * Note: Caller is responsible for releasing memory that was allocated for the
440 * returned pointer
441 *******************************************************************************/
443 
444 /*!****************************************************************************
445 * \brief Get GUID of the device by block device name and type
446 *
447 * \param[in] blk_name device's block name
448 * \param[in] type device type
449 *
450 * \return device GUID (>= 0) if found, NI_RETCODE_FAILURE (-1) otherwise
451 *******************************************************************************/
452 LIB_API int ni_rsrc_get_device_by_block_name(const char *blk_name,
453  ni_device_type_t device_type);
454 
455 /*!*****************************************************************************
456 * \brief Update the load value and s/w instances info of a specific decoder or
457 * encoder. This is used by resource management daemon to update periodically.
458 *
459 * \param[in] p_ctxt The device context returned by ni_rsrc_get_device_context
460 * \param[in] p_load The latest load value to update
461 * \param[in] sw_instance_cnt Number of s/w instances
462 * \param[in] sw_instance_info Info of s/w instances
463 *
464 * \return
465 * NI_RETCODE_SUCCESS
466 * NI_RETCODE_FAILURE
467 *******************************************************************************/
468 int ni_rsrc_update_device_load(ni_device_context_t* p_ctxt, int load,
469  int sw_instance_cnt, const ni_sw_instance_info_t sw_instance_info[]);
470 
471 /*!*****************************************************************************
472 * \brief Allocate resources for decoding/encoding, by designating explicitly
473 * the device to use. do not track the load on the host side
474 *
475 * \param[in] device_type NI_DEVICE_TYPE_DECODER or NI_DEVICE_TYPE_ENCODER
476 * \param[in] guid unique device (decoder or encoder) module id
477 * \return pointer to ni_device_context_t if found, NULL otherwise
478 *
479 * Note: only need to specify the device type and guid and codec type
480 *
481 *
482 * Note: the returned ni_device_context_t content is not supposed to be used by
483 * caller directly: should only be passed to API in the subsequent
484 * calls; also after its use, the context should be released by
485 * calling ni_rsrc_free_device_context.
486 *******************************************************************************/
488 (
489  ni_device_type_t device_type,
490  int guid
491 );
492 
493 /*!*****************************************************************************
494 * \brief Release resources allocated for decoding/encoding.
495 * function This *must* be called at the end of transcoding
496 * with previously assigned load value by allocate* functions.
497 *
498 * \param[in/out] p_ctxt the device context
499 * \param[in] load the load value returned by allocate* functions
500 *
501 * \return None
502 *******************************************************************************/
504  uint64_t load);
505 
506 /*!*****************************************************************************
507 * \brief check the NetInt h/w device in resource pool on the host.
508 *
509 * \param[in] guid the global unique device index in resource pool
510 * device_type NI_DEVICE_TYPE_DECODER or NI_DEVICE_TYPE_ENCODER
511 *
512 * \return
513 * NI_RETCODE_SUCCESS
514 *******************************************************************************/
515 LIB_API int ni_rsrc_check_hw_available(int guid, ni_device_type_t device_type);
516 
517 /*!*****************************************************************************
518 * \brief Remove an NetInt h/w device from resource pool on the host.
519 *
520 * \param[in] p_dev the NVMe device name
521 *
522 * \return
523 * NI_RETCODE_SUCCESS
524 * NI_RETCODE_FAILURE
525 *******************************************************************************/
526 LIB_API int ni_rsrc_remove_device(const char* p_dev);
527 
528 /*!*****************************************************************************
529 * \brief Remove all NetInt h/w devices from resource pool on the host.
530 *
531 * \param none
532 *
533 * \return
534 * NI_RETCODE_SUCCESS
535 * NI_RETCODE_FAILURE
536 *******************************************************************************/
538 
539 /*!*****************************************************************************
540 * \brief Add an NetInt h/w device into resource pool on the host.
541 *
542 * \param[in] p_dev the NVMe device name
543 * \param[in] should_match_rev 0: transcoder firmware revision matching the
544 * library's version is NOT required for placing
545 * the transcoder into resource pool; 1: otherwise
546 *
547 * \return
548 * NI_RETCODE_SUCCESS
549 * NI_RETCODE_INVALID_PARAM
550 * NI_RETCODE_FAILURE
551 *******************************************************************************/
552 LIB_API int ni_rsrc_add_device(const char* p_dev, int should_match_rev);
553 
554 /*!*****************************************************************************
555  * \brief Create and return the allocated ni_device_pool_t struct
556  *
557  * \param None
558  *
559  * \return Pointer to ni_device_pool_t struct on success, or NULL on failure
560  *******************************************************************************/
562 
563 /*!*****************************************************************************
564 * \brief Free all resources taken by the device pool
565 *
566 * \param[in] p_device_pool Poiner to a device pool struct
567 *
568 * \return None
569 *******************************************************************************/
571 
572 /*!*****************************************************************************
573  * \brief Print the content of the ni_device_info_t struct
574  *
575  * \param p_device_info - pointer to the ni_device_info_t struct to print
576  *
577  * \return None
578  *******************************************************************************/
579 LIB_API void ni_rsrc_print_device_info(const ni_device_info_t* p_device_info);
580 
581 /*!*****************************************************************************
582  * \brief lock a file lock and open a session on a device
583  *
584  * \param device_type
585  * \param lock
586  *
587  * \return None
588  *******************************************************************************/
589 LIB_API int ni_rsrc_lock_and_open(int device_type, ni_lock_handle_t* lock);
590 
591 /*!*****************************************************************************
592  * \brief unlock a file lock
593  *
594  * \param device_type
595  * \param lock
596  *
597  * \return None
598  *******************************************************************************/
599 LIB_API int ni_rsrc_unlock(int device_type, ni_lock_handle_t lock);
600 
601 /*!*****************************************************************************
602 * \brief check if device FW revision is compatible with SW API
603 *
604 * \param fw_rev
605 *
606 * \return 1 for full compatibility, 2 for partial, 0 for none
607 *******************************************************************************/
608 LIB_API int ni_rsrc_is_fw_compat(uint8_t fw_rev[8]);
609 
610 /*!******************************************************************************
611  * \brief Create a pointer to hw_device_info_coder_param_t instance .This instance will be created and
612  * set to default vaule by param mode.You may change the resolution fps bit_8_10 or other vaule you want to set.
613  *
614  * \param[in] mode:0:create instance with decoder_param ,encoder_param, scaler_param and ai_param will be set to NULL
615  * 1:create instance with encoder_param ,decoder_param, scaler_param and ai_param will be set to NULL
616  * 2:create instance with scaler_param ,decoder_param, encoder_param and ai_param will be set to NULL
617  * 3:create instance with ai_param ,decoder_param, encoder_param and scaler_param will be set to NULL
618  * >= 4:create instance with decoder_param encoder_param scaler_param and ai_param for ni_check_hw_info() hw_mode
619  *
620  * \return NULL-error,pointer to an instance when success
621  *******************************************************************************/
623 
624 /*!******************************************************************************
625  * \brief Release a pointer to hw_device_info_coder_param_t instance created by create_hw_device_info_coder_param
626  *
627  *
628  * \param[in] p_hw_device_info_coder_param:pointer to a hw_device_info_coder_param_t instance created by create_hw_device_info_coder_param
629  *
630  *******************************************************************************/
632 
633 /*!******************************************************************************
634  * \brief Create a pointer to ni_hw_device_info_quadra_t instance .
635  *
636  * \param[in] device_type_num:number of device type to be allocated in this function
637  *
638  * \param[in] avaliable_card_num:number of avaliable card per device to be allocated in this function
639  *
640  * \return NULL-error,pointer to an instance when success
641  *******************************************************************************/
642 LIB_API ni_hw_device_info_quadra_t *ni_hw_device_info_alloc_quadra(int device_type_num,int avaliable_card_num);
643 
644 /*!******************************************************************************
645  * \brief Release a pointer to ni_hw_device_info_quadra_t instance created by create_hw_device_info_coder_param
646  *
647  *
648  * \param[in] p_hw_device_info:pointer to a ni_hw_device_info_quadra_t instance created by create_hw_device_info_coder_param
649  *
650  *******************************************************************************/
652 
653 /*!*****************************************************************************
654  * \brief check hw info, return the appropriate card number to use depends on the load&task_num&used resource
655  *
656  * \param[out] pointer_to_p_hw_device_info : pointer to user-supplied ni_hw_device_info_quadra_t (allocated by ni_hw_device_info_alloc).
657  * May be a ponter to NULL ,in which case a ni_hw_device_info_quadra_coder_param_t is allocated by this function
658  * and written to pointer_to_p_hw_device_info.
659  * record the device info, including available card num and which card to select,
660  * and each card's informaton, such as, the load, task num, device type
661  * \param[in] task_mode: affect the scheduling strategy,
662  * 1 - both the load_num and task_num should consider, usually applied to live scenes
663  * 0 - only consider the task_num, don not care the load_num
664  * \param[in] hw_info_threshold_param : an array of threshold including device type task threshold and load threshold
665  * in hw_mode fill the arry with both encoder and decoder threshold or
666  * fill the arry with preferential device type threshold when don not in hw_mode
667  * load threshold in range[0:100] task num threshold in range [0:32]
668  * \param[in] preferential_device_type : which device type is preferential 0:decode 1:encode .
669  * This need to set to encoder/decoder even if in sw_mode to check whether coder_param is wrong.
670  * \param[in] coder_param : encoder and decoder information that helps to choose card .This coder_param can be created and
671  * set to default value by function hw_device_info_coder_param_t * create_hw_device_info_coder_param().
672  * You may change the resolution fps bit_8_10 or other vaule you want to use
673  * \param[in] hw_mode:Set 1 then this function will choose encoder and decoder in just one card .
674  * When no card meets the conditions ,NO card will be choosed.
675  * You can try to use set hw_mode 0 to use sw_mode to do encoder/decoder in different card when hw_mode reports an error
676  * In hw_mode set both encoder_param and decoder_param in coder_param.
677  * Set 0 then just consider sw_mode to choose which card to do encode/decode,
678  * In sw_mode set one param in coder_param the other one will be set to NULL.
679  * \param[in] consider_mem : set 1 this function will consider memory usage extra
680  * set 0 this function will not consider memory usage
681  *
682  * \return 0-error 1-success
683  *******************************************************************************/
684 LIB_API int ni_check_hw_info(ni_hw_device_info_quadra_t **pointer_to_p_hw_device_info,
685  int task_mode,
686  ni_hw_device_info_quadra_threshold_param_t *hw_info_threshold_param,
687  ni_device_type_t preferential_device_type,
689  int hw_mode,
690  int consider_mem);
691 
692 
693 /*!*****************************************************************************
694 * \brief Allocate resources for decoding/encoding, based on the provided rule
695 *
696 * \param[in] device_type NI_DEVICE_TYPE_DECODER or NI_DEVICE_TYPE_ENCODER
697 * \param[in] rule allocation rule
698 * \param[in] codec EN_H264 or EN_H265
699 * \param[in] width width of video resolution
700 * \param[in] height height of video resolution
701 * \param[in] frame_rate video stream frame rate
702 * \param[out] p_load the load that will be generated by this encoding
703 * task. Returned *only* for encoder for now.
704 *
705 * \return pointer to ni_device_context_t if found, NULL otherwise
706 *
707 * Note: codec, width, height, fps need to be supplied for NI_DEVICE_TYPE_ENCODER only,
708 * they are ignored otherwize.
709 * Note: the returned ni_device_context_t content is not supposed to be used by
710 * caller directly: should only be passed to API in the subsequent
711 * calls; also after its use, the context should be released by
712 * calling ni_rsrc_free_device_context.
713 *******************************************************************************/
715  ni_alloc_rule_t rule,
716  ni_codec_t codec,
717  int width, int height,
718  int frame_rate,
719  uint64_t *p_load);
720 
721 #ifdef __cplusplus
722 }
723 #endif
_ni_card_info_quadra::firmware_load
int firmware_load
Definition: ni_rsrc_api.h:160
_ni_hw_device_info_quadra::card_current_card
int card_current_card
Definition: ni_rsrc_api.h:170
ni_device_video_capability_t
struct _ni_device_video_capability ni_device_video_capability_t
EN_ACTIVE
@ EN_ACTIVE
Definition: ni_rsrc_api.h:64
_ni_device_video_capability
Definition: ni_rsrc_api.h:73
_ni_device_info::fw_rev
uint8_t fw_rev[8]
Definition: ni_rsrc_api.h:115
_ni_device_pool::lock
ni_lock_handle_t lock
Definition: ni_rsrc_api.h:98
ni_card_info_quadra_t
struct _ni_card_info_quadra ni_card_info_quadra_t
ni_rsrc_print_all_devices_capability2
LIB_API void ni_rsrc_print_all_devices_capability2(bool list_uninitialized)
Prints detailed capability information for all initialized devices and general information about unin...
Definition: ni_rsrc_api.cpp:1713
_ni_device_info::serial_number
uint8_t serial_number[20]
Definition: ni_rsrc_api.h:122
EN_INVALID
@ EN_INVALID
Definition: ni_rsrc_api.h:49
_ni_hw_device_info_quadra::err_code
int err_code
Definition: ni_rsrc_api.h:171
_ni_device_info::dev_cap
ni_device_video_capability_t dev_cap[EN_CODEC_MAX]
Definition: ni_rsrc_api.h:132
ni_hw_device_info_quadra_coder_param_t
struct _ni_hw_device_info_quadra_coder_param ni_hw_device_info_quadra_coder_param_t
_ni_hw_device_info_quadra_decoder_param::fps
uint32_t fps
Definition: ni_rsrc_api.h:190
_ni_device::xcoders
ni_device_info_t xcoders[NI_DEVICE_TYPE_XCODER_MAX][NI_MAX_DEVICE_CNT]
Definition: ni_rsrc_api.h:142
_ni_hw_device_info_quadra_encoder_param::uploader
int uploader
Definition: ni_rsrc_api.h:184
_ni_hw_device_info_quadra_ai_param
Definition: ni_rsrc_api.h:206
ni_rsrc_get_device_context
LIB_API ni_device_context_t * ni_rsrc_get_device_context(ni_device_type_t type, int guid)
Allocates and returns a pointer to ni_device_context_t struct based on provided device_type and guid....
ni_hw_device_info_quadra_threshold_param_t
struct _ni_hw_device_info_quadra_threshold_param ni_hw_device_info_quadra_threshold_param_t
_ni_device_extra_info::on_board_temp
int32_t on_board_temp
Definition: ni_rsrc_api.h:245
_ni_hw_device_info_quadra_encoder_param::code_format
uint32_t code_format
Definition: ni_rsrc_api.h:179
_ni_hw_device_info_quadra_encoder_param::rdoLevel
uint32_t rdoLevel
Definition: ni_rsrc_api.h:181
_ni_hw_device_info_quadra_encoder_param::w
uint32_t w
Definition: ni_rsrc_api.h:178
_ni_hw_device_info_quadra_encoder_param::lookaheadDepth
uint32_t lookaheadDepth
Definition: ni_rsrc_api.h:182
_ni_device_info::fw_commit_hash
uint8_t fw_commit_hash[41]
Definition: ni_rsrc_api.h:118
ni_device_pool_t
struct _ni_device_pool ni_device_pool_t
_ni_device_video_capability::max_res_height
int max_res_height
Definition: ni_rsrc_api.h:78
ni_device_type_t
ni_device_type_t
Definition: ni_defs.h:341
_ni_hw_device_info_quadra_scaler_param::h
uint32_t h
Definition: ni_rsrc_api.h:200
_ni_device_info::xcode_load_pixel
uint64_t xcode_load_pixel
Definition: ni_rsrc_api.h:110
_ni_device_extra_info::reserve
uint32_t reserve[3]
Definition: ni_rsrc_api.h:249
ni_codec_t
ni_codec_t
Definition: ni_rsrc_api.h:47
ni_rsrc_list_all_devices
LIB_API ni_retcode_t ni_rsrc_list_all_devices(ni_device_t *p_device)
List all devices with full information including s/w instances on the system.
Definition: ni_rsrc_api.cpp:1445
ni_hw_device_info_quadra_scaler_param_t
struct _ni_hw_device_info_quadra_scaler_param ni_hw_device_info_quadra_scaler_param_t
ni_device_queue_t
struct _ni_device_queue ni_device_queue_t
ni_sw_instance_status_t
ni_sw_instance_status_t
Definition: ni_rsrc_api.h:61
_ni_hw_device_info_quadra_decoder_param::bit_8_10
uint32_t bit_8_10
Definition: ni_rsrc_api.h:193
ni_rsrc_list_devices
LIB_API ni_retcode_t ni_rsrc_list_devices(ni_device_type_t device_type, ni_device_info_t *p_device_info, int *p_device_count)
List device(s) based on device type with full information including s/w instances on the system.
Definition: ni_rsrc_api.cpp:1340
_ni_hw_device_info_quadra_ai_param::h
uint32_t h
Definition: ni_rsrc_api.h:208
_ni_hw_device_info_quadra_scaler_param
Definition: ni_rsrc_api.h:198
_ni_device_video_capability::min_res_width
int min_res_width
Definition: ni_rsrc_api.h:79
ni_rsrc_get_local_device_list2
LIB_API int ni_rsrc_get_local_device_list2(char ni_devices[][NI_MAX_DEVICE_NAME_LEN], int max_handles, char **xcoder_refresh_dev_names, int xcoder_refresh_dev_count)
Scans system for all NVMe devices and returns the system device names to the user which were identifi...
_ni_device_info::active_num_inst
uint32_t active_num_inst
Definition: ni_rsrc_api.h:128
EN_H265
@ EN_H265
Definition: ni_rsrc_api.h:51
_ni_device::xcoder_cnt
int xcoder_cnt[NI_DEVICE_TYPE_XCODER_MAX]
Definition: ni_rsrc_api.h:141
_ni_device_context::lock
ni_lock_handle_t lock
Definition: ni_rsrc_api.h:148
_ni_device
Definition: ni_rsrc_api.h:139
_ni_device_info::fl_ver_nor_flash
uint8_t fl_ver_nor_flash[8]
Definition: ni_rsrc_api.h:112
ni_rsrc_get_device_info
LIB_API ni_device_info_t * ni_rsrc_get_device_info(ni_device_type_t device_type, int guid)
Query a specific device with detailed information on the system.
Definition: ni_rsrc_api.cpp:1748
_ni_device_pool::p_device_queue
ni_device_queue_t * p_device_queue
Definition: ni_rsrc_api.h:99
ni_device_temp_t
struct _ni_device_temp ni_device_temp_t
_ni_hw_device_info_quadra_threshold_param::device_type
ni_device_type_t device_type
Definition: ni_rsrc_api.h:216
_ni_sw_instance_info::height
int height
Definition: ni_rsrc_api.h:92
ni_rsrc_release_resource
LIB_API void ni_rsrc_release_resource(ni_device_context_t *p_ctxt, uint64_t load)
Release resources allocated for decoding/encoding. function This must be called at the end of transco...
Definition: ni_rsrc_api.cpp:1953
ni_rsrc_free_device_pool
LIB_API void ni_rsrc_free_device_pool(ni_device_pool_t *p_device_pool)
Free all resources taken by the device pool.
Definition: ni_rsrc_api.cpp:2621
_ni_rsrc_video_ref_cap::width
int width
Definition: ni_rsrc_api.h:42
_ni_device_video_capability::additional_info
char additional_info[NI_ADDITIONAL_INFO_STR_LEN]
Definition: ni_rsrc_api.h:83
_ni_hw_device_info_quadra_encoder_param::ui8enableRdoQuant
uint32_t ui8enableRdoQuant
Definition: ni_rsrc_api.h:180
ni_rsrc_get_device_by_block_name
LIB_API int ni_rsrc_get_device_by_block_name(const char *blk_name, ni_device_type_t device_type)
Get GUID of the device by block device name and type.
Definition: ni_rsrc_api.cpp:1799
_ni_sw_instance_info::width
int width
Definition: ni_rsrc_api.h:91
_ni_sw_instance_info::fps
int fps
Definition: ni_rsrc_api.h:93
ni_rsrc_get_local_device_list
LIB_API NI_DEPRECATED int ni_rsrc_get_local_device_list(char ni_devices[][NI_MAX_DEVICE_NAME_LEN], int max_handles)
Scans system for all NVMe devices and returns the system device names to the user which were identifi...
_ni_hw_device_info_quadra_threshold_param::task_num_threshold
int task_num_threshold
Definition: ni_rsrc_api.h:218
_ni_hw_device_info_quadra::device_type
ni_device_type_t * device_type
Definition: ni_rsrc_api.h:168
_ni_hw_device_info_quadra_encoder_param::bit_8_10
uint32_t bit_8_10
Definition: ni_rsrc_api.h:183
_ni_hw_device_info_quadra_ai_param::rgba
int rgba
Definition: ni_rsrc_api.h:211
_ni_device_extra_info::power_consumption
uint32_t power_consumption
Definition: ni_rsrc_api.h:247
_ni_device_info::fw_ver_compat_warning
int fw_ver_compat_warning
Definition: ni_rsrc_api.h:111
EN_H264
@ EN_H264
Definition: ni_rsrc_api.h:50
ni_rsrc_check_hw_available
LIB_API int ni_rsrc_check_hw_available(int guid, ni_device_type_t device_type)
check the NetInt h/w device in resource pool on the host.
Definition: ni_rsrc_api.cpp:2016
_ni_device_info::fw_commit_time
uint8_t fw_commit_time[26]
Definition: ni_rsrc_api.h:117
_ni_device_info::hw_id
int hw_id
Definition: ni_rsrc_api.h:106
_ni_device_extra_info::composite_temp
int32_t composite_temp
Definition: ni_rsrc_api.h:244
ni_create_hw_device_info_quadra_coder_param
LIB_API ni_hw_device_info_quadra_coder_param_t * ni_create_hw_device_info_quadra_coder_param(int mode)
Create a pointer to hw_device_info_coder_param_t instance .This instance will be created and set to d...
Definition: ni_rsrc_api.cpp:3118
_ni_hw_device_info_quadra_coder_param::ai_param
ni_hw_device_info_quadra_ai_param_t * ai_param
Definition: ni_rsrc_api.h:227
_ni_device_info::dev_name
char dev_name[NI_MAX_DEVICE_NAME_LEN]
Definition: ni_rsrc_api.h:104
ni_retcode_t
ni_retcode_t
Definition: ni_defs.h:425
EN_ALLOC_LEAST_LOAD
@ EN_ALLOC_LEAST_LOAD
Definition: ni_rsrc_api.h:254
_ni_hw_device_info_quadra_ai_param::w
uint32_t w
Definition: ni_rsrc_api.h:209
ni_rsrc_allocate_auto
LIB_API ni_device_context_t * ni_rsrc_allocate_auto(ni_device_type_t device_type, ni_alloc_rule_t rule, ni_codec_t codec, int width, int height, int frame_rate, uint64_t *p_load)
Allocate resources for decoding/encoding, based on the provided rule.
Definition: ni_rsrc_api.cpp:4103
_ni_hw_device_info_quadra_scaler_param::w
uint32_t w
Definition: ni_rsrc_api.h:201
_ni_device_vf_ns_id::ns_id
uint16_t ns_id
Definition: ni_rsrc_api.h:232
_ni_rsrc_video_ref_cap::height
int height
Definition: ni_rsrc_api.h:43
_ni_card_info_quadra::model_load
int model_load
Definition: ni_rsrc_api.h:156
NI_MAX_CONTEXTS_PER_HW_INSTANCE
#define NI_MAX_CONTEXTS_PER_HW_INSTANCE
Definition: ni_defs.h:236
_ni_rsrc_video_ref_cap
Definition: ni_rsrc_api.h:40
ni_rsrc_get_device_pool
LIB_API ni_device_pool_t * ni_rsrc_get_device_pool(void)
Create and return the allocated ni_device_pool_t struct.
ni_hw_device_info_quadra_ai_param_t
struct _ni_hw_device_info_quadra_ai_param ni_hw_device_info_quadra_ai_param_t
_ni_hw_device_info_quadra_encoder_param
Definition: ni_rsrc_api.h:174
_ni_device_queue::xcoders
int32_t xcoders[NI_DEVICE_TYPE_XCODER_MAX][NI_MAX_DEVICE_CNT]
Definition: ni_rsrc_api.h:70
ni_device_info_t
struct _ni_device_info ni_device_info_t
NI_PROFILES_SUPP_STR_LEN
#define NI_PROFILES_SUPP_STR_LEN
Definition: ni_rsrc_api.h:36
_ni_device_info::lock
ni_lock_handle_t lock
Definition: ni_rsrc_api.h:135
ni_defs.h
Common NETINT definitions used by all modules.
EN_JPEG
@ EN_JPEG
Definition: ni_rsrc_api.h:53
_ni_device_info::fw_rev_nor_flash
uint8_t fw_rev_nor_flash[8]
Definition: ni_rsrc_api.h:114
_ni_device_video_capability::profiles_supported
char profiles_supported[NI_PROFILES_SUPP_STR_LEN]
Definition: ni_rsrc_api.h:81
_ni_device_info::max_instance_cnt
int max_instance_cnt
Definition: ni_rsrc_api.h:127
_ni_device_info
Definition: ni_rsrc_api.h:102
_ni_hw_device_info_quadra_ai_param::bit_8_10
uint32_t bit_8_10
Definition: ni_rsrc_api.h:210
_ni_device_temp::on_board_temp
int32_t on_board_temp
Definition: ni_rsrc_api.h:238
ni_alloc_rule_t
ni_alloc_rule_t
Definition: ni_rsrc_api.h:252
_ni_hw_device_info_quadra_encoder_param::fps
uint32_t fps
Definition: ni_rsrc_api.h:176
_ni_card_info_quadra::card_idx
int card_idx
Definition: ni_rsrc_api.h:154
ni_rsrc_refresh
LIB_API ni_retcode_t ni_rsrc_refresh(int should_match_rev)
Scan and refresh all resources on the host, taking into account hot-plugged and pulled out cards.
Definition: ni_rsrc_api.cpp:159
_ni_hw_device_info_quadra_encoder_param::h
uint32_t h
Definition: ni_rsrc_api.h:177
EN_AV1
@ EN_AV1
Definition: ni_rsrc_api.h:54
_ni_device_info::fl_ver_last_ran
uint8_t fl_ver_last_ran[8]
Definition: ni_rsrc_api.h:113
g_device_in_ctxt
bool g_device_in_ctxt
Definition: ni_rsrc_api.cpp:62
ni_device_extra_info_t
struct _ni_device_extra_info ni_device_extra_info_t
ni_check_hw_info
LIB_API int ni_check_hw_info(ni_hw_device_info_quadra_t **pointer_to_p_hw_device_info, int task_mode, ni_hw_device_info_quadra_threshold_param_t *hw_info_threshold_param, ni_device_type_t preferential_device_type, ni_hw_device_info_quadra_coder_param_t *coder_param, int hw_mode, int consider_mem)
check hw info, return the appropriate card number to use depends on the load&task_num&used resource
Definition: ni_rsrc_api.cpp:3401
ni_rsrc_free_device_context
LIB_API void ni_rsrc_free_device_context(ni_device_context_t *p_ctxt)
Free previously allocated device context.
Definition: ni_rsrc_api.cpp:1310
_ni_card_info_quadra::task_num
int task_num
Definition: ni_rsrc_api.h:157
_ni_device_queue
Definition: ni_rsrc_api.h:67
_ni_sw_instance_info
Definition: ni_rsrc_api.h:86
ni_rsrc_lock_and_open
LIB_API int ni_rsrc_lock_and_open(int device_type, ni_lock_handle_t *lock)
lock a file lock and open a session on a device
Definition: ni_rsrc_api.cpp:2652
_ni_device_info::sw_instance
ni_sw_instance_info_t sw_instance[NI_MAX_CONTEXTS_PER_HW_INSTANCE]
Definition: ni_rsrc_api.h:134
NI_ADDITIONAL_INFO_STR_LEN
#define NI_ADDITIONAL_INFO_STR_LEN
Definition: ni_rsrc_api.h:38
_ni_device_info::model_load
int model_load
Definition: ni_rsrc_api.h:109
_ni_device_info::module_id
int module_id
Definition: ni_rsrc_api.h:107
_ni_device_extra_info::current_consumption
uint32_t current_consumption
Definition: ni_rsrc_api.h:248
_ni_hw_device_info_quadra_coder_param
Definition: ni_rsrc_api.h:221
_ni_hw_device_info_quadra_coder_param::hw_mode
int hw_mode
Definition: ni_rsrc_api.h:223
ni_rsrc_unlock
LIB_API int ni_rsrc_unlock(int device_type, ni_lock_handle_t lock)
unlock a file lock
Definition: ni_rsrc_api.cpp:2738
ni_rsrc_update_device_load
int ni_rsrc_update_device_load(ni_device_context_t *p_ctxt, int load, int sw_instance_cnt, const ni_sw_instance_info_t sw_instance_info[])
Update the load value and s/w instances info of a specific decoder or encoder. This is used by resour...
Definition: ni_rsrc_api.cpp:1878
ni_device_vf_ns_id_t
struct _ni_device_vf_ns_id ni_device_vf_ns_id_t
_ni_rsrc_video_ref_cap::fps
int fps
Definition: ni_rsrc_api.h:44
ni_rsrc_allocate_simple_direct
ni_device_context_t * ni_rsrc_allocate_simple_direct(ni_device_type_t device_type, int guid)
Allocate resources for decoding/encoding, by designating explicitly the device to use....
Definition: ni_rsrc_api.cpp:1932
_ni_sw_instance_info::codec
ni_codec_t codec
Definition: ni_rsrc_api.h:90
_ni_device_info::fw_build_time
uint8_t fw_build_time[26]
Definition: ni_rsrc_api.h:119
_ni_device_temp
Definition: ni_rsrc_api.h:235
NI_LEVELS_SUPP_STR_LEN
#define NI_LEVELS_SUPP_STR_LEN
Definition: ni_rsrc_api.h:37
_ni_hw_device_info_quadra_decoder_param::h
uint32_t h
Definition: ni_rsrc_api.h:191
_ni_device_context
Definition: ni_rsrc_api.h:145
ni_rsrc_print_device_info
LIB_API void ni_rsrc_print_device_info(const ni_device_info_t *p_device_info)
Print the content of the ni_device_info_t struct.
Definition: ni_rsrc_api.cpp:1600
EN_VP9
@ EN_VP9
Definition: ni_rsrc_api.h:52
_ni_hw_device_info_quadra_scaler_param::bit_8_10
uint32_t bit_8_10
Definition: ni_rsrc_api.h:202
_ni_device_info::blk_name
char blk_name[NI_MAX_DEVICE_NAME_LEN]
Definition: ni_rsrc_api.h:105
EN_CODEC_MAX
@ EN_CODEC_MAX
Definition: ni_rsrc_api.h:55
_ni_hw_device_info_quadra_threshold_param::load_threshold
int load_threshold
Definition: ni_rsrc_api.h:217
ni_rsrc_remove_device
LIB_API int ni_rsrc_remove_device(const char *p_dev)
Remove an NetInt h/w device from resource pool on the host.
Definition: ni_rsrc_api.cpp:2203
NI_MAX_DEVICE_CNT
#define NI_MAX_DEVICE_CNT
Definition: ni_defs.h:223
_ni_sw_instance_info::status
ni_sw_instance_status_t status
Definition: ni_rsrc_api.h:89
NI_MAX_DEVICE_NAME_LEN
#define NI_MAX_DEVICE_NAME_LEN
Definition: ni_defs.h:224
_ni_hw_device_info_quadra_decoder_param::rgba
int rgba
Definition: ni_rsrc_api.h:194
g_dev_handle
ni_device_handle_t g_dev_handle
Definition: ni_rsrc_api.cpp:63
NI_DEPRECATED
#define NI_DEPRECATED
Definition: ni_defs.h:77
EN_ALLOC_LEAST_INSTANCE
@ EN_ALLOC_LEAST_INSTANCE
Definition: ni_rsrc_api.h:255
ni_hw_device_info_quadra_encoder_param_t
struct _ni_hw_device_info_quadra_encoder_param ni_hw_device_info_quadra_encoder_param_t
_ni_device_extra_info::on_die_temp
int32_t on_die_temp
Definition: ni_rsrc_api.h:246
_ni_hw_device_info_quadra::consider_mem
int consider_mem
Definition: ni_rsrc_api.h:167
_ni_hw_device_info_quadra_coder_param::scaler_param
ni_hw_device_info_quadra_scaler_param_t * scaler_param
Definition: ni_rsrc_api.h:226
_ni_card_info_quadra::shared_mem_usage
int shared_mem_usage
Definition: ni_rsrc_api.h:159
_ni_device_vf_ns_id
Definition: ni_rsrc_api.h:229
_ni_hw_device_info_quadra::device_type_num
int device_type_num
Definition: ni_rsrc_api.h:166
ni_hw_device_info_free_quadra
LIB_API void ni_hw_device_info_free_quadra(ni_hw_device_info_quadra_t *p_hw_device_info)
Release a pointer to ni_hw_device_info_quadra_t instance created by create_hw_device_info_coder_param...
Definition: ni_rsrc_api.cpp:3381
_ni_device_info::max_fps_4k
int max_fps_4k
Definition: ni_rsrc_api.h:126
_ni_card_info_quadra::load
int load
Definition: ni_rsrc_api.h:155
_ni_device_context::p_device_info
ni_device_info_t * p_device_info
Definition: ni_rsrc_api.h:149
ni_rsrc_is_fw_compat
LIB_API int ni_rsrc_is_fw_compat(uint8_t fw_rev[8])
check if device FW revision is compatible with SW API
Definition: ni_rsrc_api.cpp:2784
ni_rsrc_device_video_ref_cap_t
struct _ni_rsrc_video_ref_cap ni_rsrc_device_video_ref_cap_t
ni_device_context_t
struct _ni_device_context ni_device_context_t
ni_rsrc_add_device
LIB_API int ni_rsrc_add_device(const char *p_dev, int should_match_rev)
Add an NetInt h/w device into resource pool on the host.
Definition: ni_rsrc_api.cpp:2523
EN_IDLE
@ EN_IDLE
Definition: ni_rsrc_api.h:63
ni_sw_instance_info_t
struct _ni_sw_instance_info ni_sw_instance_info_t
ni_rsrc_remove_all_devices
LIB_API int ni_rsrc_remove_all_devices(void)
Remove all NetInt h/w devices from resource pool on the host.
Definition: ni_rsrc_api.cpp:2407
_ni_device_video_capability::min_res_height
int min_res_height
Definition: ni_rsrc_api.h:80
_ni_sw_instance_info::id
int id
Definition: ni_rsrc_api.h:88
_ni_device_video_capability::max_res_width
int max_res_width
Definition: ni_rsrc_api.h:77
_ni_device_extra_info
Definition: ni_rsrc_api.h:242
ni_destory_hw_device_info_quadra_coder_param
LIB_API void ni_destory_hw_device_info_quadra_coder_param(ni_hw_device_info_quadra_coder_param_t *p_hw_device_info_quadra_coder_param)
Release a pointer to hw_device_info_coder_param_t instance created by create_hw_device_info_coder_par...
Definition: ni_rsrc_api.cpp:3271
_ni_hw_device_info_quadra_encoder_param::rgba
int rgba
Definition: ni_rsrc_api.h:185
ni_rsrc_init
LIB_API int ni_rsrc_init(int should_match_rev, int timeout_seconds)
Initialize and create all resources required to work with NETINT NVMe transcoder devices....
ni_rsrc_print_all_devices_capability
LIB_API void ni_rsrc_print_all_devices_capability(void)
Print detailed capability information of all devices on the system.
Definition: ni_rsrc_api.cpp:1681
_ni_hw_device_info_quadra::card_info
ni_card_info_quadra_t ** card_info
Definition: ni_rsrc_api.h:169
_ni_hw_device_info_quadra_scaler_param::rgba
int rgba
Definition: ni_rsrc_api.h:203
_ni_card_info_quadra::max_task_num
int max_task_num
Definition: ni_rsrc_api.h:158
_ni_device_info::model_number
uint8_t model_number[40]
Definition: ni_rsrc_api.h:123
NI_DEVICE_TYPE_XCODER_MAX
@ NI_DEVICE_TYPE_XCODER_MAX
Definition: ni_defs.h:350
_ni_device_pool
Definition: ni_rsrc_api.h:96
_ni_hw_device_info_quadra_decoder_param::hw_frame
int hw_frame
Definition: ni_rsrc_api.h:195
_ni_device_video_capability::supports_codec
int supports_codec
Definition: ni_rsrc_api.h:76
_ni_device_info::fw_build_id
uint8_t fw_build_id[256]
Definition: ni_rsrc_api.h:120
LIB_API
#define LIB_API
Definition: ni_libxcoder_dynamic_loading.h:52
_ni_device_context::shm_name
char shm_name[NI_MAX_DEVICE_NAME_LEN]
Definition: ni_rsrc_api.h:147
ni_hw_device_info_alloc_quadra
LIB_API ni_hw_device_info_quadra_t * ni_hw_device_info_alloc_quadra(int device_type_num, int avaliable_card_num)
Create a pointer to ni_hw_device_info_quadra_t instance .
Definition: ni_rsrc_api.cpp:3310
_ni_hw_device_info_quadra_decoder_param::w
uint32_t w
Definition: ni_rsrc_api.h:192
_ni_hw_device_info_quadra_decoder_param
Definition: ni_rsrc_api.h:188
_ni_hw_device_info_quadra_threshold_param
Definition: ni_rsrc_api.h:214
ni_rsrc_list_all_devices2
LIB_API ni_retcode_t ni_rsrc_list_all_devices2(ni_device_t *p_device, bool list_uninitialized)
Grabs information for every initialized and uninitialized device.
Definition: ni_rsrc_api.cpp:1487
_ni_hw_device_info_quadra
Definition: ni_rsrc_api.h:163
_ni_card_info_quadra
Definition: ni_rsrc_api.h:152
_ni_device_temp::composite_temp
int32_t composite_temp
Definition: ni_rsrc_api.h:237
ni_device_t
struct _ni_device ni_device_t
_ni_device_vf_ns_id::vf_id
uint16_t vf_id
Definition: ni_rsrc_api.h:231
_ni_hw_device_info_quadra_coder_param::encoder_param
ni_hw_device_info_quadra_encoder_param_t * encoder_param
Definition: ni_rsrc_api.h:224
_ni_device_temp::on_die_temp
int32_t on_die_temp
Definition: ni_rsrc_api.h:239
ni_hw_device_info_quadra_t
struct _ni_hw_device_info_quadra ni_hw_device_info_quadra_t
_ni_hw_device_info_quadra::available_card_num
int available_card_num
Definition: ni_rsrc_api.h:165
_ni_device_queue::xcoder_cnt
uint32_t xcoder_cnt[NI_DEVICE_TYPE_XCODER_MAX]
Definition: ni_rsrc_api.h:69
_ni_device_info::load
int load
Definition: ni_rsrc_api.h:108
_ni_device_info::device_type
ni_device_type_t device_type
Definition: ni_rsrc_api.h:129
ni_hw_device_info_quadra_decoder_param_t
struct _ni_hw_device_info_quadra_decoder_param ni_hw_device_info_quadra_decoder_param_t
_ni_device_info::fw_branch_name
uint8_t fw_branch_name[256]
Definition: ni_rsrc_api.h:116
_ni_device_video_capability::level
char level[NI_LEVELS_SUPP_STR_LEN]
Definition: ni_rsrc_api.h:82
_ni_hw_device_info_quadra_coder_param::decoder_param
ni_hw_device_info_quadra_decoder_param_t * decoder_param
Definition: ni_rsrc_api.h:225