libxcoder  5.4.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 #ifndef DEPRECATION_AS_ERROR
294 /*!******************************************************************************
295  * \brief Scans system for all NVMe devices and returns the system device
296  * names to the user which were identified as NETINT transcoder deivices.
297  * Names are suitable for OpenFile api usage afterwards
298  * This function had been replaced by ni_rsrc_get_local_device_list2
299  * This function can't be callback with multi thread
300  *
301  *
302  * \param[out] ni_devices List of device names identified as NETINT NVMe transcoders
303  * \param[in] max_handles Max number of device names to return
304  *
305  * \return Number if devices found if successfull operation completed
306  * 0 if no NETINT NVMe transcoder devices were found
307  * NI_RETCODE_ERROR_MEM_ALOC if memory allocation failed
308  *******************************************************************************/
310  int max_handles);
311 #endif
312 
313 /*!*****************************************************************************
314  * \brief Scans system for all NVMe devices and returns the system device
315  * names to the user which were identified as NETINT transcoder
316  * devices. Names are suitable for resource management API usage
317  * afterwards
318  * This function had replaced ni_rsrc_get_local_device_list
319  * This function can be callback with multi thread
320  *
321  * \param[out] ni_devices List of device names identified as NETINT NVMe
322  * transcoders
323  * \param[in] max_handles Max number of device names to return
324  * \param[in] xcoder_refresh_dev_names Xcoder fresh device name
325  * \param[in] xcoder_refresh_dev_count Xcoder fresh device number count
326  *
327  * \return Number of devices found. 0 if unsucessful.
328  ******************************************************************************/
330  int max_handles, char **xcoder_refresh_dev_names,
331  int xcoder_refresh_dev_count);
332 
333 /*!******************************************************************************
334 * \brief Allocates and returns a pointer to ni_device_context_t struct
335 * based on provided device_type and guid.
336 * To be used for load update and codec query.
337 *
338  * \param[in] device_type NI_DEVICE_TYPE_DECODER or NI_DEVICE_TYPE_ENCODER
339  * \param[in] guid GUID of the encoder or decoder device
340 *
341 * \return pointer to ni_device_context_t if found, NULL otherwise
342 *
343 * Note: The returned ni_device_context_t content is not supposed to be used by
344 * caller directly: should only be passed to API in the subsequent
345 * calls; also after its use, the context should be released by
346 * calling ni_rsrc_free_device_context.
347 *******************************************************************************/
349 
350 /*!******************************************************************************
351  * \brief Free previously allocated device context
352  *
353  * \param p_device_context Pointer to previously allocated device context
354  *
355  * \return None
356  *******************************************************************************/
358 
359 /*!******************************************************************************
360 * \brief List device(s) based on device type with full information
361 * including s/w instances on the system.
362 *
363 * \param[in] device_type NI_DEVICE_TYPE_DECODER or NI_DEVICE_TYPE_ENCODER
364 * \param[out] p_device The device information returned.
365 * \param[out] p_device_count The number of ni_device_info_t structs returned.
366 *
367 * \return
368 * NI_RETCODE_SUCCESS
369 * NI_RETCODE_FAILURE
370 *
371 * Note: Caller is responsible for allocating memory for "p_device".
372 *******************************************************************************/
374  ni_device_info_t* p_device_info, int* p_device_count);
375 
376 /*!******************************************************************************
377 * \brief List all devices with full information including s/w instances
378 * on the system.
379 
380 * \param[out] p_device The device information returned.
381 *
382 * \return
383 * NI_RETCODE_SUCCESS
384 * NI_RETCODE_INVALID_PARAM
385 * NI_RETCODE_FAILURE
386 *
387 * Note: Caller is responsible for allocating memory for "p_device".
388 *******************************************************************************/
390 
391 /*!******************************************************************************
392 * \brief Grabs information for every initialized and uninitialized
393 * device.
394 
395 * \param[out] p_device The device information returned.
396 * \param list_uninitialized Flag to determine if uninitialized devices
397 * should be grabbed.
398 *
399 * \return
400 * NI_RETCODE_SUCCESS
401 * NI_RETCODE_INVALID_PARAM
402 * NI_RETCODE_FAILURE
403 *
404 * Note: Caller is responsible for allocating memory for "p_device".
405 *******************************************************************************/
406 LIB_API ni_retcode_t ni_rsrc_list_all_devices2(ni_device_t* p_device, bool list_uninitialized);
407 
408 /*!*****************************************************************************
409 * \brief Print detailed capability information of all devices
410 * on the system.
411 
412 * \param none
413 *
414 * \return none
415 *
416 *******************************************************************************/
418 
419 /*!*****************************************************************************
420 * \brief Prints detailed capability information for all initialized
421 * devices and general information about uninitialized devices.
422 
423 * \param list_uninitialized Flag to determine if uninitialized devices
424 * should be grabbed.
425 *
426 * \return none
427 *
428 *******************************************************************************/
429 LIB_API void ni_rsrc_print_all_devices_capability2(bool list_uninitialized);
430 
431 /*!******************************************************************************
432 * \brief Query a specific device with detailed information on the system
433 
434 * \param[in] device_type NI_DEVICE_TYPE_DECODER or NI_DEVICE_TYPE_ENCODER
435 * \param[in] guid unique device(decoder or encoder) id
436 *
437 * \return
438 * pointer to ni_device_info_t if found
439 * NULL otherwise
440 *
441 * Note: Caller is responsible for releasing memory that was allocated for the
442 * returned pointer
443 *******************************************************************************/
445 
446 /*!****************************************************************************
447 * \brief Get GUID of the device by block device name and type
448 *
449 * \param[in] blk_name device's block name
450 * \param[in] type device type
451 *
452 * \return device GUID (>= 0) if found, NI_RETCODE_FAILURE (-1) otherwise
453 *******************************************************************************/
454 LIB_API int ni_rsrc_get_device_by_block_name(const char *blk_name,
455  ni_device_type_t device_type);
456 
457 /*!*****************************************************************************
458 * \brief Update the load value and s/w instances info of a specific decoder or
459 * encoder. This is used by resource management daemon to update periodically.
460 *
461 * \param[in] p_ctxt The device context returned by ni_rsrc_get_device_context
462 * \param[in] p_load The latest load value to update
463 * \param[in] sw_instance_cnt Number of s/w instances
464 * \param[in] sw_instance_info Info of s/w instances
465 *
466 * \return
467 * NI_RETCODE_SUCCESS
468 * NI_RETCODE_FAILURE
469 *******************************************************************************/
470 int ni_rsrc_update_device_load(ni_device_context_t* p_ctxt, int load,
471  int sw_instance_cnt, const ni_sw_instance_info_t sw_instance_info[]);
472 
473 /*!*****************************************************************************
474 * \brief Allocate resources for decoding/encoding, by designating explicitly
475 * the device to use. do not track the load on the host side
476 *
477 * \param[in] device_type NI_DEVICE_TYPE_DECODER or NI_DEVICE_TYPE_ENCODER
478 * \param[in] guid unique device (decoder or encoder) module id
479 * \return pointer to ni_device_context_t if found, NULL otherwise
480 *
481 * Note: only need to specify the device type and guid and codec type
482 *
483 *
484 * Note: the returned ni_device_context_t content is not supposed to be used by
485 * caller directly: should only be passed to API in the subsequent
486 * calls; also after its use, the context should be released by
487 * calling ni_rsrc_free_device_context.
488 *******************************************************************************/
490 (
491  ni_device_type_t device_type,
492  int guid
493 );
494 
495 /*!*****************************************************************************
496 * \brief Release resources allocated for decoding/encoding.
497 * function This *must* be called at the end of transcoding
498 * with previously assigned load value by allocate* functions.
499 *
500 * \param[in/out] p_ctxt the device context
501 * \param[in] load the load value returned by allocate* functions
502 *
503 * \return None
504 *******************************************************************************/
506  uint64_t load);
507 
508 /*!*****************************************************************************
509 * \brief check the NetInt h/w device in resource pool on the host.
510 *
511 * \param[in] guid the global unique device index in resource pool
512 * device_type NI_DEVICE_TYPE_DECODER or NI_DEVICE_TYPE_ENCODER
513 *
514 * \return
515 * NI_RETCODE_SUCCESS
516 *******************************************************************************/
517 LIB_API int ni_rsrc_check_hw_available(int guid, ni_device_type_t device_type);
518 
519 /*!*****************************************************************************
520 * \brief Remove an NetInt h/w device from resource pool on the host.
521 *
522 * \param[in] p_dev the NVMe device name
523 *
524 * \return
525 * NI_RETCODE_SUCCESS
526 * NI_RETCODE_FAILURE
527 *******************************************************************************/
528 LIB_API int ni_rsrc_remove_device(const char* p_dev);
529 
530 /*!*****************************************************************************
531 * \brief Remove all NetInt h/w devices from resource pool on the host.
532 *
533 * \param none
534 *
535 * \return
536 * NI_RETCODE_SUCCESS
537 * NI_RETCODE_FAILURE
538 *******************************************************************************/
540 
541 /*!*****************************************************************************
542 * \brief Add an NetInt h/w device into resource pool on the host.
543 *
544 * \param[in] p_dev the NVMe device name
545 * \param[in] should_match_rev 0: transcoder firmware revision matching the
546 * library's version is NOT required for placing
547 * the transcoder into resource pool; 1: otherwise
548 *
549 * \return
550 * NI_RETCODE_SUCCESS
551 * NI_RETCODE_INVALID_PARAM
552 * NI_RETCODE_FAILURE
553 *******************************************************************************/
554 LIB_API int ni_rsrc_add_device(const char* p_dev, int should_match_rev);
555 
556 /*!*****************************************************************************
557  * \brief Create and return the allocated ni_device_pool_t struct
558  *
559  * \param None
560  *
561  * \return Pointer to ni_device_pool_t struct on success, or NULL on failure
562  *******************************************************************************/
564 
565 /*!*****************************************************************************
566 * \brief Free all resources taken by the device pool
567 *
568 * \param[in] p_device_pool Poiner to a device pool struct
569 *
570 * \return None
571 *******************************************************************************/
573 
574 /*!*****************************************************************************
575  * \brief Print the content of the ni_device_info_t struct
576  *
577  * \param p_device_info - pointer to the ni_device_info_t struct to print
578  *
579  * \return None
580  *******************************************************************************/
581 LIB_API void ni_rsrc_print_device_info(const ni_device_info_t* p_device_info);
582 
583 /*!*****************************************************************************
584  * \brief lock a file lock and open a session on a device
585  *
586  * \param device_type
587  * \param lock
588  *
589  * \return None
590  *******************************************************************************/
591 LIB_API int ni_rsrc_lock_and_open(int device_type, ni_lock_handle_t* lock);
592 
593 /*!*****************************************************************************
594  * \brief unlock a file lock
595  *
596  * \param device_type
597  * \param lock
598  *
599  * \return None
600  *******************************************************************************/
601 LIB_API int ni_rsrc_unlock(int device_type, ni_lock_handle_t lock);
602 
603 /*!*****************************************************************************
604 * \brief check if device FW revision is compatible with SW API
605 *
606 * \param fw_rev
607 *
608 * \return 1 for full compatibility, 2 for partial, 0 for none
609 *******************************************************************************/
610 LIB_API int ni_rsrc_is_fw_compat(uint8_t fw_rev[8]);
611 
612 /*!******************************************************************************
613  * \brief get linux numa_node
614  *
615  * \param[in] char *device_name
616  *
617  * \return int atoi(cmd_ret)
618  *******************************************************************************/
619 LIB_API int ni_rsrc_get_numa_node(char *device_name);
620 
621 
622 /*!******************************************************************************
623  * \brief Create a pointer to hw_device_info_coder_param_t instance .This instance will be created and
624  * set to default vaule by param mode.You may change the resolution fps bit_8_10 or other vaule you want to set.
625  *
626  * \param[in] mode:0:create instance with decoder_param ,encoder_param, scaler_param and ai_param will be set to NULL
627  * 1:create instance with encoder_param ,decoder_param, scaler_param and ai_param will be set to NULL
628  * 2:create instance with scaler_param ,decoder_param, encoder_param and ai_param will be set to NULL
629  * 3:create instance with ai_param ,decoder_param, encoder_param and scaler_param will be set to NULL
630  * >= 4:create instance with decoder_param encoder_param scaler_param and ai_param for ni_check_hw_info() hw_mode
631  *
632  * \return NULL-error,pointer to an instance when success
633  *******************************************************************************/
635 
636 /*!******************************************************************************
637  * \brief Release a pointer to hw_device_info_coder_param_t instance created by create_hw_device_info_coder_param
638  *
639  *
640  * \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
641  *
642  *******************************************************************************/
644 
645 /*!******************************************************************************
646  * \brief Create a pointer to ni_hw_device_info_quadra_t instance .
647  *
648  * \param[in] device_type_num:number of device type to be allocated in this function
649  *
650  * \param[in] avaliable_card_num:number of avaliable card per device to be allocated in this function
651  *
652  * \return NULL-error,pointer to an instance when success
653  *******************************************************************************/
654 LIB_API ni_hw_device_info_quadra_t *ni_hw_device_info_alloc_quadra(int device_type_num,int avaliable_card_num);
655 
656 /*!******************************************************************************
657  * \brief Release a pointer to ni_hw_device_info_quadra_t instance created by create_hw_device_info_coder_param
658  *
659  *
660  * \param[in] p_hw_device_info:pointer to a ni_hw_device_info_quadra_t instance created by create_hw_device_info_coder_param
661  *
662  *******************************************************************************/
664 
665 /*!*****************************************************************************
666  * \brief check hw info, return the appropriate card number to use depends on the load&task_num&used resource
667  *
668  * \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).
669  * May be a ponter to NULL ,in which case a ni_hw_device_info_quadra_coder_param_t is allocated by this function
670  * and written to pointer_to_p_hw_device_info.
671  * record the device info, including available card num and which card to select,
672  * and each card's informaton, such as, the load, task num, device type
673  * \param[in] task_mode: affect the scheduling strategy,
674  * 1 - both the load_num and task_num should consider, usually applied to live scenes
675  * 0 - only consider the task_num, don not care the load_num
676  * \param[in] hw_info_threshold_param : an array of threshold including device type task threshold and load threshold
677  * in hw_mode fill the arry with both encoder and decoder threshold or
678  * fill the arry with preferential device type threshold when don not in hw_mode
679  * load threshold in range[0:100] task num threshold in range [0:32]
680  * \param[in] preferential_device_type : which device type is preferential 0:decode 1:encode .
681  * This need to set to encoder/decoder even if in sw_mode to check whether coder_param is wrong.
682  * \param[in] coder_param : encoder and decoder information that helps to choose card .This coder_param can be created and
683  * set to default value by function hw_device_info_coder_param_t * create_hw_device_info_coder_param().
684  * You may change the resolution fps bit_8_10 or other vaule you want to use
685  * \param[in] hw_mode:Set 1 then this function will choose encoder and decoder in just one card .
686  * When no card meets the conditions ,NO card will be choosed.
687  * 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
688  * In hw_mode set both encoder_param and decoder_param in coder_param.
689  * Set 0 then just consider sw_mode to choose which card to do encode/decode,
690  * In sw_mode set one param in coder_param the other one will be set to NULL.
691  * \param[in] consider_mem : set 1 this function will consider memory usage extra
692  * set 0 this function will not consider memory usage
693  *
694  * \return 0-error 1-success
695  *******************************************************************************/
696 LIB_API int ni_check_hw_info(ni_hw_device_info_quadra_t **pointer_to_p_hw_device_info,
697  int task_mode,
698  ni_hw_device_info_quadra_threshold_param_t *hw_info_threshold_param,
699  ni_device_type_t preferential_device_type,
701  int hw_mode,
702  int consider_mem);
703 
704 
705 /*!*****************************************************************************
706 * \brief Allocate resources for decoding/encoding, based on the provided rule
707 *
708 * \param[in] device_type NI_DEVICE_TYPE_DECODER or NI_DEVICE_TYPE_ENCODER
709 * \param[in] rule allocation rule
710 * \param[in] codec EN_H264 or EN_H265
711 * \param[in] width width of video resolution
712 * \param[in] height height of video resolution
713 * \param[in] frame_rate video stream frame rate
714 * \param[out] p_load the load that will be generated by this encoding
715 * task. Returned *only* for encoder for now.
716 *
717 * \return pointer to ni_device_context_t if found, NULL otherwise
718 *
719 * Note: codec, width, height, fps need to be supplied for NI_DEVICE_TYPE_ENCODER only,
720 * they are ignored otherwize.
721 * Note: the returned ni_device_context_t content is not supposed to be used by
722 * caller directly: should only be passed to API in the subsequent
723 * calls; also after its use, the context should be released by
724 * calling ni_rsrc_free_device_context.
725 *******************************************************************************/
727  ni_alloc_rule_t rule,
728  ni_codec_t codec,
729  int width, int height,
730  int frame_rate,
731  uint64_t *p_load);
732 
733 #ifdef __cplusplus
734 }
735 #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:1743
_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:355
_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:1473
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:1368
_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:1780
_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:1985
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:2668
_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:1831
_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:2050
_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:3201
_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:439
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:4186
_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:248
_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:161
_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:63
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:3484
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:1338
_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:2699
_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:2779
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:1910
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:1964
_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_rsrc_get_numa_node
LIB_API int ni_rsrc_get_numa_node(char *device_name)
get linux numa_node
Definition: ni_rsrc_api.cpp:2844
_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:1628
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:2237
NI_MAX_DEVICE_CNT
#define NI_MAX_DEVICE_CNT
Definition: ni_defs.h:235
_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:236
_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:64
NI_DEPRECATED
#define NI_DEPRECATED
Definition: ni_defs.h:80
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:3464
_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:2825
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:2570
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:2452
_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:3354
_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:1709
_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:364
_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:3393
_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:1515
_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