611 uint32_t max_err_len);
623 uint32_t max_err_len);
634 uint32_t max_err_len);
915 ni_device_handle_t device_handle,
916 ni_event_handle_t event_handle,
985 uint32_t pool_size, uint32_t p2p_pool);
1040 ni_device_handle_t device_handle,
1041 ni_event_handle_t event_handle);
1069 unsigned int *p_offset,
unsigned int hwaddress);
Common NETINT definitions used by all modules.
#define NI_LOGAN_MAX_VUI_SIZE
enum _ni_logan_param_change_flags ni_logan_param_change_flags_t
This is an enumeration for encoder parameter change.
#define NI_LOGAN_MAX_GOP_NUM
struct _ni_logan_decoder_session_open_info ni_logan_decoder_session_open_info_t
ni_logan_retcode_t ni_logan_encoder_session_close(ni_logan_session_context_t *p_ctx, int eos_recieved)
Close a xcoder encoder instance.
int ni_logan_encoder_session_read(ni_logan_session_context_t *p_ctx, ni_logan_packet_t *p_packet)
Retrieve an encoded packet from encoder.
ni_logan_retcode_t ni_logan_query_stream_info(ni_logan_session_context_t *p_ctx, ni_logan_device_type_t device_type, ni_logan_instance_mgr_stream_info_t *p_stream_info, bool is_hw)
Query a particular xcoder instance to get Stream Info data.
int ni_logan_decoder_session_read_desc(ni_logan_session_context_t *p_ctx, ni_logan_frame_t *p_frame)
Retrieve a hw desc p_frame from decoder When yuvbypass enabled, this is used for decoder to read hard...
struct _ni_logan_metadata_common ni_logan_metadata_common_t
struct _ni_logan_inst_config_rw ni_logan_inst_config_rw_t
enum _ni_logan_gop_preset_idx ni_logan_gop_preset_idx_t
ni_logan_inst_config_rw_type_t
ni_logan_retcode_t ni_logan_config_instance_set_encoder_params(ni_logan_session_context_t *p_ctx)
Send a p_config command to configure encoding parameters.
ni_logan_retcode_t ni_get_memory_offset(ni_logan_session_context_t *p_ctx, const ni_logan_hwframe_surface_t *hwdesc, unsigned int *p_offset, unsigned int hwaddress)
Get an address offset from a hw descriptor.
ni_logan_bitstream_format_t
ni_logan_retcode_t ni_logan_config_instance_sos(ni_logan_session_context_t *p_ctx, ni_logan_device_type_t device_type)
Send a p_config command for Start Of Stream.
struct _ni_logan_instance_upload_ret_hwdesc ni_logan_instance_upload_ret_hwdesc_t
ni_logan_retcode_t ni_logan_query_status_info(ni_logan_session_context_t *p_ctx, ni_logan_device_type_t device_type, ni_logan_instance_status_info_t *p_status_info, int rc, int opcode)
Query a particular xcoder instance to get status Info data.
struct _ni_logan_instance_mgr_stream_complete ni_logan_instance_mgr_stream_complete_t
int ni_logan_hwupload_session_write(ni_logan_session_context_t *p_ctx, ni_logan_frame_t *p_frame)
Send a YUV to hardware, hardware will store it.
int ni_logan_encoder_session_query(ni_logan_session_context_t *p_ctx)
Query current encoder status.
ni_logan_retcode_t ni_logan_validate_custom_template(ni_logan_session_context_t *p_ctx, ni_logan_encoder_config_t *p_cfg, ni_logan_encoder_params_t *p_src, char *p_param_err, uint32_t max_err_len)
Perform validation on custom parameters (Rev. B)
struct _ni_logan_encoder_session_open_info ni_logan_encoder_session_open_info_t
ni_logan_retcode_t ni_logan_config_instance_update_encoder_params(ni_logan_session_context_t *p_ctx, ni_logan_param_change_flags_t change_flags)
updates encoder parameters based on change flags structure
int ni_logan_decoder_session_write(ni_logan_session_context_t *p_ctx, ni_logan_packet_t *p_packet)
Send a video p_packet to decoder.
struct _ni_logan_metadata_enc_bstream ni_logan_metadata_enc_bstream_t
ni_logan_retcode_t ni_logan_clear_instance_buf(ni_logan_hwframe_surface_t *surface, ni_device_handle_t device_handle, ni_event_handle_t event_handle)
clear a particular xcoder instance buffer/data
enum _ni_logan_xcoder_mgr_retcode ni_logan_xcoder_mgr_retcode_t
ni_logan_retcode_t ni_logan_encoder_session_open(ni_logan_session_context_t *p_ctx)
Open a xcoder encoder instance.
ni_logan_retcode_t ni_logan_encoder_session_flush(ni_logan_session_context_t *p_ctx)
Flush encoder output.
void ni_logan_set_default_template(ni_logan_session_context_t *p_ctx, ni_logan_encoder_config_t *p_config)
Setup and initialize all xcoder configuration to default (Rev. B)
void ni_logan_fix_VUI(uint8_t *vui, int pos, int value)
insert the 32 bits of integer value at bit position pos
int ni_logan_hwdownload_session_read(ni_logan_session_context_t *p_ctx, ni_logan_frame_t *p_frame, ni_logan_hwframe_surface_t *hwdesc)
Retrieve a YUV through HW descriptor from decoder.
int ni_logan_create_frame(ni_logan_frame_t *p_frame, uint32_t read_length, uint64_t *frame_offset, bool is_hw_frame)
Get info from received p_frame.
struct _ni_logan_session_closed_status ni_logan_session_closed_status_t
void ni_logan_populate_serial_number(ni_logan_serial_num_t *p_serial_num, void *p_data)
Get Card Serial Number from received Nvme Indentify info.
struct _ni_logan_init_frames_params_t ni_logan_init_frames_params_t
int ni_logan_hwupload_session_read_hwdesc(ni_logan_session_context_t *p_ctx, ni_logan_hwframe_surface_t *hwdesc, unsigned int *hwaddress)
Retrieve a HW descriptor of uploaded frame The HW descriptor will contain the YUV frame index,...
struct _ni_logan_instance_debugInfo ni_logan_instance_debugInfo_t
struct _ni_logan_metadata_dec_frame ni_logan_metadata_dec_frame_t
_ni_logan_xcoder_mgr_retcode
@ ni_logan_xcoder_general_error
@ ni_logan_xcoder_resource_insufficient
@ ni_logan_xcoder_resource_recovery
@ ni_logan_xcoder_request_success
@ ni_logan_xcoder_request_pending
ni_logan_retcode_t ni_logan_query_instance_buf_info(ni_logan_session_context_t *p_ctx, ni_logan_instance_buf_info_rw_type_t rw_type, ni_logan_device_type_t device_type, ni_logan_instance_buf_info_t *p_inst_buf_info, bool is_hw)
Query a particular xcoder instance to get buffer/data Info data.
int ni_logan_hwupload_init_framepool(ni_logan_session_context_t *p_ctx, uint32_t pool_size, uint32_t p2p_pool)
Setup framepool for hwupload. Uses decoder framepool.
ni_logan_retcode_t ni_logan_query_general_status(ni_logan_session_context_t *p_ctx, ni_logan_device_type_t device_type, ni_logan_instance_mgr_general_status_t *p_gen_status)
Query a particular xcoder instance to get GeneralStatus data.
struct _ni_logan_instance_buf_info ni_logan_instance_buf_info_t
struct _ni_logan_t408_config_t ni_logan_t408_config_t
struct _ni_logan_get_session_id ni_logan_get_session_id_t
ni_logan_retcode_t ni_logan_decoder_session_copy_internal(ni_logan_session_context_t *src_p_ctx, ni_logan_session_context_t *dst_p_ctx)
Copy a xcoder decoder card info and create worker thread.
ni_logan_retcode_t ni_logan_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
struct _ni_logan_metadata_enc_frame ni_logan_metadata_enc_frame_t
struct _ni_logan_instance_mgr_general_status ni_logan_instance_mgr_general_status_t
void ni_logan_change_priority(void)
Set up schedule priority. First try to run with RR mode. If fails, try to set nice value....
ni_logan_retcode_t ni_logan_check_common_params(ni_logan_t408_config_t *p_param, ni_logan_encoder_params_t *p_src, char *param_err, uint32_t max_err_len)
check the range of common parameters
void * ni_logan_session_keep_alive_thread(void *arguments)
decoder keep alive thread function triggers every 1 second
ni_logan_instance_buf_info_rw_type_t
@ INST_BUF_INFO_R_ACQUIRE
@ INST_BUF_INFO_RW_UPLOAD
ni_logan_retcode_t ni_logan_decoder_session_close(ni_logan_session_context_t *p_ctx, int eos_recieved)
Close a xcoder decoder instance.
struct _ni_logan_encoder_frame_params ni_logan_encoder_frame_params_t
void ni_logan_populate_device_capability_struct(ni_logan_device_capability_t *p_cap, void *p_data)
Get info from received xcoder capability.
ni_logan_retcode_t ni_logan_decoder_session_flush_buffers(ni_logan_session_context_t *p_ctx)
Flush decoder output.
ni_logan_retcode_t ni_logan_config_instance_eos(ni_logan_session_context_t *p_ctx, ni_logan_device_type_t device_type)
Send a p_config command for End Of Stream.
struct _ni_logan_instance_dec_packet_info ni_logan_instance_dec_packet_info_t
ni_logan_retcode_t ni_logan_decoder_session_flush(ni_logan_session_context_t *p_ctx)
Flush decoder output.
ni_logan_retcode_t ni_logan_decoder_session_open(ni_logan_session_context_t *p_ctx)
Open a xcoder decoder instance.
ni_logan_retcode_t ni_logan_uploader_session_open(ni_logan_session_context_t *p_ctx)
Open a xcoder uploader instance.
int ni_logan_decoder_session_read(ni_logan_session_context_t *p_ctx, ni_logan_frame_t *p_frame)
Retrieve a YUV p_frame from decoder.
struct _ni_logan_recycle_buffer_t ni_logan_recycle_buffer_t
ni_logan_retcode_t ni_logan_config_instance_flush(ni_logan_session_context_t *p_ctx, ni_logan_device_type_t device_type)
Send a p_config command Flush Of Stream.
ni_logan_set_param_option_t
int ni_logan_encoder_session_write(ni_logan_session_context_t *p_ctx, ni_logan_frame_t *p_frame)
Send a YUV p_frame to encoder.
struct _ni_logan_encoder_config_t ni_logan_encoder_config_t
struct _ni_logan_instance_mgr_stream_info ni_logan_instance_mgr_stream_info_t
ni_logan_retcode_t ni_logan_check_ratecontrol_params(ni_logan_encoder_config_t *p_cfg, char *param_err, uint32_t max_err_len)
check the range of rate control parameters
void ni_logan_set_custom_template(ni_logan_session_context_t *p_ctx, ni_logan_encoder_config_t *p_cfg, ni_logan_encoder_params_t *p_src)
Setup all xcoder configurations with custom parameters (Rev. B)
void ni_logan_params_print(void *const p_params, ni_logan_device_type_t device_type)
Print xcoder user configurations.
int ni_logan_decoder_session_query(ni_logan_session_context_t *p_ctx)
Query current decoder status.
uint32_t set_high_priority
int32_t i32userMinDeltaQp
int32_t i32userMaxDeltaQp
uint8_t ui8VuiRbsp[NI_LOGAN_MAX_VUI_SIZE]
uint32_t ui32minIntraRefreshCycle
uint8_t ui8lowLatencyMode
uint8_t ui8explicitRefListEnable
uint8_t ui8CrfPbRatioFraction
uint32_t ui32VuiDataSizeBytes
uint32_t ui32VuiDataSizeBits
uint32_t ui32sourceEndian
uint32_t ui32fillerEnable
uint8_t ui8CrfIpRatioFraction
ni_logan_t408_config_t niParamT408
uint8_t ui8bitstreamFormat
uint16_t force_picture_type
uint32_t set_high_priority
uint32_t EncoderReadSyncQuery
uint16_t bit_depth_factor
uint16_t ui16WriteFrameId
union _ni_logan_inst_config_rw::@5 uHWAccessField
ni_logan_instance_upload_ret_hwdesc_t hw_inst_ind
uint8_t ui8DataPktSeqTotal
uint32_t ui32VpuInstError
uint8_t active_sub_instances_cnt
uint8_t process_load_percent
uint8_t composite_temperature
uint8_t fw_video_mem_usage
uint16_t data_bytes_available
uint16_t transfer_frame_height
uint16_t transfer_frame_stride
int32_t lambdaScalingEnable
int32_t constIntraPredFlag
int32_t pu08IntraAngleDeltaRate
uint32_t strongIntraSmoothEnable
int32_t cu16InterDeltaRate
int32_t pu16IntraDcDeltaRate
int32_t enable_cu_level_rate_control
int32_t intra_mb_refresh_arg
int32_t cu08MergeDeltaRate
int32_t intra_mb_refresh_mode
int32_t independSliceMode
int32_t dependSliceModeArg
int32_t use_recommend_enc_params
int32_t fixedBitRatio[NI_LOGAN_MAX_GOP_NUM]
int32_t pu08IntraDcDeltaRate
int32_t decoding_refresh_type
int32_t independSliceModeArg
int32_t enable_mb_level_rc
uint32_t monochromeEnable
int32_t lfCrossSliceBoundaryEnable
uint32_t forcedHeaderEnable
uint32_t customLambdaEnable
int32_t pu04IntraDcDeltaRate
int32_t pu04IntraAngleDeltaRate
int32_t cu32InterDeltaRate
int32_t pu16IntraAngleDeltaRate
int32_t pu08IntraPlanarDeltaRate
uint32_t nrNoiseEstEnable
int32_t scalingListEnable
int32_t pu16IntraPlanarDeltaRate
uint32_t numTicksPocDiffOne
int32_t pu04IntraPlanarDeltaRate
int32_t enable_transform_8x8
int32_t entropy_coding_mode
int32_t cu32MergeDeltaRate
int32_t cu16MergeDeltaRate
uint32_t weightPredEnable
int32_t pu32IntraAngleDeltaRate
int32_t cu16IntraDeltaRate
int32_t cu08IntraDeltaRate
int32_t cu08InterDeltaRate
int32_t cu32IntraDeltaRate
int32_t pu32IntraDcDeltaRate
ni_logan_custom_gop_params_t custom_gop_params
int32_t pu32IntraPlanarDeltaRate