libxcoder  5.2.0
ni_device_api_priv.h File Reference

Private definitions used by ni_device_api.c for video processing tasks. More...

#include "ni_defs.h"
#include "ni_rsrc_api.h"

Go to the source code of this file.

Data Structures

struct  _ni_session_config_rw
 
struct  _ni_instance_mgr_general_status
 
struct  _ni_log_fl_fw_versions
 
struct  _ni_instance_mgr_stream_info
 
struct  _ni_session_stats
 
struct  _ni_global_session_stats
 
struct  _ni_instance_mgr_allocation_info
 
struct  _ni_instance_mgr_stream_complete
 
struct  _ni_instance_upload_ret_hwdesc
 
struct  _ni_instance_buf_info
 
struct  _ni_encoder_frame_params
 
struct  _ni_metadata_common
 
struct  _ni_metadata_dec_frame
 
struct  _ni_metadata_enc_frame
 
struct  _ni_metadata_enc_bstream_rev61
 
struct  _ni_metadata_enc_bstream
 
struct  _ni_t408_config_t
 
struct  _ni_encoder_config_t
 
struct  _ni_uploader_config_t
 
struct  _ni_resolution
 
struct  ni_decode_cropping_rectangle
 
struct  ni_decoder_output_picture_size
 
struct  ni_decoder_output_config_t
 
struct  _ni_decoder_config_t
 
struct  _ni_ai_config_t
 
struct  _ni_network_buffer
 
struct  _ni_scaler_config
 
struct  _ni_ddr_priority_config
 

Macros

#define NI_VERSION_CHARACTER_COUNT   8
 
#define TUNE_BFRAME_VISUAL_MEDIUM   1
 
#define TUNE_BFRAME_VISUAL_HIGH   2
 
#define NI_MINIMUM_CROPPED_LENGTH   48
 
#define FRAME_CHUNK_INDEX_SIZE   4096
 
#define NI_SESSION_CLOSE_RETRY_MAX   10
 
#define NI_SESSION_CLOSE_RETRY_INTERVAL_US   500000
 
#define NI_HWDESC_UNIFIED_MEMBIN_SIZE   0x187000
 
#define NI_QUADRA_MEMORY_CONFIG_DR   0
 
#define NI_QUADRA_MEMORY_CONFIG_SR   1
 
#define NI_QUADRA_MEMORY_CONFIG_SR2_REMOVE_P2P   2
 
#define NI_QUADRA_MEMORY_CONFIG_SR_4G   3
 
#define NI_P2P_RECV   0
 
#define NI_P2P_SEND   1
 
#define NI_MAX_P2P_SGL_ENTRIES   128
 
#define NI_MAX_AI_NETWORK_BINARY_BUFFER_QUERY_RETRIES   300000
 
#define NI_MAX_DEC_SESSION_READ_QUERY_EOS_RETRIES   15000
 
#define NI_RETRY_INTERVAL_200US   200
 
#define NI_RETRY_INTERVAL_100US   100
 
#define NI_FW_ENC_BITSTREAM_META_DATA_SIZE   32
 
#define NI_FW_ENC_BITSTREAM_META_DATA_SIZE_UNDER_MAJOR_6_MINOR_o   48
 
#define NI_FW_ENC_BITSTREAM_META_DATA_SIZE_UNDER_MAJOR_6_MINOR_rc   88
 
#define NI_AI_HW_ALIGN_SIZE   64
 

Typedefs

typedef enum _ni_xcoder_mgr_retcode ni_xcoder_mgr_retcode_t
 
typedef struct _ni_session_config_rw ni_session_config_rw_t
 
typedef struct _ni_instance_mgr_general_status ni_instance_mgr_general_status_t
 
typedef struct _ni_log_fl_fw_versions ni_log_fl_fw_versions_t
 
typedef struct _ni_instance_mgr_stream_info ni_instance_mgr_stream_info_t
 
typedef struct _ni_session_stats ni_session_stats_t
 
typedef struct _ni_global_session_stats ni_global_session_stats_t
 
typedef struct _ni_instance_mgr_allocation_info ni_instance_mgr_allocation_info_t
 
typedef struct _ni_instance_mgr_stream_complete ni_instance_mgr_stream_complete_t
 
typedef struct _ni_instance_upload_ret_hwdesc ni_instance_upload_ret_hwdesc_t
 
typedef struct _ni_instance_buf_info ni_instance_buf_info_t
 
typedef struct _ni_encoder_frame_params ni_encoder_frame_params_t
 
typedef struct _ni_metadata_common ni_metadata_common_t
 
typedef struct _ni_metadata_dec_frame ni_metadata_dec_frame_t
 
typedef struct _ni_metadata_enc_frame ni_metadata_enc_frame_t
 
typedef struct _ni_metadata_enc_bstream_rev61 ni_metadata_enc_bstream_rev61_t
 
typedef struct _ni_metadata_enc_bstream ni_metadata_enc_bstream_t
 
typedef enum _ni_gop_preset_idx ni_gop_preset_idx_t
 
typedef struct _ni_t408_config_t ni_t408_config_t
 
typedef struct _ni_encoder_config_t ni_encoder_config_t
 
typedef struct _ni_uploader_config_t ni_uploader_config_t
 
typedef struct _ni_resolution ni_resolution_t
 
typedef struct _ni_decoder_config_t ni_decoder_config_t
 
typedef struct _ni_ai_config_t ni_ai_config_t
 
typedef struct _ni_network_buffer ni_network_buffer_t
 
typedef struct _ni_scaler_config ni_scaler_config_t
 
typedef struct _ni_ddr_priority_config ni_ddr_priority_config_t
 

Enumerations

enum  ni_session_config_rw_type_t { SESSION_READ_CONFIG = 0, SESSION_WRITE_CONFIG = 1 }
 
enum  ni_instance_buf_info_rw_type_t {
  INST_BUF_INFO_RW_READ = 0, INST_BUF_INFO_RW_WRITE = 1, INST_BUF_INFO_RW_UPLOAD = 2, INST_BUF_INFO_RW_READ_BUSY = 3,
  INST_BUF_INFO_RW_WRITE_BUSY = 4, INST_BUF_INFO_R_ACQUIRE = 5, INST_BUF_INFO_RW_WRITE_BY_EP = 6, INST_BUF_INFO_RW_READ_BY_AI = 7
}
 
enum  _ni_xcoder_mgr_retcode {
  ni_xcoder_request_success = 0, ni_xcoder_request_pending = 1, ni_xcoder_resource_recovery = 0xFFFD, ni_xcoder_resource_insufficient = 0xFFFE,
  ni_xcoder_general_error = 0xFFFF
}
 
enum  _ni_gop_preset_idx {
  GOP_PRESET_IDX_DEFAULT, GOP_PRESET_IDX_CUSTOM = 0, GOP_PRESET_IDX_ALL_I = 1, GOP_PRESET_IDX_IPP = 2,
  GOP_PRESET_IDX_IBBB = 3, GOP_PRESET_IDX_IBPBP = 4, GOP_PRESET_IDX_IBBBP = 5, GOP_PRESET_IDX_IPPPP = 6,
  GOP_PRESET_IDX_IBBBB = 7, GOP_PRESET_IDX_RA_IB = 8, GOP_PRESET_IDX_SP = 9, GOP_PRESET_IDX_HIERARCHICAL_IPPPP = 10
}
 
enum  ni_bitstream_format_t {
  STD_AVC, STD_VC1, STD_MPEG2, STD_MPEG4,
  STD_H263, STD_DIV3, STD_RV, STD_AVS,
  STD_THO = 9, STD_VP3, STD_VP8, STD_HEVC,
  STD_VP9, STD_AVS2, STD_SVAC, STD_AV1,
  STD_JPEG, STD_MAX
}
 
enum  ni_decoder_crop_mode { CROP_DISABLED = 0, CROP_AUTO, CROP_MANUAL }
 
enum  ni_set_param_option_t { OPT_COMMON = 0, OPT_CUSTOM_GOP = 1, OPT_SEI = 2, OPT_VUI = 3 }
 

Functions

int ni_create_frame (ni_frame_t *p_frame, uint32_t read_length, uint64_t *frame_offset, bool is_hw_frame)
 Get info from received p_frame. More...
 
void ni_set_custom_template (ni_session_context_t *p_ctx, ni_encoder_config_t *p_cfg, ni_xcoder_params_t *p_src)
 Setup all xcoder configurations with custom parameters (Rev. B) More...
 
void ni_set_custom_dec_template (ni_session_context_t *p_ctx, ni_decoder_config_t *p_cfg, ni_xcoder_params_t *p_src, uint32_t max_pkt_size)
 Setup all xcoder configurations with custom parameters (Rev. B) More...
 
void ni_set_default_template (ni_session_context_t *p_ctx, ni_encoder_config_t *p_config)
 Setup and initialize all xcoder configuration to default (Rev. B) More...
 
ni_retcode_t ni_validate_custom_template (ni_session_context_t *p_ctx, ni_encoder_config_t *p_cfg, ni_xcoder_params_t *p_src, char *p_param_err, uint32_t max_err_len)
 Perform validation on custom parameters (Rev. B) More...
 
ni_retcode_t ni_validate_custom_dec_template (ni_xcoder_params_t *p_src, ni_session_context_t *p_ctx, ni_decoder_config_t *p_cfg, char *p_param_err, uint32_t max_err_len)
 Perform validation on custom dec parameters (Rev. B) More...
 
ni_retcode_t ni_check_common_params (ni_t408_config_t *p_param, ni_xcoder_params_t *p_src, char *param_err, uint32_t max_err_len)
 
ni_retcode_t ni_check_ratecontrol_params (ni_encoder_config_t *p_cfg, char *param_err, uint32_t max_err_len)
 
void ni_params_print (ni_xcoder_params_t *const p_encoder_params)
 Print xcoder user configurations. More...
 
int32_t ni_get_frame_index (uint32_t *value)
 Get xcoder instance id. More...
 
void ni_populate_device_capability_struct (ni_device_capability_t *p_cap, void *p_data, ni_device_handle_t device_handle, bool device_in_ctxt)
 Get info from received xcoder capability. More...
 
int ni_xcoder_session_query (ni_session_context_t *p_ctx, ni_device_type_t device_type)
 Query current xcoder status. More...
 
int ni_xcoder_session_query_detail (ni_session_context_t *p_ctx, ni_device_type_t device_type, void *detail_data, int ver)
 Query current xcoder status. More...
 
ni_retcode_t ni_config_instance_set_decoder_params (ni_session_context_t *p_ctx, uint32_t max_pkt_size)
 Send a p_config command to configure decoding parameters. More...
 
ni_retcode_t ni_decoder_session_open (ni_session_context_t *p_ctx)
 Open a xcoder decoder instance. More...
 
ni_retcode_t ni_decoder_session_close (ni_session_context_t *p_ctx, int eos_recieved)
 Close a xcoder decoder instance. More...
 
ni_retcode_t ni_decoder_session_send_eos (ni_session_context_t *p_ctx)
 Send end of stream signal to the decoder. More...
 
ni_retcode_t ni_decoder_session_flush (ni_session_context_t *p_ctx)
 Flush decoder output. More...
 
int ni_decoder_session_write (ni_session_context_t *p_ctx, ni_packet_t *p_packet)
 Send a video p_packet to decoder. More...
 
int ni_decoder_session_read (ni_session_context_t *p_ctx, ni_frame_t *p_frame)
 Retrieve a YUV p_frame from decoder. More...
 
ni_retcode_t ni_encoder_session_open (ni_session_context_t *p_ctx)
 Open a xcoder encoder instance. More...
 
ni_retcode_t ni_encoder_session_close (ni_session_context_t *p_ctx, int eos_recieved)
 Close a xcoder encoder instance. More...
 
ni_retcode_t ni_encoder_session_send_eos (ni_session_context_t *p_ctx)
 Flush encoder output. More...
 
int ni_encoder_session_write (ni_session_context_t *p_ctx, ni_frame_t *p_frame)
 Send a YUV p_frame to encoder. More...
 
int ni_encoder_session_read (ni_session_context_t *p_ctx, ni_packet_t *p_packet)
 
ni_retcode_t ni_encoder_session_sequence_change (ni_session_context_t *p_ctx, ni_resolution_t *p_resoluion)
 Send sequnce change to a xcoder encoder instance. More...
 
ni_retcode_t ni_query_general_status (ni_session_context_t *p_ctx, ni_device_type_t device_type, ni_instance_mgr_general_status_t *p_gen_status)
 Query a particular xcoder instance to get GeneralStatus data. More...
 
ni_retcode_t ni_query_detail_status (ni_session_context_t *p_ctx, ni_device_type_t device_type, void *p_detail_status, int ver)
 Query a particular xcoder instance to get DetailStatus data. More...
 
ni_retcode_t ni_query_stream_info (ni_session_context_t *p_ctx, ni_device_type_t device_type, ni_instance_mgr_stream_info_t *p_stream_info)
 Query a particular xcoder instance to get Stream Info data. More...
 
ni_retcode_t ni_query_eos (ni_session_context_t *p_ctx, ni_device_type_t device_type, ni_instance_mgr_stream_complete_t *p_stream_complete)
 Query a particular xcoder instance to get End of Output data. More...
 
ni_retcode_t ni_query_instance_buf_info (ni_session_context_t *p_ctx, ni_instance_buf_info_rw_type_t rw_type, ni_device_type_t device_type, ni_instance_buf_info_t *p_inst_buf_info)
 Query a particular xcoder instance to get buffer/data Info data. More...
 
ni_retcode_t ni_query_session_stats (ni_session_context_t *p_ctx, ni_device_type_t device_type, ni_session_stats_t *p_session_stats, int rc, int opcode)
 Query a particular session to get the stats info. More...
 
ni_retcode_t ni_query_session_statistic_info (ni_session_context_t *p_ctx, ni_device_type_t device_type, ni_session_statistic_t *p_session_statistic)
 Query a particular xcoder session to get session statistics. More...
 
ni_retcode_t ni_config_session_rw (ni_session_context_t *p_ctx, ni_session_config_rw_type_t rw_type, uint8_t enable, uint8_t hw_action, uint16_t frame_id)
 Configure the read/write pipe for a session to control its behavior. More...
 
ni_retcode_t ni_config_instance_sos (ni_session_context_t *p_ctx, ni_device_type_t device_type)
 Send a p_config command for Start Of Stream. More...
 
ni_retcode_t ni_config_instance_eos (ni_session_context_t *p_ctx, ni_device_type_t device_type)
 Send a p_config command for End Of Stream. More...
 
ni_retcode_t ni_config_instance_flush (ni_session_context_t *p_ctx, ni_device_type_t device_type)
 Send a p_config command to flush the stream. More...
 
ni_retcode_t ni_config_instance_set_encoder_params (ni_session_context_t *p_ctx)
 Send a p_config command to configure encoding parameters. More...
 
ni_retcode_t ni_config_instance_update_encoder_params (ni_session_context_t *p_ctx, ni_param_change_flags_t change_flags)
 
ni_retcode_t ni_config_instance_set_encoder_frame_params (ni_session_context_t *p_ctx, ni_encoder_frame_params_t *p_params)
 Send a p_config command to configure encoding p_frame parameters. More...
 
ni_retcode_t ni_config_instance_set_write_len (ni_session_context_t *p_ctx, ni_device_type_t device_type, uint32_t len)
 Send a p_config command to set the length for the incoming write packet. More...
 
ni_retcode_t ni_config_instance_set_sequence_change (ni_session_context_t *p_ctx, ni_device_type_t device_type, ni_resolution_t *p_resolution)
 Send a p_config command to inform encoder sequence change. More...
 
void ni_encoder_set_vui (uint8_t *vui, ni_encoder_config_t *p_cfg)
 
void * ni_session_keep_alive_thread (void *arguments)
 decoder keep alive thread function triggers every 1 second More...
 
ni_retcode_t ni_send_session_keep_alive (uint32_t session_id, ni_device_handle_t device_handle, ni_event_handle_t event_handle, void *p_data)
 send a keep alive message to firmware More...
 
void ni_fix_VUI (uint8_t *vui, int pos, int value)
 insert the 32 bits of integer value at bit position pos More...
 
ni_retcode_t ni_decoder_session_copy_internal (ni_session_context_t *src_p_ctx, ni_session_context_t *dst_p_ctx)
 Copy a xcoder decoder worker thread info and card info. More...
 
int ni_decoder_session_read_desc (ni_session_context_t *p_ctx, ni_frame_t *p_frame)
 Copy a xcoder decoder worker thread info and card info. More...
 
ni_retcode_t ni_uploader_session_open (ni_session_context_t *p_ctx)
 Open a xcoder uploader instance. More...
 
ni_retcode_t ni_uploader_session_close (ni_session_context_t *p_ctx)
 Close an xcoder upload instance. More...
 
ni_retcode_t ni_scaler_session_query_buffer_avail (ni_session_context_t *p_ctx)
 Query and acquire buffer from xcoder scale instance. More...
 
ni_retcode_t ni_hwupload_session_query_buffer_avail (ni_session_context_t *p_ctx)
 Query and acquire buffer from xcoder upload instance. More...
 
int ni_hwupload_session_write (ni_session_context_t *p_ctx, ni_frame_t *p_frame, niFrameSurface1_t *hwdesc)
 Send a YUV p_frame to upload session. More...
 
int ni_hwupload_session_read_hwdesc (ni_session_context_t *p_ctx, niFrameSurface1_t *hwdesc)
 Retrieve a HW descriptor of uploaded frame. More...
 
int ni_hwdownload_session_read (ni_session_context_t *p_ctx, ni_frame_t *p_frame, niFrameSurface1_t *hwdesc)
 Retrieve a YUV p_frame from decoder. More...
 
int ni_hwdownload_by_frame_idx (niFrameSurface1_t *hwdesc, ni_frame_t *p_frame, int is_auto_dl)
 Retrieve a YUV p_frame by frame index. More...
 
ni_retcode_t ni_hwframe_clone (ni_session_context_t *p_ctx, ni_frameclone_desc_t *p_frameclone_desc)
 Copy a src hw frame to a dst hw frame. More...
 
ni_retcode_t ni_clear_instance_buf (niFrameSurface1_t *surface)
 clear a particular xcoder instance buffer/data More...
 
ni_retcode_t ni_config_instance_set_scaler_params (ni_session_context_t *p_ctx, ni_scaler_params_t *p_params)
 condif a scaler instance More...
 
ni_retcode_t ni_scaler_alloc_frame (ni_session_context_t *p_ctx, int width, int height, int format, int options, int rectangle_width, int rectangle_height, int rectangle_x, int rectangle_y, int rgba_color, int frame_index)
 allocate a frame in the scaler More...
 
ni_retcode_t ni_scaler_config_frame (ni_session_context_t *p_ctx, ni_frame_config_t *p_cfg)
 config frame in the scaler More...
 
ni_retcode_t ni_scaler_multi_config_frame (ni_session_context_t *p_ctx, ni_frame_config_t p_cfg_in[], int numInCfgs, ni_frame_config_t *p_cfg_out)
 config multi frames in the scaler More...
 
int ni_scaler_session_open (ni_session_context_t *p_ctx)
 Open a xcoder scaler instance. More...
 
ni_retcode_t ni_scaler_session_close (ni_session_context_t *p_ctx, int eos_received)
 close a scaler session More...
 
ni_retcode_t ni_config_instance_set_uploader_params (ni_session_context_t *p_ctx, uint32_t pool_size, uint32_t pool)
 Send a p_config command to configure uploading parameters. More...
 
ni_retcode_t ni_scaler_session_read_hwdesc (ni_session_context_t *p_ctx, ni_frame_t *p_frame)
 read a hardware descriptor from a scaler session More...
 
int ni_get_bitdepth_factor_from_pixfmt (int pix_fmt)
 Grab bitdepth factor from NI_PIX_FMT. More...
 
int ni_get_planar_from_pixfmt (int pix_fmt)
 Grab planar info from NI_PIX_FMT. More...
 
ni_retcode_t ni_get_memory_offset (ni_session_context_t *p_ctx, const niFrameSurface1_t *hwdesc, uint32_t *p_offset)
 Get an address offset from a hw descriptor. More...
 
ni_retcode_t ni_device_get_ddr_configuration (ni_session_context_t *p_ctx)
 Get DDR configuration of Quadra device. More...
 
ni_retcode_t ni_device_set_ddr_configuration (ni_session_context_t *p_ctx, uint8_t ddr_priority_mode)
 Set DDR configuration of Quadra device. More...
 
ni_retcode_t ni_ai_session_open (ni_session_context_t *p_ctx)
 
ni_retcode_t ni_ai_session_close (ni_session_context_t *p_ctx, int eos_received)
 
ni_retcode_t ni_config_instance_network_binary (ni_session_context_t *p_ctx, void *nb_data, uint32_t nb_size)
 
ni_retcode_t ni_config_instance_hvsplus (ni_session_context_t *p_ctx)
 
ni_retcode_t ni_ai_query_network_ready (ni_session_context_t *p_ctx)
 
ni_retcode_t ni_ai_session_write (ni_session_context_t *p_ctx, ni_frame_t *p_frame)
 
ni_retcode_t ni_ai_session_read (ni_session_context_t *p_ctx, ni_packet_t *p_packet)
 
ni_retcode_t ni_config_read_inout_layers (ni_session_context_t *p_ctx, ni_network_data_t *p_network)
 
ni_retcode_t ni_ai_alloc_hwframe (ni_session_context_t *p_ctx, int width, int height, int options, int pool_size, int frame_index)
 
ni_retcode_t ni_ai_alloc_dst_frame (ni_session_context_t *p_ctx, niFrameSurface1_t *p_out_surface)
 
ni_retcode_t ni_ai_multi_config_frame (ni_session_context_t *p_ctx, ni_frame_config_t p_cfg_in[], int numInCfgs, ni_frame_config_t *p_cfg_out)
 
ni_retcode_t ni_ai_session_read_hwdesc (ni_session_context_t *p_ctx, ni_frame_t *p_frame)
 read a hardware descriptor from a scaler session More...
 
ni_retcode_t ni_encoder_metadata_buffer_alloc (ni_frame_t *p_frame, int extra_len)
 Allocate memory for the metadata header and auxillary data for encoder input data. More...
 
ni_retcode_t ni_encoder_start_buffer_alloc (ni_frame_t *p_frame)
 Allocate memory for the non-4k-aligned part at the start of YUV data for encoder input data. More...
 
ni_retcode_t ni_ai_session_query_metrics (ni_session_context_t *p_ctx, ni_network_perf_metrics_t *p_metrics)
 
ni_retcode_t ni_device_config_ns_qos (ni_device_handle_t device_handle, uint32_t key, uint32_t value)
 Send namespace num / Opmode and SRIOv index/value to the device with specified logic block address. More...
 
ni_retcode_t ni_dump_log_single_core (ni_session_context_t *p_ctx, void *p_data, uint32_t core_id, bool gen_log_file)
 
ni_retcode_t ni_dump_log_all_cores (ni_session_context_t *p_ctx, void *p_data, bool gen_log_file)
 
ni_retcode_t ni_send_to_target (ni_session_context_t *p_ctx, niFrameSurface1_t *source, uint64_t ui64DestAddr, uint32_t ui32FrameSize)
 
ni_retcode_t ni_recv_from_target (ni_session_context_t *pSession, const ni_p2p_sgl_t *dmaAddrs, ni_frame_t *pDstFrame)
 
int lower_pixel_rate (const ni_load_query_t *pQuery, uint32_t ui32CurrentLowest)
 

Detailed Description

Private definitions used by ni_device_api.c for video processing tasks.


Definition in file ni_device_api_priv.h.

Macro Definition Documentation

◆ FRAME_CHUNK_INDEX_SIZE

#define FRAME_CHUNK_INDEX_SIZE   4096

Definition at line 794 of file ni_device_api_priv.h.

◆ NI_AI_HW_ALIGN_SIZE

#define NI_AI_HW_ALIGN_SIZE   64

Definition at line 1232 of file ni_device_api_priv.h.

◆ NI_FW_ENC_BITSTREAM_META_DATA_SIZE

#define NI_FW_ENC_BITSTREAM_META_DATA_SIZE   32

Definition at line 816 of file ni_device_api_priv.h.

◆ NI_FW_ENC_BITSTREAM_META_DATA_SIZE_UNDER_MAJOR_6_MINOR_o

#define NI_FW_ENC_BITSTREAM_META_DATA_SIZE_UNDER_MAJOR_6_MINOR_o   48

Definition at line 818 of file ni_device_api_priv.h.

◆ NI_FW_ENC_BITSTREAM_META_DATA_SIZE_UNDER_MAJOR_6_MINOR_rc

#define NI_FW_ENC_BITSTREAM_META_DATA_SIZE_UNDER_MAJOR_6_MINOR_rc   88

Definition at line 820 of file ni_device_api_priv.h.

◆ NI_HWDESC_UNIFIED_MEMBIN_SIZE

#define NI_HWDESC_UNIFIED_MEMBIN_SIZE   0x187000

Definition at line 799 of file ni_device_api_priv.h.

◆ NI_MAX_AI_NETWORK_BINARY_BUFFER_QUERY_RETRIES

#define NI_MAX_AI_NETWORK_BINARY_BUFFER_QUERY_RETRIES   300000

Definition at line 810 of file ni_device_api_priv.h.

◆ NI_MAX_DEC_SESSION_READ_QUERY_EOS_RETRIES

#define NI_MAX_DEC_SESSION_READ_QUERY_EOS_RETRIES   15000

Definition at line 811 of file ni_device_api_priv.h.

◆ NI_MAX_P2P_SGL_ENTRIES

#define NI_MAX_P2P_SGL_ENTRIES   128

Definition at line 808 of file ni_device_api_priv.h.

◆ NI_MINIMUM_CROPPED_LENGTH

#define NI_MINIMUM_CROPPED_LENGTH   48

Definition at line 685 of file ni_device_api_priv.h.

◆ NI_P2P_RECV

#define NI_P2P_RECV   0

Definition at line 806 of file ni_device_api_priv.h.

◆ NI_P2P_SEND

#define NI_P2P_SEND   1

Definition at line 807 of file ni_device_api_priv.h.

◆ NI_QUADRA_MEMORY_CONFIG_DR

#define NI_QUADRA_MEMORY_CONFIG_DR   0

Definition at line 801 of file ni_device_api_priv.h.

◆ NI_QUADRA_MEMORY_CONFIG_SR

#define NI_QUADRA_MEMORY_CONFIG_SR   1

Definition at line 802 of file ni_device_api_priv.h.

◆ NI_QUADRA_MEMORY_CONFIG_SR2_REMOVE_P2P

#define NI_QUADRA_MEMORY_CONFIG_SR2_REMOVE_P2P   2

Definition at line 803 of file ni_device_api_priv.h.

◆ NI_QUADRA_MEMORY_CONFIG_SR_4G

#define NI_QUADRA_MEMORY_CONFIG_SR_4G   3

Definition at line 804 of file ni_device_api_priv.h.

◆ NI_RETRY_INTERVAL_100US

#define NI_RETRY_INTERVAL_100US   100

Definition at line 813 of file ni_device_api_priv.h.

◆ NI_RETRY_INTERVAL_200US

#define NI_RETRY_INTERVAL_200US   200

Definition at line 812 of file ni_device_api_priv.h.

◆ NI_SESSION_CLOSE_RETRY_INTERVAL_US

#define NI_SESSION_CLOSE_RETRY_INTERVAL_US   500000

Definition at line 796 of file ni_device_api_priv.h.

◆ NI_SESSION_CLOSE_RETRY_MAX

#define NI_SESSION_CLOSE_RETRY_MAX   10

Definition at line 795 of file ni_device_api_priv.h.

◆ NI_VERSION_CHARACTER_COUNT

#define NI_VERSION_CHARACTER_COUNT   8

Definition at line 112 of file ni_device_api_priv.h.

◆ TUNE_BFRAME_VISUAL_HIGH

#define TUNE_BFRAME_VISUAL_HIGH   2

Definition at line 314 of file ni_device_api_priv.h.

◆ TUNE_BFRAME_VISUAL_MEDIUM

#define TUNE_BFRAME_VISUAL_MEDIUM   1

****** encoder paramters

Definition at line 313 of file ni_device_api_priv.h.

Typedef Documentation

◆ ni_ai_config_t

◆ ni_ddr_priority_config_t

◆ ni_decoder_config_t

◆ ni_encoder_config_t

◆ ni_encoder_frame_params_t

◆ ni_global_session_stats_t

◆ ni_gop_preset_idx_t

◆ ni_instance_buf_info_t

◆ ni_instance_mgr_allocation_info_t

◆ ni_instance_mgr_general_status_t

◆ ni_instance_mgr_stream_complete_t

◆ ni_instance_mgr_stream_info_t

◆ ni_instance_upload_ret_hwdesc_t

◆ ni_log_fl_fw_versions_t

◆ ni_metadata_common_t

◆ ni_metadata_dec_frame_t

◆ ni_metadata_enc_bstream_rev61_t

◆ ni_metadata_enc_bstream_t

◆ ni_metadata_enc_frame_t

◆ ni_network_buffer_t

◆ ni_resolution_t

◆ ni_scaler_config_t

◆ ni_session_config_rw_t

◆ ni_session_stats_t

◆ ni_t408_config_t

◆ ni_uploader_config_t

◆ ni_xcoder_mgr_retcode_t

Enumeration Type Documentation

◆ _ni_gop_preset_idx

Enumerator
GOP_PRESET_IDX_DEFAULT 
GOP_PRESET_IDX_CUSTOM 

*< Default, gop decided by gopSize. E.g gopSize=0 is Adpative gop, gopsize adjusted dynamically

GOP_PRESET_IDX_ALL_I 
GOP_PRESET_IDX_IPP 

*< All Intra, gopsize = 1

GOP_PRESET_IDX_IBBB 

*< Consecutive P, cyclic gopsize = 1

GOP_PRESET_IDX_IBPBP 

*< Consecutive B, cyclic gopsize = 1

GOP_PRESET_IDX_IBBBP 

*< gopsize = 2

GOP_PRESET_IDX_IPPPP 

*< gopsize = 4

GOP_PRESET_IDX_IBBBB 

*< Consecutive P, cyclic gopsize = 4

GOP_PRESET_IDX_RA_IB 

*< Consecutive B, cyclic gopsize = 4

GOP_PRESET_IDX_SP 

*< Random Access, cyclic gopsize = 8

GOP_PRESET_IDX_HIERARCHICAL_IPPPP 

*< Consecutive P, gopsize=1, similar to 2 but

Definition at line 316 of file ni_device_api_priv.h.

◆ _ni_xcoder_mgr_retcode

Enumerator
ni_xcoder_request_success 
ni_xcoder_request_pending 
ni_xcoder_resource_recovery 
ni_xcoder_resource_insufficient 
ni_xcoder_general_error 

Definition at line 59 of file ni_device_api_priv.h.

◆ ni_bitstream_format_t

  • This is an enumeration for declaring codec standard type variables. Currently,
    VPU supports many different video standards such as H.265/HEVC, MPEG4 SP/ASP, H.263 Profile 3, H.264/AVC
    BP/MP/HP, VC1 SP/MP/AP, Divx3, MPEG1, MPEG2, RealVideo 8/9/10, AVS Jizhun/Guangdian profile, AVS2,
     Theora, VP3, VP8/VP9 and SVAC.
    
    NOTE: MPEG-1 decoder operation is handled as a special case of MPEG2 decoder.
    STD_THO must be always 9.
    
Enumerator
STD_AVC 
STD_VC1 
STD_MPEG2 
STD_MPEG4 
STD_H263 
STD_DIV3 
STD_RV 
STD_AVS 
STD_THO 
STD_VP3 
STD_VP8 
STD_HEVC 
STD_VP9 
STD_AVS2 
STD_SVAC 
STD_AV1 
STD_JPEG 
STD_MAX 

Definition at line 346 of file ni_device_api_priv.h.

◆ ni_decoder_crop_mode

Enumerator
CROP_DISABLED 
CROP_AUTO 
CROP_MANUAL 

Definition at line 686 of file ni_device_api_priv.h.

◆ ni_instance_buf_info_rw_type_t

Enumerator
INST_BUF_INFO_RW_READ 
INST_BUF_INFO_RW_WRITE 
INST_BUF_INFO_RW_UPLOAD 
INST_BUF_INFO_RW_READ_BUSY 
INST_BUF_INFO_RW_WRITE_BUSY 
INST_BUF_INFO_R_ACQUIRE 
INST_BUF_INFO_RW_WRITE_BY_EP 
INST_BUF_INFO_RW_READ_BY_AI 

Definition at line 46 of file ni_device_api_priv.h.

◆ ni_session_config_rw_type_t

Enumerator
SESSION_READ_CONFIG 
SESSION_WRITE_CONFIG 

Definition at line 40 of file ni_device_api_priv.h.

◆ ni_set_param_option_t

  • This is an enumeration for declaring SET_PARAM command options. (_T400_ENC encoder only)
    Depending on this, SET_PARAM command parameter registers from 0x15C have different meanings.
Enumerator
OPT_COMMON 
OPT_CUSTOM_GOP 
OPT_SEI 
OPT_VUI 

Definition at line 786 of file ni_device_api_priv.h.

Function Documentation

◆ lower_pixel_rate()

int lower_pixel_rate ( const ni_load_query_t pQuery,
uint32_t  ui32CurrentLowest 
)

Definition at line 18211 of file ni_device_api_priv.c.

◆ ni_ai_alloc_dst_frame()

ni_retcode_t ni_ai_alloc_dst_frame ( ni_session_context_t p_ctx,
niFrameSurface1_t p_out_surface 
)

Definition at line 17125 of file ni_device_api_priv.c.

◆ ni_ai_alloc_hwframe()

ni_retcode_t ni_ai_alloc_hwframe ( ni_session_context_t p_ctx,
int  width,
int  height,
int  options,
int  pool_size,
int  frame_index 
)

Definition at line 17231 of file ni_device_api_priv.c.

◆ ni_ai_multi_config_frame()

ni_retcode_t ni_ai_multi_config_frame ( ni_session_context_t p_ctx,
ni_frame_config_t  p_cfg_in[],
int  numInCfgs,
ni_frame_config_t p_cfg_out 
)

Definition at line 17000 of file ni_device_api_priv.c.

◆ ni_ai_query_network_ready()

ni_retcode_t ni_ai_query_network_ready ( ni_session_context_t p_ctx)

Definition at line 16126 of file ni_device_api_priv.c.

◆ ni_ai_session_close()

ni_retcode_t ni_ai_session_close ( ni_session_context_t p_ctx,
int  eos_received 
)

Definition at line 16899 of file ni_device_api_priv.c.

◆ ni_ai_session_open()

ni_retcode_t ni_ai_session_open ( ni_session_context_t p_ctx)

Definition at line 16741 of file ni_device_api_priv.c.

◆ ni_ai_session_query_metrics()

ni_retcode_t ni_ai_session_query_metrics ( ni_session_context_t p_ctx,
ni_network_perf_metrics_t p_metrics 
)

Definition at line 17805 of file ni_device_api_priv.c.

◆ ni_ai_session_read()

ni_retcode_t ni_ai_session_read ( ni_session_context_t p_ctx,
ni_packet_t p_packet 
)

Definition at line 16332 of file ni_device_api_priv.c.

◆ ni_ai_session_read_hwdesc()

ni_retcode_t ni_ai_session_read_hwdesc ( ni_session_context_t p_ctx,
ni_frame_t p_frame 
)

read a hardware descriptor from a scaler session


Parameters
[in]p_ctxpointer to session context
[out]p_framepointer to frame to write hw descriptor
Returns
NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_INVALID_SESSION NI_RETCODE_ERROR_MEM_ALOC NI_RETCODE_ERROR_NVME_CMD_FAILED NI_RETCODE_FAILURE

Definition at line 17425 of file ni_device_api_priv.c.

◆ ni_ai_session_write()

ni_retcode_t ni_ai_session_write ( ni_session_context_t p_ctx,
ni_frame_t p_frame 
)

Definition at line 16181 of file ni_device_api_priv.c.

◆ ni_check_common_params()

ni_retcode_t ni_check_common_params ( ni_t408_config_t p_param,
ni_xcoder_params_t p_src,
char *  param_err,
uint32_t  max_err_len 
)

Definition at line 12446 of file ni_device_api_priv.c.

◆ ni_check_ratecontrol_params()

ni_retcode_t ni_check_ratecontrol_params ( ni_encoder_config_t p_cfg,
char *  param_err,
uint32_t  max_err_len 
)

Definition at line 12731 of file ni_device_api_priv.c.

◆ ni_clear_instance_buf()

ni_retcode_t ni_clear_instance_buf ( niFrameSurface1_t surface)

clear a particular xcoder instance buffer/data


Parameters
niFrameSurface1_t*surface - target hardware descriptor
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_INVALID_SESSION, or NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Parameters
ni_session_context_tp_ctx - xcoder Context
ni_instance_buf_info_rw_type_trw_type
ni_device_type_tdevice_type - xcoder type Encoder or Decoder
ni_instance_buf_info_t*out - Struct preallocated from the caller where the resulting data will be placed
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_INVALID_SESSION, NI_RETCODE_ERROR_MEM_ALOC or NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Definition at line 14003 of file ni_device_api_priv.c.

◆ ni_config_instance_eos()

ni_retcode_t ni_config_instance_eos ( ni_session_context_t p_ctx,
ni_device_type_t  device_type 
)

Send a p_config command for End Of Stream.


Parameters
ni_session_context_tp_ctx - xcoder Context
ni_device_type_tdevice_type - xcoder type Encoder or Decoder
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_INVALID_SESSION, NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Definition at line 6925 of file ni_device_api_priv.c.

◆ ni_config_instance_flush()

ni_retcode_t ni_config_instance_flush ( ni_session_context_t p_ctx,
ni_device_type_t  device_type 
)

Send a p_config command to flush the stream.


Parameters
ni_session_context_tp_ctx - xcoder Context
ni_device_type_tdevice_type - xcoder type Encoder or Decoder
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_INVALID_SESSION, NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Definition at line 6980 of file ni_device_api_priv.c.

◆ ni_config_instance_hvsplus()

ni_retcode_t ni_config_instance_hvsplus ( ni_session_context_t p_ctx)

Definition at line 16033 of file ni_device_api_priv.c.

◆ ni_config_instance_network_binary()

ni_retcode_t ni_config_instance_network_binary ( ni_session_context_t p_ctx,
void *  nb_data,
uint32_t  nb_size 
)

Definition at line 15766 of file ni_device_api_priv.c.

◆ ni_config_instance_set_decoder_params()

ni_retcode_t ni_config_instance_set_decoder_params ( ni_session_context_t p_ctx,
uint32_t  max_pkt_size 
)

Send a p_config command to configure decoding parameters.


Parameters
ni_session_context_tp_ctx - xcoder Context
uint32_tmax_pkt_size - overwrite maximum packet size if nonzero
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_INVALID_SESSION, NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Definition at line 15427 of file ni_device_api_priv.c.

◆ ni_config_instance_set_encoder_frame_params()

ni_retcode_t ni_config_instance_set_encoder_frame_params ( ni_session_context_t p_ctx,
ni_encoder_frame_params_t p_params 
)

Send a p_config command to configure encoding p_frame parameters.


Parameters
ni_session_context_tp_ctx - xcoder Context
ni_encoder_frame_params_t* params - pointer to the encoder ni_encoder_frame_params_t struct
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_INVALID_SESSION, NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Definition at line 7344 of file ni_device_api_priv.c.

◆ ni_config_instance_set_encoder_params()

ni_retcode_t ni_config_instance_set_encoder_params ( ni_session_context_t p_ctx)

Send a p_config command to configure encoding parameters.


Parameters
ni_session_context_tp_ctx - xcoder Context
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_INVALID_SESSION, NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Definition at line 7178 of file ni_device_api_priv.c.

◆ ni_config_instance_set_scaler_params()

ni_retcode_t ni_config_instance_set_scaler_params ( ni_session_context_t p_ctx,
ni_scaler_params_t p_params 
)

condif a scaler instance


Parameters
[in]p_ctxpointer to session context
[in]p_paramspointer to scaler parameters
Returns
NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_INVALID_SESSION NI_RETCODE_ERROR_NVME_CMD_FAILED NI_RETCODE_ERROR_MEM_ALOC

condif a scaler instance


Parameters
ni_session_context_tp_ctx - xcoder Context
ni_scaler_params_t* params - pointer to the scaler ni_scaler_params_t struct
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_INVALID_SESSION, NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Definition at line 5325 of file ni_device_api_priv.c.

◆ ni_config_instance_set_sequence_change()

ni_retcode_t ni_config_instance_set_sequence_change ( ni_session_context_t p_ctx,
ni_device_type_t  device_type,
ni_resolution_t p_resolution 
)

Send a p_config command to inform encoder sequence change.


Parameters
ni_session_context_tp_ctx - xcoder Context
ni_device_type_tdevice_type - xcoder type Encoder or Decoder
ni_resolution_tp_resolution - sequence change resolution
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_INVALID_SESSION, NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Definition at line 7112 of file ni_device_api_priv.c.

◆ ni_config_instance_set_uploader_params()

ni_retcode_t ni_config_instance_set_uploader_params ( ni_session_context_t p_ctx,
uint32_t  pool_size,
uint32_t  pool 
)

Send a p_config command to configure uploading parameters.


Parameters
ni_session_context_tp_ctx - xcoder Context
[in]pool_sizepool size to create
[in]pool0 = normal pool, 1 = P2P pool
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_INVALID_SESSION NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Definition at line 15324 of file ni_device_api_priv.c.

◆ ni_config_instance_set_write_len()

ni_retcode_t ni_config_instance_set_write_len ( ni_session_context_t p_ctx,
ni_device_type_t  device_type,
uint32_t  len 
)

Send a p_config command to set the length for the incoming write packet.


Parameters
ni_session_context_tp_ctx - xcoder Context
ni_device_type_tdevice_type - xcoder type Encoder or Decoder

Definition at line 7042 of file ni_device_api_priv.c.

◆ ni_config_instance_sos()

ni_retcode_t ni_config_instance_sos ( ni_session_context_t p_ctx,
ni_device_type_t  device_type 
)

Send a p_config command for Start Of Stream.


Parameters
ni_session_context_tp_ctx - xcoder Context
ni_device_type_tdevice_type - xcoder type Encoder or Decoder
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_INVALID_SESSION. NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Definition at line 6871 of file ni_device_api_priv.c.

◆ ni_config_instance_update_encoder_params()

ni_retcode_t ni_config_instance_update_encoder_params ( ni_session_context_t p_ctx,
ni_param_change_flags_t  change_flags 
)

◆ ni_config_read_inout_layers()

ni_retcode_t ni_config_read_inout_layers ( ni_session_context_t p_ctx,
ni_network_data_t p_network 
)

Definition at line 16468 of file ni_device_api_priv.c.

◆ ni_config_session_rw()

ni_retcode_t ni_config_session_rw ( ni_session_context_t p_ctx,
ni_session_config_rw_type_t  rw_type,
uint8_t  enable,
uint8_t  hw_action,
uint16_t  frame_id 
)

Configure the read/write pipe for a session to control its behavior.


Parameters
ni_session_context_tp_ctx - xcoder Context
ni_session_config_rw_trw_type
ni_device_type_tdevice_type - xcoder type Encoder or Decoder
uint8_tenable
uint8_thw_action
uint16_tframe_id
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_INVALID_SESSION, NI_RETCODE_ERROR_MEM_ALOC or NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Definition at line 6778 of file ni_device_api_priv.c.

◆ ni_create_frame()

int ni_create_frame ( ni_frame_t p_frame,
uint32_t  read_length,
uint64_t *  p_frame_offset,
bool  is_hw_frame 
)

Get info from received p_frame.


Parameters

Definition at line 7413 of file ni_device_api_priv.c.

◆ ni_decoder_session_close()

ni_retcode_t ni_decoder_session_close ( ni_session_context_t p_ctx,
int  eos_recieved 
)

Close a xcoder decoder instance.


Parameters

Definition at line 1579 of file ni_device_api_priv.c.

◆ ni_decoder_session_copy_internal()

ni_retcode_t ni_decoder_session_copy_internal ( ni_session_context_t src_p_ctx,
ni_session_context_t dst_p_ctx 
)

Copy a xcoder decoder worker thread info and card info.


Parameters

Definition at line 13323 of file ni_device_api_priv.c.

◆ ni_decoder_session_flush()

ni_retcode_t ni_decoder_session_flush ( ni_session_context_t p_ctx)

Flush decoder output.


Parameters

Definition at line 1534 of file ni_device_api_priv.c.

◆ ni_decoder_session_open()

ni_retcode_t ni_decoder_session_open ( ni_session_context_t p_ctx)

Open a xcoder decoder instance.


Parameters

Definition at line 1146 of file ni_device_api_priv.c.

◆ ni_decoder_session_read()

int ni_decoder_session_read ( ni_session_context_t p_ctx,
ni_frame_t p_frame 
)

Retrieve a YUV p_frame from decoder.


Parameters

Definition at line 2254 of file ni_device_api_priv.c.

◆ ni_decoder_session_read_desc()

int ni_decoder_session_read_desc ( ni_session_context_t p_ctx,
ni_frame_t p_frame 
)

Copy a xcoder decoder worker thread info and card info.


Parameters

Definition at line 14055 of file ni_device_api_priv.c.

◆ ni_decoder_session_send_eos()

ni_retcode_t ni_decoder_session_send_eos ( ni_session_context_t p_ctx)

Send end of stream signal to the decoder.


Parameters

Definition at line 1489 of file ni_device_api_priv.c.

◆ ni_decoder_session_write()

int ni_decoder_session_write ( ni_session_context_t p_ctx,
ni_packet_t p_packet 
)

Send a video p_packet to decoder.


Parameters

Definition at line 1760 of file ni_device_api_priv.c.

◆ ni_device_config_ns_qos()

ni_retcode_t ni_device_config_ns_qos ( ni_device_handle_t  device_handle,
uint32_t  key,
uint32_t  value 
)

Send namespace num / Opmode and SRIOv index/value to the device with specified logic block address.


Parameters
[in]device_handleDevice handle obtained by calling ni_device_open
[in]KeyRepresents either namespace num or opmode
[in]ValueRepresents either SRIOv index or opmode value
Returns
On success NI_RETCODE_SUCCESS On failure NI_RETCODE_ERROR_MEM_ALOC NI_RETCODE_ERROR_NVME_CMD_FAILED

Definition at line 17879 of file ni_device_api_priv.c.

◆ ni_device_get_ddr_configuration()

ni_retcode_t ni_device_get_ddr_configuration ( ni_session_context_t p_ctx)

Get DDR configuration of Quadra device.


Parameters
[in/out]p_ctx pointer to a session context with valid file handle
Returns
On success NI_RETCODE_SUCCESS On failure NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_MEM_ALOC NI_RETCODE_ERROR_NVME_CMD_FAILED

Definition at line 17517 of file ni_device_api_priv.c.

◆ ni_device_set_ddr_configuration()

ni_retcode_t ni_device_set_ddr_configuration ( ni_session_context_t p_ctx,
uint8_t  ddr_priority_mode 
)

Set DDR configuration of Quadra device.


Parameters
[in]p_ctxpointer to a session context with valid file handle
[in]ddr_priority_modeddr priority mode
Returns
On success NI_RETCODE_SUCCESS On failure NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_MEM_ALOC NI_RETCODE_ERROR_NVME_CMD_FAILED

Definition at line 17602 of file ni_device_api_priv.c.

◆ ni_dump_log_all_cores()

ni_retcode_t ni_dump_log_all_cores ( ni_session_context_t p_ctx,
void *  p_data,
bool  gen_log_file 
)

Definition at line 18069 of file ni_device_api_priv.c.

◆ ni_dump_log_single_core()

ni_retcode_t ni_dump_log_single_core ( ni_session_context_t p_ctx,
void *  p_data,
uint32_t  core_id,
bool  gen_log_file 
)

Definition at line 17952 of file ni_device_api_priv.c.

◆ ni_encoder_metadata_buffer_alloc()

ni_retcode_t ni_encoder_metadata_buffer_alloc ( ni_frame_t p_frame,
int  extra_len 
)

Allocate memory for the metadata header and auxillary data for encoder input data.


Parameters
[in]p_framePointer to a caller allocated ni_frame_t struct
[in]extra_lenLength header and auxillary data
Returns
On success NI_RETCODE_SUCCESS On failure NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_MEM_ALOC

Definition at line 17665 of file ni_device_api_priv.c.

◆ ni_encoder_session_close()

ni_retcode_t ni_encoder_session_close ( ni_session_context_t p_ctx,
int  eos_recieved 
)

Close a xcoder encoder instance.


Parameters

Definition at line 3761 of file ni_device_api_priv.c.

◆ ni_encoder_session_open()

ni_retcode_t ni_encoder_session_open ( ni_session_context_t p_ctx)

Open a xcoder encoder instance.


Parameters

Definition at line 3202 of file ni_device_api_priv.c.

◆ ni_encoder_session_read()

int ni_encoder_session_read ( ni_session_context_t p_ctx,
ni_packet_t p_packet 
)

Definition at line 4548 of file ni_device_api_priv.c.

◆ ni_encoder_session_send_eos()

ni_retcode_t ni_encoder_session_send_eos ( ni_session_context_t p_ctx)

Flush encoder output.


Parameters

Definition at line 3716 of file ni_device_api_priv.c.

◆ ni_encoder_session_sequence_change()

ni_retcode_t ni_encoder_session_sequence_change ( ni_session_context_t p_ctx,
ni_resolution_t p_resolution 
)

Send sequnce change to a xcoder encoder instance.


Parameters

Definition at line 4984 of file ni_device_api_priv.c.

◆ ni_encoder_session_write()

int ni_encoder_session_write ( ni_session_context_t p_ctx,
ni_frame_t p_frame 
)

Send a YUV p_frame to encoder.


Parameters

************ Sequence Change related stuff

************ Sequence Change related stuff end

Definition at line 4032 of file ni_device_api_priv.c.

◆ ni_encoder_set_vui()

void ni_encoder_set_vui ( uint8_t *  vui,
ni_encoder_config_t p_cfg 
)

◆ ni_encoder_start_buffer_alloc()

ni_retcode_t ni_encoder_start_buffer_alloc ( ni_frame_t p_frame)

Allocate memory for the non-4k-aligned part at the start of YUV data for encoder input data.


Parameters
[in]p_framePointer to a caller allocated ni_frame_t struct
[in]start_lenLength of non-4k-aligned part at the start of YUV data
Returns
On success NI_RETCODE_SUCCESS On failure NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_MEM_ALOC

Definition at line 17752 of file ni_device_api_priv.c.

◆ ni_fix_VUI()

void ni_fix_VUI ( uint8_t *  vui,
int  pos,
int  value 
)

insert the 32 bits of integer value at bit position pos


Parameters
intpos, int value
Returns
void

Definition at line 8178 of file ni_device_api_priv.c.

◆ ni_get_bitdepth_factor_from_pixfmt()

int ni_get_bitdepth_factor_from_pixfmt ( int  pix_fmt)

Grab bitdepth factor from NI_PIX_FMT.


Parameters
[in]pix_fmtni_pix_fmt_t
Returns
1 or 2

Parameters
[in]pix_fmtni_pix_fmt_t
Returns
1 or 2 for success, -1 for error

Definition at line 15673 of file ni_device_api_priv.c.

◆ ni_get_frame_index()

int32_t ni_get_frame_index ( uint32_t *  value)

Get xcoder instance id.


Parameters

Definition at line 1020 of file ni_util.c.

◆ ni_get_memory_offset()

ni_retcode_t ni_get_memory_offset ( ni_session_context_t p_ctx,
const niFrameSurface1_t hwdesc,
uint32_t *  p_offset 
)

Get an address offset from a hw descriptor.


Parameters
[in]p_ctxni_session_context_t to be referenced
[in]hwdescPointer to caller allocated niFrameSurface1_t
[out]p_offsetValue of offset
Returns
On success NI_RETCODE_SUCCESS On failure NI_RETCODE_INVALID_PARAM

Definition at line 15739 of file ni_device_api_priv.c.

◆ ni_get_planar_from_pixfmt()

int ni_get_planar_from_pixfmt ( int  pix_fmt)

Grab planar info from NI_PIX_FMT.


Parameters
[in]pix_fmtni_pix_fmt_t
Returns
0 or 1 for success, -1 for error

Definition at line 15702 of file ni_device_api_priv.c.

◆ ni_hwdownload_by_frame_idx()

int ni_hwdownload_by_frame_idx ( niFrameSurface1_t hwdesc,
ni_frame_t p_frame,
int  is_auto_dl 
)

Retrieve a YUV p_frame by frame index.


Parameters

Definition at line 15115 of file ni_device_api_priv.c.

◆ ni_hwdownload_session_read()

int ni_hwdownload_session_read ( ni_session_context_t p_ctx,
ni_frame_t p_frame,
niFrameSurface1_t hwdesc 
)

Retrieve a YUV p_frame from decoder.


Parameters

Definition at line 14923 of file ni_device_api_priv.c.

◆ ni_hwframe_clone()

ni_retcode_t ni_hwframe_clone ( ni_session_context_t p_ctx,
ni_frameclone_desc_t p_frameclone_desc 
)

Copy a src hw frame to a dst hw frame.


Parameters

Definition at line 15233 of file ni_device_api_priv.c.

◆ ni_hwupload_session_query_buffer_avail()

ni_retcode_t ni_hwupload_session_query_buffer_avail ( ni_session_context_t p_ctx)

Query and acquire buffer from xcoder upload instance.


Parameters
p_ctxpointer to uploader session context
Returns
On success NI_RETCODE_SUCCESS On error NI_RETCODE_ERROR_INVALID_SESSION NI_RETCODE_ERROR_MEM_ALOC

Parameters
p_ctxpointer to uploader session context
Returns
NI_RETCODE_SUCCESS NI_RETCODE_ERROR_INVALID_SESSION NI_RETCODE_ERROR_MEM_ALOC

Definition at line 13456 of file ni_device_api_priv.c.

◆ ni_hwupload_session_read_hwdesc()

int ni_hwupload_session_read_hwdesc ( ni_session_context_t p_ctx,
niFrameSurface1_t hwdesc 
)

Retrieve a HW descriptor of uploaded frame.


Parameters
p_ctxpointer to uploader session context hwdesc pointer to hw descriptor
Returns
On success NI_RETCODE_SUCCESS On failure NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_INVALID_SESSION NI_RETCODE_FAILURE

Definition at line 13917 of file ni_device_api_priv.c.

◆ ni_hwupload_session_write()

int ni_hwupload_session_write ( ni_session_context_t p_ctx,
ni_frame_t p_frame,
niFrameSurface1_t hwdesc 
)

Send a YUV p_frame to upload session.


Parameters

Definition at line 13561 of file ni_device_api_priv.c.

◆ ni_params_print()

void ni_params_print ( ni_xcoder_params_t *const  p_encoder_params)

Print xcoder user configurations.


Parameters

Definition at line 12785 of file ni_device_api_priv.c.

◆ ni_populate_device_capability_struct()

void ni_populate_device_capability_struct ( ni_device_capability_t p_cap,
void *  p_data,
ni_device_handle_t  device_handle,
bool  device_in_ctxt 
)

Get info from received xcoder capability.


Parameters

Definition at line 7865 of file ni_device_api_priv.c.

◆ ni_query_detail_status()

ni_retcode_t ni_query_detail_status ( ni_session_context_t p_ctx,
ni_device_type_t  device_type,
void *  p_detail_status,
int  ver 
)

Query a particular xcoder instance to get DetailStatus data.


Parameters
ni_session_context_tp_ctx - xcoder Context
ni_device_type_tdevice_type - xcoder type Encoder or Decoder
ni_instance_mgr_detail_status_t*out - Struct preallocated from the caller where the resulting data will be placed
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_MEM_ALOC or NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Definition at line 6035 of file ni_device_api_priv.c.

◆ ni_query_eos()

ni_retcode_t ni_query_eos ( ni_session_context_t p_ctx,
ni_device_type_t  device_type,
ni_instance_mgr_stream_complete_t p_stream_complete 
)

Query a particular xcoder instance to get End of Output data.


Parameters
ni_session_context_tp_ctx - xcoder Context
ni_device_type_tdevice_type - xcoder type Encoder or Decoder
InstMgrStreamComp*out - Struct preallocated from the caller where the resulting data will be placed
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_INVALID_SESSION, NI_RETCODE_ERROR_MEM_ALOC or NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Definition at line 6376 of file ni_device_api_priv.c.

◆ ni_query_general_status()

ni_retcode_t ni_query_general_status ( ni_session_context_t p_ctx,
ni_device_type_t  device_type,
ni_instance_mgr_general_status_t p_gen_status 
)

Query a particular xcoder instance to get GeneralStatus data.


Parameters
ni_session_context_tp_ctx - xcoder Context
ni_device_type_tdevice_type - xcoder type Encoder or Decoder
ni_instance_mgr_general_status_t*out - Struct preallocated from the caller where the resulting data will be placed
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_MEM_ALOC or NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Definition at line 5967 of file ni_device_api_priv.c.

◆ ni_query_instance_buf_info()

ni_retcode_t ni_query_instance_buf_info ( ni_session_context_t p_ctx,
ni_instance_buf_info_rw_type_t  rw_type,
ni_device_type_t  device_type,
ni_instance_buf_info_t p_inst_buf_info 
)

Query a particular xcoder instance to get buffer/data Info data.


Parameters
ni_session_context_tp_ctx - xcoder Context
ni_instance_buf_info_rw_type_trw_type
ni_device_type_tdevice_type - xcoder type Encoder or Decoder
ni_instance_buf_info_t*out - Struct preallocated from the caller where the resulting data will be placed
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_INVALID_SESSION, NI_RETCODE_ERROR_MEM_ALOC or NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Definition at line 6647 of file ni_device_api_priv.c.

◆ ni_query_session_statistic_info()

ni_retcode_t ni_query_session_statistic_info ( ni_session_context_t p_ctx,
ni_device_type_t  device_type,
ni_session_statistic_t p_session_statistic 
)

Query a particular xcoder session to get session statistics.


Parameters
ni_session_context_tp_ctx - xcoder Context
ni_device_type_tdevice_type - xcoder type Encoder or Decoder
ni_session_statistic_t*out- Struct preallocated from the caller where the resulting data will be placed
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_INVALID_SESSION, NI_RETCODE_ERROR_MEM_ALOC or NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Definition at line 6544 of file ni_device_api_priv.c.

◆ ni_query_session_stats()

ni_retcode_t ni_query_session_stats ( ni_session_context_t p_ctx,
ni_device_type_t  device_type,
ni_session_stats_t p_session_stats,
int  rc,
int  opcode 
)

Query a particular session to get the stats info.


Parameters
ni_session_context_tp_ctx - xcoder Context
ni_device_type_tdevice_type - xcoder type Encoder or Decoder
ni_session_stats_t*out - Struct preallocated from the caller where the resulting data will be placed
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_INVALID_SESSION, NI_RETCODE_ERROR_MEM_ALOC or NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Definition at line 6200 of file ni_device_api_priv.c.

◆ ni_query_stream_info()

ni_retcode_t ni_query_stream_info ( ni_session_context_t p_ctx,
ni_device_type_t  device_type,
ni_instance_mgr_stream_info_t p_stream_info 
)

Query a particular xcoder instance to get Stream Info data.


Parameters
ni_session_context_tp_ctx - xcoder Context
ni_device_type_tdevice_type - xcoder type Encoder or Decoder
ni_instance_mgr_stream_info_t*out - Struct preallocated from the caller where the resulting data will be placed
Returns
- NI_RETCODE_SUCCESS on success, NI_RETCODE_ERROR_INVALID_SESSION, NI_RETCODE_ERROR_MEM_ALOC or NI_RETCODE_ERROR_NVME_CMD_FAILED on failure

Definition at line 6117 of file ni_device_api_priv.c.

◆ ni_recv_from_target()

ni_retcode_t ni_recv_from_target ( ni_session_context_t pSession,
const ni_p2p_sgl_t dmaAddrs,
ni_frame_t pDstFrame 
)

Definition at line 18139 of file ni_device_api_priv.c.

◆ ni_scaler_alloc_frame()

ni_retcode_t ni_scaler_alloc_frame ( ni_session_context_t p_ctx,
int  width,
int  height,
int  format,
int  options,
int  rectangle_width,
int  rectangle_height,
int  rectangle_x,
int  rectangle_y,
int  rgba_color,
int  frame_index 
)

allocate a frame in the scaler


Parameters
[in]p_ctxpointer to session context
[in]widthwidth in pixels
[in]heightheight in pixels
[in]formatpixel format
[in]optionsoption flags
[in]rectangle_widthclipping rectangle width in pixels
[in]rectangle_heightclipping rectangle height in pixels
[in]rectangle_xclipping rectangle x position
[in]rectangle_yclipping rectangle y position
[in]rgba_colorbackground colour (only used by pad filter)
[in]frame_indexframe index (only for hardware frames)
Returns
NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_INVALID_SESSION NI_RETCODE_ERROR_NVME_CMD_FAILED NI_RETCODE_ERROR_MEM_ALOC

Definition at line 5478 of file ni_device_api_priv.c.

◆ ni_scaler_config_frame()

ni_retcode_t ni_scaler_config_frame ( ni_session_context_t p_ctx,
ni_frame_config_t p_cfg 
)

config frame in the scaler


Parameters
[in]p_ctxpointer to session context
[in]p_cfgpointer to frame config
Returns
NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_INVALID_SESSION NI_RETCODE_ERROR_NVME_CMD_FAILED NI_RETCODE_ERROR_MEM_ALOC

config frame in the scaler


Parameters
[in]p_ctxpointer to session context
[in]p_cfgpointer to frame config
Returns
NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_INVALID_SESSION NI_RETCODE_ERROR_NVME_CMD_FAILED NI_RETCODE_ERROR_MEM_ALOC

Definition at line 5715 of file ni_device_api_priv.c.

◆ ni_scaler_multi_config_frame()

ni_retcode_t ni_scaler_multi_config_frame ( ni_session_context_t p_ctx,
ni_frame_config_t  p_cfg_in[],
int  numInCfgs,
ni_frame_config_t p_cfg_out 
)

config multi frames in the scaler


Parameters
[in]p_ctxpointer to session context
[in]p_cfg_inpointer to input frame config array
[in]numInCfgsnumber of input frame configs in p_cfg_in array
[in]p_cfg_outpointer to output frame config
Returns
NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_INVALID_SESSION NI_RETCODE_ERROR_NVME_CMD_FAILED NI_RETCODE_ERROR_MEM_ALOC

config multi frames in the scaler


Parameters
[in]p_ctxpointer to session context
[in]p_cfg_inpointer to input frame config array
[in]numInCfgsnumber of input frame configs in the p_cfg array
[in]p_cfg_outpointer to output frame config
Returns
NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_INVALID_SESSION NI_RETCODE_ERROR_NVME_CMD_FAILED NI_RETCODE_ERROR_MEM_ALOC

Definition at line 5837 of file ni_device_api_priv.c.

◆ ni_scaler_session_close()

ni_retcode_t ni_scaler_session_close ( ni_session_context_t p_ctx,
int  eos_received 
)

close a scaler session


Parameters
[in]p_ctxpointer to session context
[in]eos_received(not used)
Returns
NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_INVALID_SESSION NI_RETCODE_ERROR_NVME_CMD_FAILED

Definition at line 5237 of file ni_device_api_priv.c.

◆ ni_scaler_session_open()

int ni_scaler_session_open ( ni_session_context_t p_ctx)

Open a xcoder scaler instance.


Parameters
[in]p_ctxpointer to session context
Returns
NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_NVME_CMD_FAILED NI_RETCODE_ERROR_INVALID_SESSION NI_RETCODE_ERROR_MEM_ALOC

Definition at line 5027 of file ni_device_api_priv.c.

◆ ni_scaler_session_query_buffer_avail()

ni_retcode_t ni_scaler_session_query_buffer_avail ( ni_session_context_t p_ctx)

Query and acquire buffer from xcoder scale instance.


Parameters
p_ctxpointer to scaler session context
Returns
On success NI_RETCODE_SUCCESS On failure NI_RETCODE_ERROR_INVALID_SESSION NI_RETCODE_ERROR_MEM_ALOC NI_RETCODE_ERROR_NVME_CMD_FAILED NI_RETCODE_FAILURE

Query and acquire buffer from xcoder scale instance.


Parameters
[in]p_ctxpointer to scaler session context
Returns
NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_INVALID_SESSION NI_RETCODE_ERROR_MEM_ALOC NI_RETCODE_ERROR_NVME_CMD_FAILED NI_RETCODE_FAILURE

Definition at line 13364 of file ni_device_api_priv.c.

◆ ni_scaler_session_read_hwdesc()

ni_retcode_t ni_scaler_session_read_hwdesc ( ni_session_context_t p_ctx,
ni_frame_t p_frame 
)

read a hardware descriptor from a scaler session


Parameters
[in]p_ctxpointer to session context
[out]p_framepointer to frame to write hw descriptor
Returns
NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_INVALID_SESSION NI_RETCODE_ERROR_MEM_ALOC NI_RETCODE_ERROR_NVME_CMD_FAILED NI_RETCODE_FAILURE

Definition at line 15554 of file ni_device_api_priv.c.

◆ ni_send_session_keep_alive()

ni_retcode_t ni_send_session_keep_alive ( uint32_t  session_id,
ni_device_handle_t  device_handle,
ni_event_handle_t  event_handle,
void *  p_data 
)

send a keep alive message to firmware


Parameters

Definition at line 1437 of file ni_device_api_priv.c.

◆ ni_send_to_target()

ni_retcode_t ni_send_to_target ( ni_session_context_t p_ctx,
niFrameSurface1_t source,
uint64_t  ui64DestAddr,
uint32_t  ui32FrameSize 
)

Definition at line 18089 of file ni_device_api_priv.c.

◆ ni_session_keep_alive_thread()

void* ni_session_keep_alive_thread ( void *  arguments)

decoder keep alive thread function triggers every 1 second


Parameters
voidthread args
Returns
void

Definition at line 12908 of file ni_device_api_priv.c.

◆ ni_set_custom_dec_template()

void ni_set_custom_dec_template ( ni_session_context_t p_ctx,
ni_decoder_config_t p_cfg,
ni_xcoder_params_t p_src,
uint32_t  max_pkt_size 
)

Setup all xcoder configurations with custom parameters (Rev. B)


Parameters

Definition at line 8209 of file ni_device_api_priv.c.

◆ ni_set_custom_template()

void ni_set_custom_template ( ni_session_context_t p_ctx,
ni_encoder_config_t p_cfg,
ni_xcoder_params_t p_src 
)

Setup all xcoder configurations with custom parameters (Rev. B)


Parameters

Definition at line 8455 of file ni_device_api_priv.c.

◆ ni_set_default_template()

void ni_set_default_template ( ni_session_context_t p_ctx,
ni_encoder_config_t p_config 
)

Setup and initialize all xcoder configuration to default (Rev. B)


Parameters

Definition at line 9648 of file ni_device_api_priv.c.

◆ ni_uploader_session_close()

ni_retcode_t ni_uploader_session_close ( ni_session_context_t p_ctx)

Close an xcoder upload instance.


Parameters
p_ctxpointer to uploader session context
Returns
NI_RETCODE_SUCCESS

Definition at line 15297 of file ni_device_api_priv.c.

◆ ni_uploader_session_open()

ni_retcode_t ni_uploader_session_open ( ni_session_context_t p_ctx)

Open a xcoder uploader instance.


Parameters
p_ctx- pointer to caller allocated uploader session context
Returns
On success NI_RETCODE_SUCCESS

On failure NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_MEM_ALOC NI_RETCODE_ERROR_INVALID_SESSION NI_RETCODE_FAILURE

Open a xcoder uploader instance.


Parameters
p_ctx- pointer to caller allocated uploader session context
Returns
On success NI_RETCODE_SUCCESS

On failure NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_MEM_ALOC NI_RETCODE_ERROR_INVALID_SESSION NI_RETCODE_FAILURE

Definition at line 13122 of file ni_device_api_priv.c.

◆ ni_validate_custom_dec_template()

ni_retcode_t ni_validate_custom_dec_template ( ni_xcoder_params_t p_src,
ni_session_context_t p_ctx,
ni_decoder_config_t p_cfg,
char *  p_param_err,
uint32_t  max_err_len 
)

Perform validation on custom dec parameters (Rev. B)


Parameters

Definition at line 10030 of file ni_device_api_priv.c.

◆ ni_validate_custom_template()

ni_retcode_t ni_validate_custom_template ( ni_session_context_t p_ctx,
ni_encoder_config_t p_cfg,
ni_xcoder_params_t p_src,
char *  p_param_err,
uint32_t  max_err_len 
)

Perform validation on custom parameters (Rev. B)


Parameters

Definition at line 10332 of file ni_device_api_priv.c.

◆ ni_xcoder_session_query()

int ni_xcoder_session_query ( ni_session_context_t p_ctx,
ni_device_type_t  device_type 
)

Query current xcoder status.


Parameters

Definition at line 3077 of file ni_device_api_priv.c.

◆ ni_xcoder_session_query_detail()

int ni_xcoder_session_query_detail ( ni_session_context_t p_ctx,
ni_device_type_t  device_type,
void *  detail_data,
int  ver 
)

Query current xcoder status.


Parameters

Definition at line 3169 of file ni_device_api_priv.c.