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