libxcoder  3.5.1
ni_device_api_logan.h File Reference

Main NETINT device API header file provides the ability to communicate with NI T-408 type hardware transcoder devices. More...

#include "ni_defs_logan.h"

Go to the source code of this file.

Data Structures

struct  _ni_logan_sei_user_data_entry
 
struct  _ni_logan_rational
 
struct  _ni_logan_aux_data
 
struct  _ni_logan_region_of_interest
 
struct  _ni_logan_long_term_ref
 
struct  ni_logan_rc_min_max_qp
 
union  _ni_logan_enc_hevc_roi_custom_map
 encoder HEVC ROI custom map (1 CTU = 64bits) More...
 
union  _ni_logan_enc_avc_roi_custom_map
 encoder AVC ROI custom map (1 MB = 8bits) More...
 
struct  _ni_logan_encoder_change_params_t
 This is a data structure for encoding parameters that have changed. More...
 
struct  _ni_logan_dec_mastering_display_colour_volume
 decoded payload format of HDR SEI mastering display colour volume More...
 
struct  _ni_logan_dec_win
 
struct  _ni_logan_dec_h265_vui_param
 decoded payload format of H.265 VUI More...
 
struct  _ni_logan_dec_h264_vui_param
 decoded payload format of H.264 VUI More...
 
struct  _ni_logan_content_light_level_info
 payload format of HDR SEI content light level info More...
 
struct  _ni_logan_enc_mastering_display_colour_volume
 encoded payload format of HDR SEI mastering display colour volume More...
 
struct  _ni_logan_custom_sei
 custom sei payload passthrough More...
 
struct  _ni_logan_all_custom_sei
 
struct  _ni_logan_hw_capability
 hardware capability type More...
 
struct  _ni_logan_device_capability
 device capability type More...
 
struct  _ni_logan_context_query
 
struct  _ni_logan_load_query
 
struct  _ni_logan_thread_arg_struct_t
 
struct  _ni_logan_buf_t
 
struct  _ni_logan_buf_pool_t
 
struct  _ni_logan_serial_num_t
 
struct  _ni_logan_queue_node_t
 
struct  _ni_logan_queue_buffer_pool_t
 
struct  _ni_logan_fifo_buffer_t
 
struct  _ni_hrd_params
 
struct  _ni_logan_session_context
 
struct  _ni_logan_gop_params
 
struct  _ni_logan_custom_gop_params
 
struct  _ni_logan_encoder_input_params
 
struct  _ni_logan_frame
 
struct  _ni_logan_encoder_params
 
struct  _ni_logan_decoder_input_params
 
struct  _ni_logan_decoder_params
 
struct  _ni_logan_packet
 
struct  _ni_logan_hwframe_surface
 
struct  _ni_logan_session_data_io
 

Macros

#define NI_LOGAN_DATA_FORMAT_VIDEO_PACKET   0
 
#define NI_LOGAN_DATA_FORMAT_YUV_FRAME   1
 
#define NI_LOGAN_DATA_FORMAT_Y_FRAME   2
 
#define NI_LOGAN_DATA_FORMAT_CB_FRAME   3
 
#define NI_LOGAN_DATA_FORMAT_CR_FRAME   4
 
#define NI_LOGAN_NOPTS_VALUE   ((int64_t)UINT64_C(0x8000000000000000))
 
#define LOGAN_AV_CODEC_DEFAULT_BITRATE   200 * 1000
 
#define NI_LOGAN_MAX_GOP_NUM   8
 
#define NI_LOGAN_MAX_VUI_SIZE   32
 
#define LOGAN_FRAME_CHUNK_INDEX_SIZE   4096
 
#define NI_LOGAN_SIGNATURE_SIZE   256
 
#define NI_LOGAN_MAX_RESOLUTION_WIDTH   8192
 
#define NI_LOGAN_MAX_RESOLUTION_HEIGHT   8192
 
#define NI_LOGAN_MAX_RESOLUTION_AREA   8192*5120
 
#define NI_LOGAN_FRAME_LITTLE_ENDIAN   0
 
#define NI_LOGAN_FRAME_BIG_ENDIAN   1
 
#define NI_LOGAN_INVALID_SESSION_ID   (-1)
 
#define NI_LOGAN_INVALID_HW_FRAME_IDX   (-3)
 
#define NI_LOGAN_INVALID_HW_META_IDX   (-5)
 
#define NI_LOGAN_MAX_BITRATE   700000000
 
#define NI_LOGAN_MIN_BITRATE   64000
 
#define NI_LOGAN_MAX_INTRA_PERIOD   1024
 
#define NI_LOGAN_MIN_INTRA_PERIOD   0
 
#define NI_LOGAN_MAX_SESSION_OPEN_RETRIES   20
 
#define NI_LOGAN_SESSION_OPEN_RETRY_INTERVAL_US   200
 
#define NI_LOGAN_MAX_ENC_SESSION_OPEN_QUERY_RETRIES   3000
 
#define NI_LOGAN_ENC_SESSION_OPEN_RETRY_INTERVAL_US   1000
 
#define NI_LOGAN_MAX_ENC_SESSION_WRITE_QUERY_RETRIES   2000
 
#define NI_LOGAN_MAX_ENC_SESSION_READ_QUERY_RETRIES   3000
 
#define NI_LOGAN_MAX_DEC_SESSION_WRITE_QUERY_RETRIES   100
 
#define NI_LOGAN_MAX_DEC_SESSION_READ_QUERY_RETRIES   3000
 
#define NI_LOGAN_MAX_DEC_SESSION_READ_QUERY_EOS_RETRIES   15000
 
#define NI_LOGAN_MAX_SESSION_CLOSE_RETRIES   10
 
#define NI_LOGAN_SESSION_CLOSE_RETRY_INTERVAL_US   500000
 
#define NI_LOGAN_RETRY_INTERVAL_100US   100
 
#define NI_LOGAN_RETRY_INTERVAL_200US   200
 
#define NI_LOGAN_NUM_OF_PIXELS_720P   (1280*720)
 
#define NI_LOGAN_MAX_WIDTH   8192
 
#define NI_LOGAN_MIN_WIDTH   256
 
#define NI_LOGAN_MAX_HEIGHT   8192
 
#define NI_LOGAN_MIN_HEIGHT   128
 
#define NI_LOGAN_PARAM_MAX_WIDTH   8192
 
#define NI_LOGAN_PARAM_MIN_WIDTH   32
 
#define NI_LOGAN_PARAM_MAX_HEIGHT   8192
 
#define NI_LOGAN_PARAM_MIN_HEIGHT   32
 
#define NI_LOGAN_MAX_GOP_SIZE   8
 
#define NI_LOGAN_MIN_GOP_SIZE   1
 
#define NI_LOGAN_MAX_GOP_PRESET_IDX   9
 
#define NI_LOGAN_MIN_GOP_PRESET_IDX   0
 
#define NI_LOGAN_MAX_DECODING_REFRESH_TYPE   2
 
#define NI_LOGAN_MIN_DECODING_REFRESH_TYPE   0
 
#define NI_LOGAN_DEFAULT_CU_SIZE_MODE   7
 
#define NI_LOGAN_MAX_DYNAMIC_MERGE   1
 
#define NI_LOGAN_MIN_DYNAMIC_MERGE   0
 
#define NI_LOGAN_MAX_USE_RECOMMENDED_ENC_PARAMS   3
 
#define NI_LOGAN_MIN_USE_RECOMMENDED_ENC_PARAMS   0
 
#define NI_LOGAN_MAX_MAX_NUM_MERGE   3
 
#define NI_LOGAN_MIN_MAX_NUM_MERGE   0
 
#define NI_LOGAN_MAX_INTRA_QP   51
 
#define NI_LOGAN_MIN_INTRA_QP   0
 
#define NI_LOGAN_DEFAULT_INTRA_QP   22
 
#define NI_LOGAN_INTRA_QP_RANGE   25
 
#define NI_LOGAN_QP_MID_POINT   26
 
#define NI_LOGAN_MAX_MAX_QP   51
 
#define NI_LOGAN_MIN_MAX_QP   0
 
#define NI_LOGAN_MAX_MIN_QP   51
 
#define NI_LOGAN_MIN_MIN_QP   0
 
#define NI_LOGAN_DEFAULT_MAX_QP   51
 
#define NI_LOGAN_DEFAULT_MIN_QP   8
 
#define NI_LOGAN_MAX_MAX_DELTA_QP   51
 
#define NI_LOGAN_MIN_MAX_DELTA_QP   0
 
#define NI_LOGAN_DEFAULT_MAX_DELTA_QP   10
 
#define NI_LOGAN_MAX_BIN   1
 
#define NI_LOGAN_MIN_BIN   0
 
#define NI_LOGAN_MAX_NUM_SESSIONS   32
 
#define NI_LOGAN_MAX_CRF   51
 
#define NI_LOGAN_MIN_CRF   0
 
#define NI_LOGAN_MIN_INTRA_REFRESH_MIN_PERIOD   0
 
#define NI_LOGAN_MAX_INTRA_REFRESH_MIN_PERIOD   8191
 
#define NI_LOGAN_MAX_KEEP_ALIVE_TIMEOUT   100
 
#define NI_LOGAN_MIN_KEEP_ALIVE_TIMEOUT   1
 
#define NI_LOGAN_DEFAULT_KEEP_ALIVE_TIMEOUT   3
 
#define NI_LOGAN_MIN_CUSTOM_SEI_PASSTHRU   (-1)
 
#define NI_LOGAN_MAX_CUSTOM_SEI_PASSTHRU   1000
 
#define NI_LOGAN_MIN_PRIORITY   0
 
#define NI_LOGAN_MAX_PRIORITY   1
 
#define NI_LOGAN_DISABLE_USR_DATA_SEI_PASSTHRU   0
 
#define NI_LOGAN_ENABLE_USR_DATA_SEI_PASSTHRU   1
 
#define NI_LOGAN_DISABLE_CHECK_PACKET   0
 
#define NI_LOGAN_ENABLE_CHECK_PACKET   1
 
#define RC_SUCCESS   true
 
#define RC_ERROR   false
 
#define NI_LOGAN_INVALID_HWID   (-1)
 
#define BEST_LOAD_STR   "bestload"
 
#define BEST_DEVICE_INST_STR   "bestinst"
 
#define BEST_MODEL_LOAD_STR   "bestmodelload"
 
#define LIST_DEVICES_STR   "list"
 
#define LOGAN_MAX_CHAR_IN_DEVICE_NAME   32
 
#define LOGAN_MAX_NUM_FRAMEPOOL_HWAVFRAME   64
 
#define LOGAN_MAX_FIFO_CAPACITY   120
 
#define NI_LOGAN_VPU_CEIL(_data, _align)   (((_data)+(_align-1))&~(_align-1))
 
#define NI_LOGAN_VPU_ALIGN4(_x)   (((_x)+0x03)&~0x03)
 
#define NI_LOGAN_VPU_ALIGN8(_x)   (((_x)+0x07)&~0x07)
 
#define NI_LOGAN_VPU_ALIGN16(_x)   (((_x)+0x0f)&~0x0f)
 
#define NI_LOGAN_VPU_ALIGN32(_x)   (((_x)+0x1f)&~0x1f)
 
#define NI_LOGAN_VPU_ALIGN64(_x)   (((_x)+0x3f)&~0x3f)
 
#define NI_LOGAN_VPU_ALIGN128(_x)   (((_x)+0x7f)&~0x7f)
 
#define NI_LOGAN_VPU_ALIGN256(_x)   (((_x)+0xff)&~0xff)
 
#define NI_LOGAN_VPU_ALIGN512(_x)   (((_x)+0x1ff)&~0x1ff)
 
#define NI_LOGAN_VPU_ALIGN2048(_x)   (((_x)+0x7ff)&~0x7ff)
 
#define NI_LOGAN_VPU_ALIGN4096(_x)   (((_x)+0xfff)&~0xfff)
 
#define NI_LOGAN_VPU_ALIGN16384(_x)   (((_x)+0x3fff)&~0x3fff)
 
#define NI_LOGAN_ENC_MAX_SEI_BUF_SIZE   NI_LOGAN_VPU_ALIGN16(1024)
 
#define NI_LOGAN_MAX_SEI_ENTRIES   32
 
#define NI_LOGAN_MAX_SEI_DATA   NI_LOGAN_VPU_ALIGN8(NI_LOGAN_MAX_SEI_ENTRIES * sizeof(ni_logan_sei_user_data_entry_t) + 1024)
 
#define NI_LOGAN_DEC_MAX_CC_BUF_SIZE   93
 
#define NI_CC_SEI_BYTE0   0xB5
 
#define NI_CC_SEI_BYTE1   0x00
 
#define NI_CC_SEI_BYTE2   0x31
 
#define NI_CC_SEI_BYTE3   0x47
 
#define NI_CC_SEI_BYTE4   0x41
 
#define NI_CC_SEI_BYTE5   0x39
 
#define NI_CC_SEI_BYTE6   0x34
 
#define NI_CC_SEI_BYTE7   0x03
 
#define NI_HDR10P_SEI_BYTE0   0xB5
 
#define NI_HDR10P_SEI_BYTE1   0x00
 
#define NI_HDR10P_SEI_BYTE2   0x3c
 
#define NI_HDR10P_SEI_BYTE3   0x00
 
#define NI_HDR10P_SEI_BYTE4   0x01
 
#define NI_HDR10P_SEI_BYTE5   0x04
 
#define NI_HDR10P_SEI_BYTE6   0x00
 
#define NI_CC_SEI_HDR_HEVC_LEN   18
 
#define NI_HDR10P_SEI_HDR_HEVC_LEN   9
 
#define NI_HDR10P_SEI_HDR_H264_LEN   8
 
#define NI_CC_SEI_HDR_H264_LEN   17
 
#define NI_CC_SEI_TRAILER_LEN   2
 
#define NI_RBSP_TRAILING_BITS_LEN   1
 
#define NI_MAX_NUM_AUX_DATA_PER_FRAME   16
 
#define NI_LOGAN_ENC_GOP_PARAMS_G0_PIC_TYPE   "g0picType"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G0_POC_OFFSET   "g0pocOffset"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G0_PIC_QP   "g0picQp"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G0_NUM_REF_PIC_L0   "g0numRefPicL0"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G0_NUM_REF_POC_L0   "g0refPocL0"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G0_NUM_REF_POC_L1   "g0refPocL1"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G0_TEMPORAL_ID   "g0temporalId"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G1_PIC_TYPE   "g1picType"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G1_POC_OFFSET   "g1pocOffset"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G1_PIC_QP   "g1picQp"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G1_NUM_REF_PIC_L0   "g1numRefPicL0"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G1_NUM_REF_POC_L0   "g1refPocL0"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G1_NUM_REF_POC_L1   "g1refPocL1"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G1_TEMPORAL_ID   "g1temporalId"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G2_PIC_TYPE   "g2picType"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G2_POC_OFFSET   "g2pocOffset"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G2_PIC_QP   "g2picQp"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G2_NUM_REF_PIC_L0   "g2numRefPicL0"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G2_NUM_REF_POC_L0   "g2refPocL0"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G2_NUM_REF_POC_L1   "g2refPocL1"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G2_TEMPORAL_ID   "g2temporalId"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G3_PIC_TYPE   "g3picType"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G3_POC_OFFSET   "g3pocOffset"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G3_PIC_QP   "g3picQp"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G3_NUM_REF_PIC_L0   "g3numRefPicL0"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G3_NUM_REF_POC_L0   "g3refPocL0"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G3_NUM_REF_POC_L1   "g3refPocL1"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G3_TEMPORAL_ID   "g3temporalId"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G4_PIC_TYPE   "g4picType"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G4_POC_OFFSET   "g4pocOffset"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G4_PIC_QP   "g4picQp"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G4_NUM_REF_PIC_L0   "g4numRefPicL0"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G4_NUM_REF_POC_L0   "g4refPocL0"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G4_NUM_REF_POC_L1   "g4refPocL1"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G4_TEMPORAL_ID   "g4temporalId"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G5_PIC_TYPE   "g5picType"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G5_POC_OFFSET   "g5pocOffset"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G5_PIC_QP   "g5picQp"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G5_NUM_REF_PIC_L0   "g5numRefPicL0"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G5_NUM_REF_POC_L0   "g5refPocL0"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G5_NUM_REF_POC_L1   "g5refPocL1"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G5_TEMPORAL_ID   "g5temporalId"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G6_PIC_TYPE   "g6picType"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G6_POC_OFFSET   "g6pocOffset"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G6_PIC_QP   "g6picQp"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G6_NUM_REF_PIC_L0   "g6numRefPicL0"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G6_NUM_REF_POC_L0   "g6refPocL0"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G6_NUM_REF_POC_L1   "g6refPocL1"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G6_TEMPORAL_ID   "g6temporalId"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G7_PIC_TYPE   "g7picType"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G7_POC_OFFSET   "g7pocOffset"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G7_PIC_QP   "g7picQp"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G7_NUM_REF_PIC_L0   "g7numRefPicL0"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G7_NUM_REF_POC_L0   "g7refPocL0"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G7_NUM_REF_POC_L1   "g7refPocL1"
 
#define NI_LOGAN_ENC_GOP_PARAMS_G7_TEMPORAL_ID   "g7temporalId"
 
#define NI_LOGAN_ENC_GOP_PARAMS_CUSTOM_GOP_SIZE   "customGopSize"
 
#define NI_LOGAN_ENC_REPEAT_HEADERS_FIRST_IDR   0
 
#define NI_LOGAN_ENC_REPEAT_HEADERS_ALL_KEY_FRAMES   1
 
#define NI_LOGAN_ENC_REPEAT_HEADERS_ALL_I_FRAMES   2
 
#define NI_LOGAN_ENC_PARAM_BITRATE   "bitrate"
 
#define NI_LOGAN_ENC_PARAM_RECONF_DEMO_MODE   "ReconfDemoMode"
 
#define NI_LOGAN_ENC_PARAM_RECONF_FILE   "ReconfFile"
 
#define NI_LOGAN_ENC_PARAM_ROI_DEMO_MODE   "RoiDemoMode"
 
#define NI_LOGAN_ENC_PARAM_CACHE_ROI   "cacheRoi"
 
#define NI_LOGAN_ENC_PARAM_FORCE_PIC_QP_DEMO_MODE   "ForcePicQpDemoMode"
 
#define NI_LOGAN_ENC_PARAM_GEN_HDRS   "GenHdrs"
 
#define NI_LOGAN_ENC_PARAM_PADDING   "padding"
 
#define NI_LOGAN_ENC_PARAM_FORCE_FRAME_TYPE   "forceFrameType"
 
#define NI_LOGAN_ENC_PARAM_PROFILE   "profile"
 
#define NI_LOGAN_ENC_PARAM_LEVEL   "level"
 
#define NI_LOGAN_ENC_PARAM_HIGH_TIER   "high-tier"
 
#define NI_LOGAN_ENC_PARAM_LOG_LEVEL   "log-level"
 
#define NI_LOGAN_ENC_PARAM_LOG   "log"
 
#define NI_LOGAN_ENC_PARAM_GOP_PRESET_IDX   "gopPresetIdx"
 
#define NI_LOGAN_ENC_PARAM_LOW_DELAY   "lowDelay"
 
#define NI_LOGAN_ENC_PARAM_USE_RECOMMENDED_ENC_PARAMS   "useRecommendEncParam"
 
#define NI_LOGAN_ENC_PARAM_USE_LOW_DELAY_POC_TYPE   "useLowDelayPocType"
 
#define NI_LOGAN_ENC_PARAM_ENABLE_RATE_CONTROL   "RcEnable"
 
#define NI_LOGAN_ENC_PARAM_ENABLE_CU_LEVEL_RATE_CONTROL   "cuLevelRCEnable"
 
#define NI_LOGAN_ENC_PARAM_ENABLE_HVS_QP   "hvsQPEnable"
 
#define NI_LOGAN_ENC_PARAM_ENABLE_HVS_QP_SCALE   "hvsQpScaleEnable"
 
#define NI_LOGAN_ENC_PARAM_HVS_QP_SCALE   "hvsQpScale"
 
#define NI_LOGAN_ENC_PARAM_MIN_QP   "minQp"
 
#define NI_LOGAN_ENC_PARAM_MAX_QP   "maxQp"
 
#define NI_LOGAN_ENC_PARAM_MAX_DELTA_QP   "maxDeltaQp"
 
#define NI_LOGAN_ENC_PARAM_RC_INIT_DELAY   "RcInitDelay"
 
#define NI_LOGAN_ENC_PARAM_FORCED_HEADER_ENABLE   "repeatHeaders"
 
#define NI_LOGAN_ENC_PARAM_ROI_ENABLE   "roiEnable"
 
#define NI_LOGAN_ENC_PARAM_CONF_WIN_TOP   "confWinTop"
 
#define NI_LOGAN_ENC_PARAM_CONF_WIN_BOTTOM   "confWinBot"
 
#define NI_LOGAN_ENC_PARAM_CONF_WIN_LEFT   "confWinLeft"
 
#define NI_LOGAN_ENC_PARAM_CONF_WIN_RIGHT   "confWinRight"
 
#define NI_LOGAN_ENC_PARAM_INTRA_PERIOD   "intraPeriod"
 
#define NI_LOGAN_ENC_PARAM_TRANS_RATE   "transRate"
 
#define NI_LOGAN_ENC_PARAM_FRAME_RATE   "frameRate"
 
#define NI_LOGAN_ENC_PARAM_FRAME_RATE_DENOM   "frameRateDenom"
 
#define NI_LOGAN_ENC_PARAM_INTRA_QP   "intraQP"
 
#define NI_LOGAN_ENC_PARAM_DECODING_REFRESH_TYPE   "decodingRefreshType"
 
#define NI_LOGAN_ENC_PARAM_INTRA_REFRESH_RESET   "intraRefreshResetOnForceIDR"
 
#define NI_LOGAN_ENC_PARAM_CHROMA_QP_OffSET   "chromaQpOffset"
 
#define NI_LOGAN_ENC_PARAM_MAX_FRAME_SIZE   "maxFrameSize"
 
#define NI_LOGAN_ENC_PARAM_MAX_FRAME_SIZE_BITS   "maxFrameSize-Bits"
 
#define NI_LOGAN_ENC_PARAM_MAX_FRAME_SIZE_BYTES   "maxFrameSize-Bytes"
 
#define NI_LOGAN_ENC_PARAM_ENABLE_8X8_TRANSFORM   "transform8x8Enable"
 
#define NI_LOGAN_ENC_PARAM_AVC_SLICE_MODE   "avcSliceMode"
 
#define NI_LOGAN_ENC_PARAM_AVC_SLICE_ARG   "avcSliceArg"
 
#define NI_LOGAN_ENC_PARAM_ENTROPY_CODING_MODE   "entropyCodingMode"
 
#define NI_LOGAN_ENC_PARAM_INTRA_MB_REFRESH_MODE   "intraMbRefreshMode"
 
#define NI_LOGAN_ENC_PARAM_INTRA_MB_REFRESH_ARG   "intraMbRefreshArg"
 
#define NI_LOGAN_ENC_PARAM_SLICE_MODE   "sliceMode"
 
#define NI_LOGAN_ENC_PARAM_SLICE_ARG   "sliceArg"
 
#define NI_LOGAN_ENC_PARAM_INTRA_REFRESH_MODE   "intraRefreshMode"
 
#define NI_LOGAN_ENC_PARAM_INTRA_REFRESH_ARG   "intraRefreshArg"
 
#define NI_LOGAN_ENC_PARAM_ENABLE_MB_LEVEL_RC   "mbLevelRcEnable"
 
#define NI_LOGAN_ENC_PARAM_PREFERRED_TRANSFER_CHARACTERISTICS   "prefTRC"
 
#define NI_LOGAN_ENC_PARAM_DOLBY_VISION_PROFILE   "dolbyVisionProfile"
 
#define NI_LOGAN_ENC_PARAM_HRD_ENABLE   "hrdEnable"
 
#define NI_LOGAN_ENC_PARAM_ENABLE_AUD   "enableAUD"
 
#define NI_LOGAN_ENC_PARAM_CRF   "crf"
 
#define NI_LOGAN_ENC_PARAM_CRF_IP_RATIO   "ipRatio"
 
#define NI_LOGAN_ENC_PARAM_CRF_PB_RATIO   "pbRatio"
 
#define NI_LOGAN_ENC_PARAM_CBR   "cbr"
 
#define NI_LOGAN_ENC_PARAM_INTRA_REFRESH_MIN_PERIOD   "intraRefreshMinPeriod"
 
#define NI_LOGAN_ENC_PARAM_LONG_TERM_REFERENCE_ENABLE   "longTermReferenceEnable"
 
#define NI_LOGAN_ENC_PARAM_STRICT_TIMEOUT_MODE   "strictTimeout"
 
#define NI_LOGAN_ENC_PARAM_LOSSLESS_ENABLE   "losslessEnable"
 
#define NI_LOGAN_ENC_PARAM_FLUSH_GOP   "flushGop"
 
#define NI_LOGAN_ENC_PARAM_COLOR_PRIMARY   "colorPri"
 
#define NI_LOGAN_ENC_PARAM_COLOR_TRANSFER_CHARACTERISTIC   "colorTrc"
 
#define NI_LOGAN_ENC_PARAM_COLOR_SPACE   "colorSpc"
 
#define NI_LOGAN_ENC_PARAM_SAR_NUM   "sarNum"
 
#define NI_LOGAN_ENC_PARAM_SAR_DENOM   "sarDenom"
 
#define NI_LOGAN_ENC_PARAM_VIDEO_FULL_RANGE_FLAG   "videoFullRangeFlag"
 
#define NI_LOGAN_ENC_PARAM_ENABLE_VFR   "enableVFR"
 
#define NI_LOGAN_ENC_PARAM_ENABLE_EXPLICIT_RPL   "enableExplicitRPL"
 
#define NI_LOGAN_ENC_PARAM_DISABLE_TIMING_INFO   "disableTimingInfo"
 
#define NI_LOGAN_DEC_PARAM_USR_DATA_SEI_PASSTHRU   "enableUserDataSeiPassthru"
 
#define NI_LOGAN_DEC_PARAM_CHECK_PACKET   "checkPacket"
 
#define NI_LOGAN_DEC_PARAM_CUSTOM_SEI_PASSTHRU   "customSeiPassthru"
 
#define NI_LOGAN_DEC_PARAM_LOW_DELAY   "lowDelay"
 
#define NI_LOGAN_DEC_PARAM_LOW_DELAY_MODE   "lowDelayMode"
 
#define NI_LOGAN_DEC_PARAM_ENABLE_FOLLOW_IFRAME   "enableFollowIFrame"
 
#define NI_LOGAN_DEC_PARAM_ENABLE_VUI_INFO_PASSTHRU   "enableVuiInfoPassthru"
 
#define NI_LOGAN_DEC_PARAM_SAVE_PKT   "savePkt"
 
#define NI_LOGAN_SET_HIGH_PRIORITY   "setHighPriority"
 
#define NI_LOGAN_KEEP_ALIVE_TIMEOUT   "keepAliveTimeout"
 
#define NI_LOGAN_DEC_PARAM_OUT   "out"
 
#define NI_LOGAN_XCODER_PRESET_NAMES_ARRAY_LEN   3
 
#define NI_LOGAN_XCODER_LOG_NAMES_ARRAY_LEN   7
 
#define NI_LOGAN_XCODER_PRESET_NAME_DEFAULT   "default"
 
#define NI_LOGAN_XCODER_PRESET_NAME_CUSTOM   "custom"
 
#define NI_LOGAN_XCODER_LOG_NAME_NONE   "none"
 
#define NI_LOGAN_XCODER_LOG_NAME_ERROR   "error"
 
#define NI_LOGAN_XCODER_LOG_NAME_WARN   "warning"
 
#define NI_LOGAN_XCODER_LOG_NAME_INFO   "info"
 
#define NI_LOGAN_XCODER_LOG_NAME_DEBUG   "debug"
 
#define NI_LOGAN_XCODER_LOG_NAME_FULL   "full"
 

Typedefs

typedef struct _ni_logan_sei_user_data_entry ni_logan_sei_user_data_entry_t
 
typedef enum _ni_logan_frame_aux_data_type ni_aux_data_type_t
 
typedef struct _ni_logan_rational ni_rational_t
 
typedef struct _ni_logan_aux_data ni_aux_data_t
 
typedef struct _ni_logan_region_of_interest ni_region_of_interest_t
 
typedef struct _ni_logan_long_term_ref ni_long_term_ref_t
 
typedef struct ni_logan_rc_min_max_qp ni_logan_rc_min_max_qp
 
typedef union _ni_logan_enc_hevc_roi_custom_map ni_logan_enc_hevc_roi_custom_map_t
 encoder HEVC ROI custom map (1 CTU = 64bits) More...
 
typedef union _ni_logan_enc_avc_roi_custom_map ni_logan_enc_avc_roi_custom_map_t
 encoder AVC ROI custom map (1 MB = 8bits) More...
 
typedef enum _ni_logan_codec_format ni_logan_codec_format_t
 This is an enumeration for supported codec formats. More...
 
typedef enum _ni_logan_codec_hw_actions ni_logan_codec_hw_actions_t
 This is an enumeration for hw actions. More...
 
typedef enum _ni_logan_param_change_flags ni_logan_param_change_flags_t
 This is an enumeration for encoder parameter change. More...
 
typedef struct _ni_logan_encoder_change_params_t ni_logan_encoder_change_params_t
 This is a data structure for encoding parameters that have changed. More...
 
typedef struct _ni_logan_dec_mastering_display_colour_volume ni_logan_dec_mastering_display_colour_volume_t
 decoded payload format of HDR SEI mastering display colour volume More...
 
typedef struct _ni_logan_dec_win ni_logan_dec_win_t
 
typedef struct _ni_logan_dec_h265_vui_param ni_logan_dec_h265_vui_param_t
 decoded payload format of H.265 VUI More...
 
typedef struct _ni_logan_dec_h264_vui_param ni_logan_dec_h264_vui_param_t
 decoded payload format of H.264 VUI More...
 
typedef struct _ni_logan_content_light_level_info ni_logan_content_light_level_info_t
 payload format of HDR SEI content light level info More...
 
typedef struct _ni_logan_enc_mastering_display_colour_volume ni_logan_enc_mastering_display_colour_volume_t
 encoded payload format of HDR SEI mastering display colour volume More...
 
typedef enum _ni_logan_custom_sei_location ni_logan_custom_sei_location_t
 This is an enumeration for illustrating the custom SEI locations. More...
 
typedef struct _ni_logan_custom_sei ni_logan_custom_sei_t
 custom sei payload passthrough More...
 
typedef struct _ni_logan_all_custom_sei ni_logan_all_custom_sei_t
 
typedef struct _ni_logan_hw_capability ni_logan_hw_capability_t
 hardware capability type More...
 
typedef struct _ni_logan_device_capability ni_logan_device_capability_t
 device capability type More...
 
typedef enum _ni_logan_session_run_state ni_logan_session_run_state_t
 Session running state type. More...
 
typedef struct _ni_logan_context_query ni_logan_context_query_t
 
typedef struct _ni_logan_load_query ni_logan_load_query_t
 
typedef struct _ni_logan_thread_arg_struct_t ni_logan_thread_arg_struct_t
 
typedef struct _ni_logan_buf_t ni_logan_buf_t
 
typedef struct _ni_logan_buf_pool_t ni_logan_buf_pool_t
 
typedef struct _ni_logan_serial_num_t ni_logan_serial_num_t
 
typedef struct _ni_logan_queue_node_t ni_logan_queue_node_t
 
typedef struct _ni_logan_queue_buffer_pool_t ni_logan_queue_buffer_pool_t
 
typedef struct _ni_logan_fifo_buffer_t ni_logan_fifo_buffer_t
 
typedef struct _ni_hrd_params ni_hrd_params_t
 
typedef struct _ni_logan_session_context ni_logan_session_context_t
 
typedef enum _ni_logan_reconfig ni_logan_reconfig_t
 This is an enumeration for encoder reconfiguration test settings. More...
 
typedef struct _ni_logan_gop_params ni_logan_gop_params_t
 
typedef struct _ni_logan_custom_gop_params ni_logan_custom_gop_params_t
 
typedef struct _ni_logan_encoder_input_params ni_logan_encoder_input_params_t
 
typedef struct _ni_logan_frame ni_logan_frame_t
 
typedef struct _ni_logan_encoder_params ni_logan_encoder_params_t
 
typedef struct _ni_logan_decoder_input_params ni_logan_decoder_input_params_t
 
typedef struct _ni_logan_decoder_params ni_logan_decoder_params_t
 
typedef struct _ni_logan_packet ni_logan_packet_t
 
typedef struct _ni_logan_hwframe_surface ni_logan_hwframe_surface_t
 
typedef struct _ni_logan_session_data_io ni_logan_session_data_io_t
 

Enumerations

enum  ni_logan_h265_sei_user_data_type_t {
  NI_LOGAN_H265_USERDATA_FLAG_RESERVED_0 = 0 , NI_LOGAN_H265_USERDATA_FLAG_RESERVED_1 = 1 , NI_LOGAN_H265_USERDATA_FLAG_VUI = 2 , NI_LOGAN_H265_USERDATA_FLAG_ALTERNATIVE_TRANSFER_CHARACTERISTICS = 3 ,
  NI_LOGAN_H265_USERDATA_FLAG_PIC_TIMING = 4 , NI_LOGAN_H265_USERDATA_FLAG_ITU_T_T35_PRE = 5 , NI_LOGAN_H265_USERDATA_FLAG_UNREGISTERED_PRE = 6 , NI_LOGAN_H265_USERDATA_FLAG_ITU_T_T35_SUF = 7 ,
  NI_LOGAN_H265_USERDATA_FLAG_UNREGISTERED_SUF = 8 , NI_LOGAN_H265_USERDATA_FLAG_RESERVED_9 = 9 , NI_LOGAN_H265_USERDATA_FLAG_MASTERING_COLOR_VOL = 10 , NI_LOGAN_H265_USERDATA_FLAG_CHROMA_RESAMPLING_FILTER_HINT = 11 ,
  NI_LOGAN_H265_USERDATA_FLAG_KNEE_FUNCTION_INFO = 12 , NI_LOGAN_H265_USERDATA_FLAG_TONE_MAPPING_INFO = 13 , NI_LOGAN_H265_USER_DATA_FLAG_FILM_GRAIN_CHARACTERISTICS_INFO = 14 , NI_LOGAN_H265_USER_DATA_FLAG_CONTENT_LIGHT_LEVEL_INFO = 15 ,
  NI_LOGAN_H265_USER_DATA_FLAG_COLOUR_REMAPPING_INFO = 16 , NI_LOGAN_H265_USERDATA_FLAG_ITU_T_T35_PRE_1 = 28 , NI_LOGAN_H265_USERDATA_FLAG_ITU_T_T35_PRE_2 = 29 , NI_LOGAN_H265_USERDATA_FLAG_ITU_T_T35_SUF_1 = 30 ,
  NI_LOGAN_H265_USERDATA_FLAG_ITU_T_T35_SUF_2 = 31
}
 
enum  ni_logan_pic_type_t {
  LOGAN_PIC_TYPE_I = 0 , LOGAN_PIC_TYPE_P = 1 , LOGAN_PIC_TYPE_B = 2 , LOGAN_PIC_TYPE_FORCE_IDR = 3 ,
  LOGAN_PIC_TYPE_IDR = 5 , LOGAN_PIC_TYPE_CRA = 6 , LOGAN_PIC_TYPE_MAX
}
 
enum  ni_logan_pix_fmt_t { NI_LOGAN_PIX_FMT_YUV420P = 0 , NI_LOGAN_PIX_FMT_YUVJ420P = 1 , NI_LOGAN_PIX_FMT_YUV420P10BE = 2 , NI_LOGAN_PIX_FMT_YUV420P10LE = 3 }
 
enum  _ni_logan_frame_aux_data_type {
  NI_FRAME_AUX_DATA_NONE = 0 , NI_FRAME_AUX_DATA_A53_CC , NI_FRAME_AUX_DATA_MASTERING_DISPLAY_METADATA , NI_FRAME_AUX_DATA_CONTENT_LIGHT_LEVEL ,
  NI_FRAME_AUX_DATA_HDR_PLUS , NI_FRAME_AUX_DATA_REGIONS_OF_INTEREST , NI_FRAME_AUX_DATA_UDU_SEI , NI_FRAME_AUX_DATA_CUSTOM_SEI ,
  NI_FRAME_AUX_DATA_BITRATE , NI_FRAME_AUX_DATA_MIN_MAX_QP , NI_FRAME_AUX_DATA_LONG_TERM_REF , NI_FRAME_AUX_DATA_VUI_INFO
}
 
enum  _ni_logan_codec_format { NI_LOGAN_CODEC_FORMAT_H264 = 0 , NI_LOGAN_CODEC_FORMAT_H265 = 1 }
 This is an enumeration for supported codec formats. More...
 
enum  _ni_logan_codec_hw_actions {
  NI_LOGAN_CODEC_HW_NONE = 0 , NI_LOGAN_CODEC_HW_ENABLE = (1 << 0) , NI_LOGAN_CODEC_HW_DOWNLOAD = (1 << 1) , NI_LOGAN_CODEC_HW_UPLOAD = (1 << 2) ,
  NI_LOGAN_CODEC_HW_RSVD = (1 << 3)
}
 This is an enumeration for hw actions. More...
 
enum  _ni_logan_param_change_flags {
  NI_LOGAN_SET_CHANGE_PARAM_PPS = (1 << 0) , NI_LOGAN_SET_CHANGE_PARAM_INTRA_PARAM = (1 << 1) , NI_LOGAN_SET_CHANGE_PARAM_RC_TARGET_RATE = (1 << 8) , NI_LOGAN_SET_CHANGE_PARAM_RC = (1 << 9) ,
  NI_LOGAN_SET_CHANGE_PARAM_RC_MIN_MAX_QP = (1 << 10) , NI_LOGAN_SET_CHANGE_PARAM_RC_BIT_RATIO_LAYER = (1 << 11) , NI_LOGAN_SET_CHANGE_PARAM_INDEPEND_SLICE = (1 << 16) , NI_LOGAN_SET_CHANGE_PARAM_DEPEND_SLICE = (1 << 17) ,
  NI_LOGAN_SET_CHANGE_PARAM_RDO = (1 << 18) , NI_LOGAN_SET_CHANGE_PARAM_NR = (1 << 19) , NI_LOGAN_SET_CHANGE_PARAM_BG = (1 << 20) , NI_LOGAN_SET_CHANGE_PARAM_CUSTOM_MD = (1 << 21) ,
  NI_LOGAN_SET_CHANGE_PARAM_CUSTOM_LAMBDA = (1 << 22) , NI_LOGAN_SET_CHANGE_PARAM_RC2 = (1 << 23) , NI_LOGAN_SET_CHANGE_PARAM_VUI_HRD_PARAM = (1 << 24) , NI_LOGAN_SET_CHANGE_PARAM_CRF = (1 << 26)
}
 This is an enumeration for encoder parameter change. More...
 
enum  _ni_logan_custom_sei_location { NI_LOGAN_CUSTOM_SEI_LOC_BEFORE_VCL = 0 , NI_LOGAN_CUSTOM_SEI_LOC_AFTER_VCL = 1 }
 This is an enumeration for illustrating the custom SEI locations. More...
 
enum  _ni_logan_session_run_state { LOGAN_SESSION_RUN_STATE_NORMAL = 0 , LOGAN_SESSION_RUN_STATE_SEQ_CHANGE_DRAINING = 1 , LOGAN_SESSION_RUN_STATE_RESETTING = 2 , LOGAN_SESSION_RUN_STATE_QUEUED_FRAME_DRAINING = 3 }
 Session running state type. More...
 
enum  _ni_logan_reconfig {
  LOGAN_XCODER_TEST_RECONF_OFF = 0 , LOGAN_XCODER_TEST_RECONF_BR = 1 , LOGAN_XCODER_TEST_RECONF_INTRAPRD = 2 , LOGAN_XCODER_TEST_RECONF_VUI_HRD = 3 ,
  LOGAN_XCODER_TEST_RECONF_LONG_TERM_REF = 4 , LOGAN_XCODER_TEST_RECONF_RC = 5 , LOGAN_XCODER_TEST_RECONF_RC_MIN_MAX_QP = 6 , LOGAN_XCODER_TEST_RECONF_CRF = 7
}
 This is an enumeration for encoder reconfiguration test settings. More...
 

Functions

LIB_API const char * ni_logan_err2str (int err)
 Convert error numver into error messages. More...
 
LIB_API ni_logan_session_context_tni_logan_device_session_context_alloc_init (void)
 Allocate and initialize a new ni_logan_session_context_t struct. More...
 
LIB_API void ni_logan_device_session_context_init (ni_logan_session_context_t *p_ctx)
 Initialize already allocated session context to a known state. More...
 
LIB_API void ni_logan_device_session_context_free (ni_logan_session_context_t *p_ctx)
 Frees previously allocated session context. More...
 
LIB_API void ni_logan_device_session_context_clear (ni_logan_session_context_t *p_ctx)
 Clear already allocated session context to all zeros buffer. More...
 
LIB_API ni_event_handle_t ni_logan_create_event ()
 Create event and returnes event handle if successful. More...
 
LIB_API void ni_logan_close_event (ni_event_handle_t event_handle)
 Closes event and releases resources. More...
 
LIB_API ni_device_handle_t ni_logan_device_open (const char *dev, uint32_t *p_max_io_size_out)
 Opens device and returnes device device_handle if successful. More...
 
LIB_API void ni_logan_device_close (ni_device_handle_t dev)
 Closes device and releases resources. More...
 
LIB_API ni_logan_retcode_t ni_logan_device_capability_query (ni_device_handle_t device_handle, ni_logan_device_capability_t *p_cap)
 Queries device and returns device capability structure. More...
 
LIB_API ni_logan_retcode_t ni_logan_device_session_open (ni_logan_session_context_t *p_ctx, ni_logan_device_type_t device_type)
 Opens a new device session depending on the device_type parameter If device_type is NI_LOGAN_DEVICE_TYPE_DECODER opens decoding session If device_type is NI_LOGAN_DEVICE_TYPE_EECODER opens encoding session. More...
 
LIB_API ni_logan_retcode_t ni_logan_device_session_close (ni_logan_session_context_t *p_ctx, int eos_recieved, ni_logan_device_type_t device_type)
 Closes device session that was previously opened by calling ni_logan_device_session_open() If device_type is NI_LOGAN_DEVICE_TYPE_DECODER closes decoding session If device_type is NI_LOGAN_DEVICE_TYPE_EECODER closes encoding session. More...
 
LIB_API ni_logan_retcode_t ni_logan_device_session_flush (ni_logan_session_context_t *p_ctx, ni_logan_device_type_t device_type)
 Sends a flush command to the device ni_logan_device_session_open() If device_type is NI_LOGAN_DEVICE_TYPE_DECODER sends flush command to decoder If device_type is NI_LOGAN_DEVICE_TYPE_EECODER sends flush command to decoder. More...
 
LIB_API ni_logan_retcode_t ni_logan_decoder_session_send_flush (ni_logan_session_context_t *p_ctx)
 Sends a flush command to the decoder ni_logan_device_session_open() More...
 
LIB_API ni_logan_retcode_t ni_logan_device_dec_session_save_hdrs (ni_logan_session_context_t *p_ctx, uint8_t *hdr_data, uint8_t hdr_size)
 Save a stream's headers in a decoder session that can be used later for continuous decoding from the same source. More...
 
LIB_API ni_logan_retcode_t ni_logan_device_dec_session_flush (ni_logan_session_context_t *p_ctx)
 Flush a decoder session to get ready to continue decoding. Note: this is different from ni_logan_device_session_flush in that it closes the current decode session and opens a new one for continuous decoding. More...
 
LIB_API int ni_logan_device_session_write (ni_logan_session_context_t *p_ctx, ni_logan_session_data_io_t *p_data, ni_logan_device_type_t device_type)
 Sends data the device If device_type is NI_LOGAN_DEVICE_TYPE_DECODER sends data packet to decoder If device_type is NI_LOGAN_DEVICE_TYPE_EECODER sends data frame to encoder. More...
 
LIB_API int ni_logan_device_session_read (ni_logan_session_context_t *p_ctx, ni_logan_session_data_io_t *p_data, ni_logan_device_type_t device_type)
 Reads data the device If device_type is NI_LOGAN_DEVICE_TYPE_DECODER reads data packet from decoder If device_type is NI_LOGAN_DEVICE_TYPE_EECODER reads data frame from encoder. More...
 
LIB_API ni_logan_retcode_t ni_logan_device_session_query (ni_logan_session_context_t *p_ctx, ni_logan_device_type_t device_type)
 Query session data from the device - Currently not implemented If device_type is NI_LOGAN_DEVICE_TYPE_DECODER query session data from decoder If device_type is NI_LOGAN_DEVICE_TYPE_EECODER query session data from encoder. More...
 
LIB_API ni_logan_retcode_t ni_logan_frame_buffer_alloc (ni_logan_frame_t *pframe, int video_width, int video_height, int alignment, int metadata_flag, int factor, int hw_frame_count)
 Allocate preliminary memory for the frame buffer for encoding based on provided parameters. Applicable to YUV420 Planar pixel format only, 8 or 10 bit/pixel. More...
 
LIB_API ni_logan_retcode_t ni_logan_decoder_frame_buffer_alloc (ni_logan_buf_pool_t *p_pool, ni_logan_frame_t *pframe, int alloc_mem, int video_width, int video_height, int alignment, int factor)
 Allocate memory for decoder frame buffer based on provided parameters; the memory is retrieved from a buffer pool and will be returned to the same buffer pool by ni_logan_decoder_frame_buffer_free. Note: all attributes of ni_logan_frame_t will be set up except for memory and buffer, which rely on the pool being allocated; the pool will be allocated only after the frame resolution is known. More...
 
LIB_API ni_logan_retcode_t ni_logan_encoder_frame_buffer_alloc (ni_logan_frame_t *pframe, int video_width, int video_height, int linesize[], int alignment, int extra_len, int factor)
 Allocate memory for the frame buffer for encoding based on given parameters, taking into account pic line size and extra data. Applicable to YUV420p AVFrame only. 8 or 10 bit/pixel. Cb/Cr size matches that of Y. More...
 
LIB_API ni_logan_retcode_t ni_logan_frame_buffer_free (ni_logan_frame_t *pframe)
 Free frame buffer that was previously allocated with either ni_logan_frame_buffer_alloc or ni_logan_encoder_frame_buffer_alloc. More...
 
LIB_API ni_logan_retcode_t ni_logan_decoder_frame_buffer_free (ni_logan_frame_t *pframe)
 Free decoder frame buffer that was previously allocated with ni_logan_decoder_frame_buffer_alloc, returning memory to a buffer pool. More...
 
LIB_API void ni_logan_decoder_frame_buffer_pool_return_buf (ni_logan_buf_t *buf, ni_logan_buf_pool_t *p_buffer_pool)
 Return a memory buffer to memory buffer pool, for a decoder frame. More...
 
LIB_API ni_logan_retcode_t ni_logan_packet_buffer_alloc (ni_logan_packet_t *ppacket, int packet_size)
 Allocate memory for the packet buffer based on provided packet size. More...
 
LIB_API ni_logan_retcode_t ni_logan_packet_buffer_free (ni_logan_packet_t *ppacket)
 Free packet buffer that was previously allocated with either ni_logan_packet_buffer_alloc. More...
 
LIB_API int ni_logan_packet_copy (void *p_destination, const void *const p_source, int cur_size, void *p_leftover, int *p_prev_size)
 Copy video packet accounting for allighment. More...
 
LIB_API ni_logan_retcode_t ni_logan_encoder_init_default_params (ni_logan_encoder_params_t *p_param, int fps_num, int fps_denom, long bit_rate, int width, int height)
 Initialize default encoder parameters. More...
 
LIB_API ni_logan_retcode_t ni_logan_decoder_init_default_params (ni_logan_decoder_params_t *p_param, int fps_num, int fps_denom, long bit_rate, int width, int height)
 Initialize default decoder parameters. More...
 
LIB_API ni_logan_retcode_t ni_logan_decoder_params_set_value (ni_logan_decoder_params_t *p_params, const char *name, char *value)
 Set value referenced by name in decoder parameters structure. More...
 
LIB_API ni_logan_retcode_t ni_logan_encoder_params_set_value (ni_logan_encoder_params_t *p_params, const char *name, const char *value, ni_logan_session_context_t *ctx)
 Set value referenced by name in encoder parameters structure. More...
 
LIB_API ni_logan_retcode_t ni_logan_encoder_params_check (ni_logan_encoder_params_t *p_params, ni_logan_codec_format_t codec)
 Validate relationship of some params in encoder parameters structure. More...
 
LIB_API ni_logan_retcode_t ni_logan_encoder_gop_params_set_value (ni_logan_encoder_params_t *p_params, const char *name, const char *value)
 Set gop parameter value referenced by name in encoder parameters structure. More...
 
LIB_API int ni_logan_get_num_reorder_of_gop_structure (ni_logan_encoder_params_t *p_params)
 Get GOP's max number of reorder frames. More...
 
LIB_API int ni_logan_get_num_ref_frame_of_gop_structure (ni_logan_encoder_params_t *p_params)
 Get GOP's number of reference frames. More...
 
LIB_API ni_aux_data_tni_logan_frame_new_aux_data (ni_logan_frame_t *frame, ni_aux_data_type_t type, int data_size)
 Add a new auxiliary data to a frame. More...
 
LIB_API ni_aux_data_tni_logan_frame_new_aux_data_from_raw_data (ni_logan_frame_t *frame, ni_aux_data_type_t type, const uint8_t *raw_data, int data_size)
 Add a new auxiliary data to a frame and copy in the raw data. More...
 
LIB_API ni_aux_data_tni_logan_frame_get_aux_data (const ni_logan_frame_t *frame, ni_aux_data_type_t type)
 Retrieve from the frame auxiliary data of a given type if exists. More...
 
LIB_API void ni_logan_frame_free_aux_data (ni_logan_frame_t *frame, ni_aux_data_type_t type)
 If auxiliary data of the given type exists in the frame, free it and remove it from the frame. More...
 
LIB_API void ni_logan_frame_wipe_aux_data (ni_logan_frame_t *frame)
 Free and remove all auxiliary data from the frame. More...
 
LIB_API ni_logan_retcode_t ni_logan_device_handle_map_SN (ni_device_handle_t device_handle, ni_logan_serial_num_t *p_serial_num)
 Queries device Serial number. More...
 
LIB_API ni_logan_retcode_t ni_logan_device_session_copy (ni_logan_session_context_t *src_p_ctx, ni_logan_session_context_t *dst_p_ctx)
 Copies existing decoding session params for hw frame usage. More...
 
LIB_API int ni_logan_device_session_init_framepool (ni_logan_session_context_t *p_ctx, uint32_t pool_size, uint32_t p2p_pool)
 Sends frame pool setup info to device. More...
 
LIB_API int ni_logan_device_session_read_hwdesc (ni_logan_session_context_t *p_ctx, ni_logan_session_data_io_t *p_data)
 Reads data from the device device_type should be NI_LOGAN_DEVICE_TYPE_DECODER, and reads data hwdesc from decoder when hw transcoding. More...
 
LIB_API int ni_logan_device_session_hwdl (ni_logan_session_context_t *p_ctx, ni_logan_session_data_io_t *p_data, ni_logan_hwframe_surface_t *hwdesc)
 Reads data from hw descriptor from decoder output buffer. More...
 
LIB_API int ni_logan_device_session_hwup (ni_logan_session_context_t *p_ctx, ni_logan_session_data_io_t *p_src_data, ni_logan_hwframe_surface_t *hwdesc)
 Writes data and reads back hw descriptor from decoder output buffer. More...
 
int ni_logan_device_session_acquire (ni_logan_session_context_t *p_ctx, ni_logan_frame_t *p_frame)
 Acquire a P2P frame buffer from the hwupload session. More...
 
ni_logan_retcode_t ni_logan_uploader_frame_buffer_lock (ni_logan_session_context_t *p_upl_ctx, ni_logan_frame_t *p_frame)
 Lock a hardware P2P frame prior to encoding. More...
 
ni_logan_retcode_t ni_logan_uploader_frame_buffer_unlock (ni_logan_session_context_t *p_upl_ctx, ni_logan_frame_t *p_frame)
 Unlock a hardware P2P frame after encoding. More...
 
LIB_API ni_logan_retcode_t ni_logan_uploader_p2p_test_send (ni_logan_session_context_t *p_upl_ctx, uint8_t *p_data, uint32_t len, ni_logan_frame_t *p_hwframe)
 Special P2P test API call. Copies YUV data from the software frame to the hardware P2P frame on the Quadra device. More...
 
LIB_API ni_logan_retcode_t ni_logan_encoder_set_input_frame_format (ni_logan_session_context_t *p_enc_ctx, ni_logan_encoder_params_t *p_enc_params, int width, int height, int bit_depth, int src_endian)
 Set the incoming frame format for the encoder. More...
 
LIB_API ni_logan_retcode_t ni_logan_frame_buffer_alloc_hwenc (ni_logan_frame_t *pframe, int video_width, int video_height, int extra_len)
 Allocate memory for the frame buffer based on provided parameters taking into account pic line size and extra data. Applicable to YUV420p AVFrame only. Cb/Cr size matches that of Y. More...
 
LIB_API ni_logan_retcode_t ni_logan_decode_buffer_free (ni_logan_hwframe_surface_t *surface, ni_device_handle_t device_handle, ni_event_handle_t event_handle)
 POPULATE ME LATER. More...
 
LIB_API ni_logan_retcode_t ni_logan_device_alloc_frame (ni_logan_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, ni_logan_device_type_t device_type)
 Allocate a frame on the device based on provided parameters. More...
 
LIB_API ni_logan_retcode_t ni_logan_frame_buffer_alloc_v4 (ni_logan_frame_t *pframe, int pixel_format, int video_width, int video_height, int linesize[], int alignment, int extra_len)
 Allocate memory for the frame buffer based on provided parameters taking into account width, height, format, stride, alignment, and extra data. More...
 
LIB_API ni_logan_retcode_t ni_logan_frame_zerocopy_buffer_alloc (ni_logan_frame_t *pframe, int video_width, int video_height, int linesize[], int extra_len, int factor, uint8_t *buffer[])
 Allocate memory for the frame buffer for encoding based on given parameters, taking into account pic line size and extra data. Applicable to YUV420p AVFrame only. 8 or 10 bit/pixel. Cb/Cr size matches that of Y. More...
 
LIB_API ni_logan_retcode_t ni_logan_frame_zerocopy_check (const int width, const int height, const int linesize[], const int dst_stride[], const int src_height[], const int dst_height[], const int bit_depth_factor, const uint8_t *data[])
 Check if incoming frame is encoder zero copy compatible or not. More...
 
LIB_API ni_logan_retcode_t is_logan_fw_rev_higher (ni_logan_session_context_t *p_ctx, int fw_api_fla, int fw_api_ver)
 Check if logan firmware version is higher than expected api flavor and version. More...
 

Variables

LIB_API const char *const g_logan_xcoder_preset_names [NI_LOGAN_XCODER_PRESET_NAMES_ARRAY_LEN]
 
LIB_API const char *const g_logan_xcoder_log_names [NI_LOGAN_XCODER_LOG_NAMES_ARRAY_LEN]
 

Detailed Description

Main NETINT device API header file provides the ability to communicate with NI T-408 type hardware transcoder devices.


Definition in file ni_device_api_logan.h.

Macro Definition Documentation

◆ BEST_DEVICE_INST_STR

#define BEST_DEVICE_INST_STR   "bestinst"

Definition at line 163 of file ni_device_api_logan.h.

◆ BEST_LOAD_STR

#define BEST_LOAD_STR   "bestload"

Definition at line 162 of file ni_device_api_logan.h.

◆ BEST_MODEL_LOAD_STR

#define BEST_MODEL_LOAD_STR   "bestmodelload"

Definition at line 164 of file ni_device_api_logan.h.

◆ LIST_DEVICES_STR

#define LIST_DEVICES_STR   "list"

Definition at line 165 of file ni_device_api_logan.h.

◆ LOGAN_AV_CODEC_DEFAULT_BITRATE

#define LOGAN_AV_CODEC_DEFAULT_BITRATE   200 * 1000

Definition at line 50 of file ni_device_api_logan.h.

◆ LOGAN_FRAME_CHUNK_INDEX_SIZE

#define LOGAN_FRAME_CHUNK_INDEX_SIZE   4096

Definition at line 56 of file ni_device_api_logan.h.

◆ LOGAN_MAX_CHAR_IN_DEVICE_NAME

#define LOGAN_MAX_CHAR_IN_DEVICE_NAME   32

Definition at line 166 of file ni_device_api_logan.h.

◆ LOGAN_MAX_FIFO_CAPACITY

#define LOGAN_MAX_FIFO_CAPACITY   120

Definition at line 169 of file ni_device_api_logan.h.

◆ LOGAN_MAX_NUM_FRAMEPOOL_HWAVFRAME

#define LOGAN_MAX_NUM_FRAMEPOOL_HWAVFRAME   64

Definition at line 168 of file ni_device_api_logan.h.

◆ NI_CC_SEI_BYTE0

#define NI_CC_SEI_BYTE0   0xB5

Definition at line 246 of file ni_device_api_logan.h.

◆ NI_CC_SEI_BYTE1

#define NI_CC_SEI_BYTE1   0x00

Definition at line 247 of file ni_device_api_logan.h.

◆ NI_CC_SEI_BYTE2

#define NI_CC_SEI_BYTE2   0x31

Definition at line 248 of file ni_device_api_logan.h.

◆ NI_CC_SEI_BYTE3

#define NI_CC_SEI_BYTE3   0x47

Definition at line 249 of file ni_device_api_logan.h.

◆ NI_CC_SEI_BYTE4

#define NI_CC_SEI_BYTE4   0x41

Definition at line 250 of file ni_device_api_logan.h.

◆ NI_CC_SEI_BYTE5

#define NI_CC_SEI_BYTE5   0x39

Definition at line 251 of file ni_device_api_logan.h.

◆ NI_CC_SEI_BYTE6

#define NI_CC_SEI_BYTE6   0x34

Definition at line 252 of file ni_device_api_logan.h.

◆ NI_CC_SEI_BYTE7

#define NI_CC_SEI_BYTE7   0x03

Definition at line 253 of file ni_device_api_logan.h.

◆ NI_CC_SEI_HDR_H264_LEN

#define NI_CC_SEI_HDR_H264_LEN   17

Definition at line 266 of file ni_device_api_logan.h.

◆ NI_CC_SEI_HDR_HEVC_LEN

#define NI_CC_SEI_HDR_HEVC_LEN   18

Definition at line 263 of file ni_device_api_logan.h.

◆ NI_CC_SEI_TRAILER_LEN

#define NI_CC_SEI_TRAILER_LEN   2

Definition at line 267 of file ni_device_api_logan.h.

◆ NI_HDR10P_SEI_BYTE0

#define NI_HDR10P_SEI_BYTE0   0xB5

Definition at line 255 of file ni_device_api_logan.h.

◆ NI_HDR10P_SEI_BYTE1

#define NI_HDR10P_SEI_BYTE1   0x00

Definition at line 256 of file ni_device_api_logan.h.

◆ NI_HDR10P_SEI_BYTE2

#define NI_HDR10P_SEI_BYTE2   0x3c

Definition at line 257 of file ni_device_api_logan.h.

◆ NI_HDR10P_SEI_BYTE3

#define NI_HDR10P_SEI_BYTE3   0x00

Definition at line 258 of file ni_device_api_logan.h.

◆ NI_HDR10P_SEI_BYTE4

#define NI_HDR10P_SEI_BYTE4   0x01

Definition at line 259 of file ni_device_api_logan.h.

◆ NI_HDR10P_SEI_BYTE5

#define NI_HDR10P_SEI_BYTE5   0x04

Definition at line 260 of file ni_device_api_logan.h.

◆ NI_HDR10P_SEI_BYTE6

#define NI_HDR10P_SEI_BYTE6   0x00

Definition at line 261 of file ni_device_api_logan.h.

◆ NI_HDR10P_SEI_HDR_H264_LEN

#define NI_HDR10P_SEI_HDR_H264_LEN   8

Definition at line 265 of file ni_device_api_logan.h.

◆ NI_HDR10P_SEI_HDR_HEVC_LEN

#define NI_HDR10P_SEI_HDR_HEVC_LEN   9

Definition at line 264 of file ni_device_api_logan.h.

◆ NI_LOGAN_DATA_FORMAT_CB_FRAME

#define NI_LOGAN_DATA_FORMAT_CB_FRAME   3

Definition at line 44 of file ni_device_api_logan.h.

◆ NI_LOGAN_DATA_FORMAT_CR_FRAME

#define NI_LOGAN_DATA_FORMAT_CR_FRAME   4

Definition at line 45 of file ni_device_api_logan.h.

◆ NI_LOGAN_DATA_FORMAT_VIDEO_PACKET

#define NI_LOGAN_DATA_FORMAT_VIDEO_PACKET   0

Definition at line 41 of file ni_device_api_logan.h.

◆ NI_LOGAN_DATA_FORMAT_Y_FRAME

#define NI_LOGAN_DATA_FORMAT_Y_FRAME   2

Definition at line 43 of file ni_device_api_logan.h.

◆ NI_LOGAN_DATA_FORMAT_YUV_FRAME

#define NI_LOGAN_DATA_FORMAT_YUV_FRAME   1

Definition at line 42 of file ni_device_api_logan.h.

◆ NI_LOGAN_DEC_MAX_CC_BUF_SIZE

#define NI_LOGAN_DEC_MAX_CC_BUF_SIZE   93

Definition at line 242 of file ni_device_api_logan.h.

◆ NI_LOGAN_DEC_PARAM_CHECK_PACKET

#define NI_LOGAN_DEC_PARAM_CHECK_PACKET   "checkPacket"

Definition at line 1296 of file ni_device_api_logan.h.

◆ NI_LOGAN_DEC_PARAM_CUSTOM_SEI_PASSTHRU

#define NI_LOGAN_DEC_PARAM_CUSTOM_SEI_PASSTHRU   "customSeiPassthru"

Definition at line 1297 of file ni_device_api_logan.h.

◆ NI_LOGAN_DEC_PARAM_ENABLE_FOLLOW_IFRAME

#define NI_LOGAN_DEC_PARAM_ENABLE_FOLLOW_IFRAME   "enableFollowIFrame"

Definition at line 1300 of file ni_device_api_logan.h.

◆ NI_LOGAN_DEC_PARAM_ENABLE_VUI_INFO_PASSTHRU

#define NI_LOGAN_DEC_PARAM_ENABLE_VUI_INFO_PASSTHRU   "enableVuiInfoPassthru"

Definition at line 1301 of file ni_device_api_logan.h.

◆ NI_LOGAN_DEC_PARAM_LOW_DELAY

#define NI_LOGAN_DEC_PARAM_LOW_DELAY   "lowDelay"

Definition at line 1298 of file ni_device_api_logan.h.

◆ NI_LOGAN_DEC_PARAM_LOW_DELAY_MODE

#define NI_LOGAN_DEC_PARAM_LOW_DELAY_MODE   "lowDelayMode"

Definition at line 1299 of file ni_device_api_logan.h.

◆ NI_LOGAN_DEC_PARAM_OUT

#define NI_LOGAN_DEC_PARAM_OUT   "out"

Definition at line 1568 of file ni_device_api_logan.h.

◆ NI_LOGAN_DEC_PARAM_SAVE_PKT

#define NI_LOGAN_DEC_PARAM_SAVE_PKT   "savePkt"

Definition at line 1304 of file ni_device_api_logan.h.

◆ NI_LOGAN_DEC_PARAM_USR_DATA_SEI_PASSTHRU

#define NI_LOGAN_DEC_PARAM_USR_DATA_SEI_PASSTHRU   "enableUserDataSeiPassthru"

Definition at line 1295 of file ni_device_api_logan.h.

◆ NI_LOGAN_DEFAULT_CU_SIZE_MODE

#define NI_LOGAN_DEFAULT_CU_SIZE_MODE   7

Definition at line 117 of file ni_device_api_logan.h.

◆ NI_LOGAN_DEFAULT_INTRA_QP

#define NI_LOGAN_DEFAULT_INTRA_QP   22

Definition at line 126 of file ni_device_api_logan.h.

◆ NI_LOGAN_DEFAULT_KEEP_ALIVE_TIMEOUT

#define NI_LOGAN_DEFAULT_KEEP_ALIVE_TIMEOUT   3

Definition at line 147 of file ni_device_api_logan.h.

◆ NI_LOGAN_DEFAULT_MAX_DELTA_QP

#define NI_LOGAN_DEFAULT_MAX_DELTA_QP   10

Definition at line 137 of file ni_device_api_logan.h.

◆ NI_LOGAN_DEFAULT_MAX_QP

#define NI_LOGAN_DEFAULT_MAX_QP   51

Definition at line 133 of file ni_device_api_logan.h.

◆ NI_LOGAN_DEFAULT_MIN_QP

#define NI_LOGAN_DEFAULT_MIN_QP   8

Definition at line 134 of file ni_device_api_logan.h.

◆ NI_LOGAN_DISABLE_CHECK_PACKET

#define NI_LOGAN_DISABLE_CHECK_PACKET   0

Definition at line 154 of file ni_device_api_logan.h.

◆ NI_LOGAN_DISABLE_USR_DATA_SEI_PASSTHRU

#define NI_LOGAN_DISABLE_USR_DATA_SEI_PASSTHRU   0

Definition at line 152 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENABLE_CHECK_PACKET

#define NI_LOGAN_ENABLE_CHECK_PACKET   1

Definition at line 155 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENABLE_USR_DATA_SEI_PASSTHRU

#define NI_LOGAN_ENABLE_USR_DATA_SEI_PASSTHRU   1

Definition at line 153 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_CUSTOM_GOP_SIZE

#define NI_LOGAN_ENC_GOP_PARAMS_CUSTOM_GOP_SIZE   "customGopSize"

Definition at line 1190 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G0_NUM_REF_PIC_L0

#define NI_LOGAN_ENC_GOP_PARAMS_G0_NUM_REF_PIC_L0   "g0numRefPicL0"

Definition at line 1118 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G0_NUM_REF_POC_L0

#define NI_LOGAN_ENC_GOP_PARAMS_G0_NUM_REF_POC_L0   "g0refPocL0"

Definition at line 1119 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G0_NUM_REF_POC_L1

#define NI_LOGAN_ENC_GOP_PARAMS_G0_NUM_REF_POC_L1   "g0refPocL1"

Definition at line 1120 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G0_PIC_QP

#define NI_LOGAN_ENC_GOP_PARAMS_G0_PIC_QP   "g0picQp"

Definition at line 1117 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G0_PIC_TYPE

#define NI_LOGAN_ENC_GOP_PARAMS_G0_PIC_TYPE   "g0picType"

Definition at line 1115 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G0_POC_OFFSET

#define NI_LOGAN_ENC_GOP_PARAMS_G0_POC_OFFSET   "g0pocOffset"

Definition at line 1116 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G0_TEMPORAL_ID

#define NI_LOGAN_ENC_GOP_PARAMS_G0_TEMPORAL_ID   "g0temporalId"

Definition at line 1121 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G1_NUM_REF_PIC_L0

#define NI_LOGAN_ENC_GOP_PARAMS_G1_NUM_REF_PIC_L0   "g1numRefPicL0"

Definition at line 1126 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G1_NUM_REF_POC_L0

#define NI_LOGAN_ENC_GOP_PARAMS_G1_NUM_REF_POC_L0   "g1refPocL0"

Definition at line 1127 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G1_NUM_REF_POC_L1

#define NI_LOGAN_ENC_GOP_PARAMS_G1_NUM_REF_POC_L1   "g1refPocL1"

Definition at line 1128 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G1_PIC_QP

#define NI_LOGAN_ENC_GOP_PARAMS_G1_PIC_QP   "g1picQp"

Definition at line 1125 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G1_PIC_TYPE

#define NI_LOGAN_ENC_GOP_PARAMS_G1_PIC_TYPE   "g1picType"

Definition at line 1123 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G1_POC_OFFSET

#define NI_LOGAN_ENC_GOP_PARAMS_G1_POC_OFFSET   "g1pocOffset"

Definition at line 1124 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G1_TEMPORAL_ID

#define NI_LOGAN_ENC_GOP_PARAMS_G1_TEMPORAL_ID   "g1temporalId"

Definition at line 1129 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G2_NUM_REF_PIC_L0

#define NI_LOGAN_ENC_GOP_PARAMS_G2_NUM_REF_PIC_L0   "g2numRefPicL0"

Definition at line 1134 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G2_NUM_REF_POC_L0

#define NI_LOGAN_ENC_GOP_PARAMS_G2_NUM_REF_POC_L0   "g2refPocL0"

Definition at line 1135 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G2_NUM_REF_POC_L1

#define NI_LOGAN_ENC_GOP_PARAMS_G2_NUM_REF_POC_L1   "g2refPocL1"

Definition at line 1136 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G2_PIC_QP

#define NI_LOGAN_ENC_GOP_PARAMS_G2_PIC_QP   "g2picQp"

Definition at line 1133 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G2_PIC_TYPE

#define NI_LOGAN_ENC_GOP_PARAMS_G2_PIC_TYPE   "g2picType"

Definition at line 1131 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G2_POC_OFFSET

#define NI_LOGAN_ENC_GOP_PARAMS_G2_POC_OFFSET   "g2pocOffset"

Definition at line 1132 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G2_TEMPORAL_ID

#define NI_LOGAN_ENC_GOP_PARAMS_G2_TEMPORAL_ID   "g2temporalId"

Definition at line 1137 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G3_NUM_REF_PIC_L0

#define NI_LOGAN_ENC_GOP_PARAMS_G3_NUM_REF_PIC_L0   "g3numRefPicL0"

Definition at line 1142 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G3_NUM_REF_POC_L0

#define NI_LOGAN_ENC_GOP_PARAMS_G3_NUM_REF_POC_L0   "g3refPocL0"

Definition at line 1143 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G3_NUM_REF_POC_L1

#define NI_LOGAN_ENC_GOP_PARAMS_G3_NUM_REF_POC_L1   "g3refPocL1"

Definition at line 1144 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G3_PIC_QP

#define NI_LOGAN_ENC_GOP_PARAMS_G3_PIC_QP   "g3picQp"

Definition at line 1141 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G3_PIC_TYPE

#define NI_LOGAN_ENC_GOP_PARAMS_G3_PIC_TYPE   "g3picType"

Definition at line 1139 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G3_POC_OFFSET

#define NI_LOGAN_ENC_GOP_PARAMS_G3_POC_OFFSET   "g3pocOffset"

Definition at line 1140 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G3_TEMPORAL_ID

#define NI_LOGAN_ENC_GOP_PARAMS_G3_TEMPORAL_ID   "g3temporalId"

Definition at line 1145 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G4_NUM_REF_PIC_L0

#define NI_LOGAN_ENC_GOP_PARAMS_G4_NUM_REF_PIC_L0   "g4numRefPicL0"

Definition at line 1150 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G4_NUM_REF_POC_L0

#define NI_LOGAN_ENC_GOP_PARAMS_G4_NUM_REF_POC_L0   "g4refPocL0"

Definition at line 1151 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G4_NUM_REF_POC_L1

#define NI_LOGAN_ENC_GOP_PARAMS_G4_NUM_REF_POC_L1   "g4refPocL1"

Definition at line 1152 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G4_PIC_QP

#define NI_LOGAN_ENC_GOP_PARAMS_G4_PIC_QP   "g4picQp"

Definition at line 1149 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G4_PIC_TYPE

#define NI_LOGAN_ENC_GOP_PARAMS_G4_PIC_TYPE   "g4picType"

Definition at line 1147 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G4_POC_OFFSET

#define NI_LOGAN_ENC_GOP_PARAMS_G4_POC_OFFSET   "g4pocOffset"

Definition at line 1148 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G4_TEMPORAL_ID

#define NI_LOGAN_ENC_GOP_PARAMS_G4_TEMPORAL_ID   "g4temporalId"

Definition at line 1153 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G5_NUM_REF_PIC_L0

#define NI_LOGAN_ENC_GOP_PARAMS_G5_NUM_REF_PIC_L0   "g5numRefPicL0"

Definition at line 1158 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G5_NUM_REF_POC_L0

#define NI_LOGAN_ENC_GOP_PARAMS_G5_NUM_REF_POC_L0   "g5refPocL0"

Definition at line 1159 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G5_NUM_REF_POC_L1

#define NI_LOGAN_ENC_GOP_PARAMS_G5_NUM_REF_POC_L1   "g5refPocL1"

Definition at line 1160 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G5_PIC_QP

#define NI_LOGAN_ENC_GOP_PARAMS_G5_PIC_QP   "g5picQp"

Definition at line 1157 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G5_PIC_TYPE

#define NI_LOGAN_ENC_GOP_PARAMS_G5_PIC_TYPE   "g5picType"

Definition at line 1155 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G5_POC_OFFSET

#define NI_LOGAN_ENC_GOP_PARAMS_G5_POC_OFFSET   "g5pocOffset"

Definition at line 1156 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G5_TEMPORAL_ID

#define NI_LOGAN_ENC_GOP_PARAMS_G5_TEMPORAL_ID   "g5temporalId"

Definition at line 1161 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G6_NUM_REF_PIC_L0

#define NI_LOGAN_ENC_GOP_PARAMS_G6_NUM_REF_PIC_L0   "g6numRefPicL0"

Definition at line 1166 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G6_NUM_REF_POC_L0

#define NI_LOGAN_ENC_GOP_PARAMS_G6_NUM_REF_POC_L0   "g6refPocL0"

Definition at line 1167 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G6_NUM_REF_POC_L1

#define NI_LOGAN_ENC_GOP_PARAMS_G6_NUM_REF_POC_L1   "g6refPocL1"

Definition at line 1168 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G6_PIC_QP

#define NI_LOGAN_ENC_GOP_PARAMS_G6_PIC_QP   "g6picQp"

Definition at line 1165 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G6_PIC_TYPE

#define NI_LOGAN_ENC_GOP_PARAMS_G6_PIC_TYPE   "g6picType"

Definition at line 1163 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G6_POC_OFFSET

#define NI_LOGAN_ENC_GOP_PARAMS_G6_POC_OFFSET   "g6pocOffset"

Definition at line 1164 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G6_TEMPORAL_ID

#define NI_LOGAN_ENC_GOP_PARAMS_G6_TEMPORAL_ID   "g6temporalId"

Definition at line 1169 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G7_NUM_REF_PIC_L0

#define NI_LOGAN_ENC_GOP_PARAMS_G7_NUM_REF_PIC_L0   "g7numRefPicL0"

Definition at line 1174 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G7_NUM_REF_POC_L0

#define NI_LOGAN_ENC_GOP_PARAMS_G7_NUM_REF_POC_L0   "g7refPocL0"

Definition at line 1175 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G7_NUM_REF_POC_L1

#define NI_LOGAN_ENC_GOP_PARAMS_G7_NUM_REF_POC_L1   "g7refPocL1"

Definition at line 1176 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G7_PIC_QP

#define NI_LOGAN_ENC_GOP_PARAMS_G7_PIC_QP   "g7picQp"

Definition at line 1173 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G7_PIC_TYPE

#define NI_LOGAN_ENC_GOP_PARAMS_G7_PIC_TYPE   "g7picType"

Definition at line 1171 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G7_POC_OFFSET

#define NI_LOGAN_ENC_GOP_PARAMS_G7_POC_OFFSET   "g7pocOffset"

Definition at line 1172 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_GOP_PARAMS_G7_TEMPORAL_ID

#define NI_LOGAN_ENC_GOP_PARAMS_G7_TEMPORAL_ID   "g7temporalId"

Definition at line 1177 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_MAX_SEI_BUF_SIZE

#define NI_LOGAN_ENC_MAX_SEI_BUF_SIZE   NI_LOGAN_VPU_ALIGN16(1024)

Definition at line 237 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_AVC_SLICE_ARG

#define NI_LOGAN_ENC_PARAM_AVC_SLICE_ARG   "avcSliceArg"

Definition at line 1252 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_AVC_SLICE_MODE

#define NI_LOGAN_ENC_PARAM_AVC_SLICE_MODE   "avcSliceMode"

Definition at line 1251 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_BITRATE

#define NI_LOGAN_ENC_PARAM_BITRATE   "bitrate"

Definition at line 1203 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_CACHE_ROI

#define NI_LOGAN_ENC_PARAM_CACHE_ROI   "cacheRoi"

Definition at line 1207 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_CBR

#define NI_LOGAN_ENC_PARAM_CBR   "cbr"

Definition at line 1271 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_CHROMA_QP_OffSET

#define NI_LOGAN_ENC_PARAM_CHROMA_QP_OffSET   "chromaQpOffset"

Definition at line 1243 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_COLOR_PRIMARY

#define NI_LOGAN_ENC_PARAM_COLOR_PRIMARY   "colorPri"

Definition at line 1279 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_COLOR_SPACE

#define NI_LOGAN_ENC_PARAM_COLOR_SPACE   "colorSpc"

Definition at line 1281 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_COLOR_TRANSFER_CHARACTERISTIC

#define NI_LOGAN_ENC_PARAM_COLOR_TRANSFER_CHARACTERISTIC   "colorTrc"

Definition at line 1280 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_CONF_WIN_BOTTOM

#define NI_LOGAN_ENC_PARAM_CONF_WIN_BOTTOM   "confWinBot"

Definition at line 1233 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_CONF_WIN_LEFT

#define NI_LOGAN_ENC_PARAM_CONF_WIN_LEFT   "confWinLeft"

Definition at line 1234 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_CONF_WIN_RIGHT

#define NI_LOGAN_ENC_PARAM_CONF_WIN_RIGHT   "confWinRight"

Definition at line 1235 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_CONF_WIN_TOP

#define NI_LOGAN_ENC_PARAM_CONF_WIN_TOP   "confWinTop"

Definition at line 1232 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_CRF

#define NI_LOGAN_ENC_PARAM_CRF   "crf"

Definition at line 1268 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_CRF_IP_RATIO

#define NI_LOGAN_ENC_PARAM_CRF_IP_RATIO   "ipRatio"

Definition at line 1269 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_CRF_PB_RATIO

#define NI_LOGAN_ENC_PARAM_CRF_PB_RATIO   "pbRatio"

Definition at line 1270 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_DECODING_REFRESH_TYPE

#define NI_LOGAN_ENC_PARAM_DECODING_REFRESH_TYPE   "decodingRefreshType"

Definition at line 1241 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_DISABLE_TIMING_INFO

#define NI_LOGAN_ENC_PARAM_DISABLE_TIMING_INFO   "disableTimingInfo"

Definition at line 1292 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_DOLBY_VISION_PROFILE

#define NI_LOGAN_ENC_PARAM_DOLBY_VISION_PROFILE   "dolbyVisionProfile"

Definition at line 1265 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_ENABLE_8X8_TRANSFORM

#define NI_LOGAN_ENC_PARAM_ENABLE_8X8_TRANSFORM   "transform8x8Enable"

Definition at line 1250 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_ENABLE_AUD

#define NI_LOGAN_ENC_PARAM_ENABLE_AUD   "enableAUD"

Definition at line 1267 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_ENABLE_CU_LEVEL_RATE_CONTROL

#define NI_LOGAN_ENC_PARAM_ENABLE_CU_LEVEL_RATE_CONTROL   "cuLevelRCEnable"

Definition at line 1222 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_ENABLE_EXPLICIT_RPL

#define NI_LOGAN_ENC_PARAM_ENABLE_EXPLICIT_RPL   "enableExplicitRPL"

Definition at line 1290 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_ENABLE_HVS_QP

#define NI_LOGAN_ENC_PARAM_ENABLE_HVS_QP   "hvsQPEnable"

Definition at line 1223 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_ENABLE_HVS_QP_SCALE

#define NI_LOGAN_ENC_PARAM_ENABLE_HVS_QP_SCALE   "hvsQpScaleEnable"

Definition at line 1224 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_ENABLE_MB_LEVEL_RC

#define NI_LOGAN_ENC_PARAM_ENABLE_MB_LEVEL_RC   "mbLevelRcEnable"

Definition at line 1262 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_ENABLE_RATE_CONTROL

#define NI_LOGAN_ENC_PARAM_ENABLE_RATE_CONTROL   "RcEnable"

Definition at line 1221 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_ENABLE_VFR

#define NI_LOGAN_ENC_PARAM_ENABLE_VFR   "enableVFR"

Definition at line 1288 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_ENTROPY_CODING_MODE

#define NI_LOGAN_ENC_PARAM_ENTROPY_CODING_MODE   "entropyCodingMode"

Definition at line 1253 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_FLUSH_GOP

#define NI_LOGAN_ENC_PARAM_FLUSH_GOP   "flushGop"

Definition at line 1277 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_FORCE_FRAME_TYPE

#define NI_LOGAN_ENC_PARAM_FORCE_FRAME_TYPE   "forceFrameType"

Definition at line 1211 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_FORCE_PIC_QP_DEMO_MODE

#define NI_LOGAN_ENC_PARAM_FORCE_PIC_QP_DEMO_MODE   "ForcePicQpDemoMode"

Definition at line 1208 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_FORCED_HEADER_ENABLE

#define NI_LOGAN_ENC_PARAM_FORCED_HEADER_ENABLE   "repeatHeaders"

Definition at line 1230 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_FRAME_RATE

#define NI_LOGAN_ENC_PARAM_FRAME_RATE   "frameRate"

Definition at line 1238 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_FRAME_RATE_DENOM

#define NI_LOGAN_ENC_PARAM_FRAME_RATE_DENOM   "frameRateDenom"

Definition at line 1239 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_GEN_HDRS

#define NI_LOGAN_ENC_PARAM_GEN_HDRS   "GenHdrs"

Definition at line 1209 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_GOP_PRESET_IDX

#define NI_LOGAN_ENC_PARAM_GOP_PRESET_IDX   "gopPresetIdx"

Definition at line 1217 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_HIGH_TIER

#define NI_LOGAN_ENC_PARAM_HIGH_TIER   "high-tier"

Definition at line 1214 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_HRD_ENABLE

#define NI_LOGAN_ENC_PARAM_HRD_ENABLE   "hrdEnable"

Definition at line 1266 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_HVS_QP_SCALE

#define NI_LOGAN_ENC_PARAM_HVS_QP_SCALE   "hvsQpScale"

Definition at line 1225 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_INTRA_MB_REFRESH_ARG

#define NI_LOGAN_ENC_PARAM_INTRA_MB_REFRESH_ARG   "intraMbRefreshArg"

Definition at line 1255 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_INTRA_MB_REFRESH_MODE

#define NI_LOGAN_ENC_PARAM_INTRA_MB_REFRESH_MODE   "intraMbRefreshMode"

Definition at line 1254 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_INTRA_PERIOD

#define NI_LOGAN_ENC_PARAM_INTRA_PERIOD   "intraPeriod"

Definition at line 1236 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_INTRA_QP

#define NI_LOGAN_ENC_PARAM_INTRA_QP   "intraQP"

Definition at line 1240 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_INTRA_REFRESH_ARG

#define NI_LOGAN_ENC_PARAM_INTRA_REFRESH_ARG   "intraRefreshArg"

Definition at line 1260 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_INTRA_REFRESH_MIN_PERIOD

#define NI_LOGAN_ENC_PARAM_INTRA_REFRESH_MIN_PERIOD   "intraRefreshMinPeriod"

Definition at line 1272 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_INTRA_REFRESH_MODE

#define NI_LOGAN_ENC_PARAM_INTRA_REFRESH_MODE   "intraRefreshMode"

Definition at line 1259 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_INTRA_REFRESH_RESET

#define NI_LOGAN_ENC_PARAM_INTRA_REFRESH_RESET   "intraRefreshResetOnForceIDR"

Definition at line 1242 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_LEVEL

#define NI_LOGAN_ENC_PARAM_LEVEL   "level"

Definition at line 1213 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_LOG

#define NI_LOGAN_ENC_PARAM_LOG   "log"

Definition at line 1216 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_LOG_LEVEL

#define NI_LOGAN_ENC_PARAM_LOG_LEVEL   "log-level"

Definition at line 1215 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_LONG_TERM_REFERENCE_ENABLE

#define NI_LOGAN_ENC_PARAM_LONG_TERM_REFERENCE_ENABLE   "longTermReferenceEnable"

Definition at line 1273 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_LOSSLESS_ENABLE

#define NI_LOGAN_ENC_PARAM_LOSSLESS_ENABLE   "losslessEnable"

Definition at line 1276 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_LOW_DELAY

#define NI_LOGAN_ENC_PARAM_LOW_DELAY   "lowDelay"

Definition at line 1218 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_MAX_DELTA_QP

#define NI_LOGAN_ENC_PARAM_MAX_DELTA_QP   "maxDeltaQp"

Definition at line 1228 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_MAX_FRAME_SIZE

#define NI_LOGAN_ENC_PARAM_MAX_FRAME_SIZE   "maxFrameSize"

Definition at line 1245 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_MAX_FRAME_SIZE_BITS

#define NI_LOGAN_ENC_PARAM_MAX_FRAME_SIZE_BITS   "maxFrameSize-Bits"

Definition at line 1246 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_MAX_FRAME_SIZE_BYTES

#define NI_LOGAN_ENC_PARAM_MAX_FRAME_SIZE_BYTES   "maxFrameSize-Bytes"

Definition at line 1247 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_MAX_QP

#define NI_LOGAN_ENC_PARAM_MAX_QP   "maxQp"

Definition at line 1227 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_MIN_QP

#define NI_LOGAN_ENC_PARAM_MIN_QP   "minQp"

Definition at line 1226 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_PADDING

#define NI_LOGAN_ENC_PARAM_PADDING   "padding"

Definition at line 1210 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_PREFERRED_TRANSFER_CHARACTERISTICS

#define NI_LOGAN_ENC_PARAM_PREFERRED_TRANSFER_CHARACTERISTICS   "prefTRC"

Definition at line 1263 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_PROFILE

#define NI_LOGAN_ENC_PARAM_PROFILE   "profile"

Definition at line 1212 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_RC_INIT_DELAY

#define NI_LOGAN_ENC_PARAM_RC_INIT_DELAY   "RcInitDelay"

Definition at line 1229 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_RECONF_DEMO_MODE

#define NI_LOGAN_ENC_PARAM_RECONF_DEMO_MODE   "ReconfDemoMode"

Definition at line 1204 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_RECONF_FILE

#define NI_LOGAN_ENC_PARAM_RECONF_FILE   "ReconfFile"

Definition at line 1205 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_ROI_DEMO_MODE

#define NI_LOGAN_ENC_PARAM_ROI_DEMO_MODE   "RoiDemoMode"

Definition at line 1206 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_ROI_ENABLE

#define NI_LOGAN_ENC_PARAM_ROI_ENABLE   "roiEnable"

Definition at line 1231 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_SAR_DENOM

#define NI_LOGAN_ENC_PARAM_SAR_DENOM   "sarDenom"

Definition at line 1284 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_SAR_NUM

#define NI_LOGAN_ENC_PARAM_SAR_NUM   "sarNum"

Definition at line 1283 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_SLICE_ARG

#define NI_LOGAN_ENC_PARAM_SLICE_ARG   "sliceArg"

Definition at line 1258 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_SLICE_MODE

#define NI_LOGAN_ENC_PARAM_SLICE_MODE   "sliceMode"

Definition at line 1257 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_STRICT_TIMEOUT_MODE

#define NI_LOGAN_ENC_PARAM_STRICT_TIMEOUT_MODE   "strictTimeout"

Definition at line 1275 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_TRANS_RATE

#define NI_LOGAN_ENC_PARAM_TRANS_RATE   "transRate"

Definition at line 1237 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_USE_LOW_DELAY_POC_TYPE

#define NI_LOGAN_ENC_PARAM_USE_LOW_DELAY_POC_TYPE   "useLowDelayPocType"

Definition at line 1220 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_USE_RECOMMENDED_ENC_PARAMS

#define NI_LOGAN_ENC_PARAM_USE_RECOMMENDED_ENC_PARAMS   "useRecommendEncParam"

Definition at line 1219 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_PARAM_VIDEO_FULL_RANGE_FLAG

#define NI_LOGAN_ENC_PARAM_VIDEO_FULL_RANGE_FLAG   "videoFullRangeFlag"

Definition at line 1286 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_REPEAT_HEADERS_ALL_I_FRAMES

#define NI_LOGAN_ENC_REPEAT_HEADERS_ALL_I_FRAMES   2

Definition at line 1200 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_REPEAT_HEADERS_ALL_KEY_FRAMES

#define NI_LOGAN_ENC_REPEAT_HEADERS_ALL_KEY_FRAMES   1

Definition at line 1199 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_REPEAT_HEADERS_FIRST_IDR

#define NI_LOGAN_ENC_REPEAT_HEADERS_FIRST_IDR   0

Definition at line 1198 of file ni_device_api_logan.h.

◆ NI_LOGAN_ENC_SESSION_OPEN_RETRY_INTERVAL_US

#define NI_LOGAN_ENC_SESSION_OPEN_RETRY_INTERVAL_US   1000

Definition at line 81 of file ni_device_api_logan.h.

◆ NI_LOGAN_FRAME_BIG_ENDIAN

#define NI_LOGAN_FRAME_BIG_ENDIAN   1

Definition at line 64 of file ni_device_api_logan.h.

◆ NI_LOGAN_FRAME_LITTLE_ENDIAN

#define NI_LOGAN_FRAME_LITTLE_ENDIAN   0

Definition at line 63 of file ni_device_api_logan.h.

◆ NI_LOGAN_INTRA_QP_RANGE

#define NI_LOGAN_INTRA_QP_RANGE   25

Definition at line 127 of file ni_device_api_logan.h.

◆ NI_LOGAN_INVALID_HW_FRAME_IDX

#define NI_LOGAN_INVALID_HW_FRAME_IDX   (-3)

Definition at line 67 of file ni_device_api_logan.h.

◆ NI_LOGAN_INVALID_HW_META_IDX

#define NI_LOGAN_INVALID_HW_META_IDX   (-5)

Definition at line 68 of file ni_device_api_logan.h.

◆ NI_LOGAN_INVALID_HWID

#define NI_LOGAN_INVALID_HWID   (-1)

Definition at line 160 of file ni_device_api_logan.h.

◆ NI_LOGAN_INVALID_SESSION_ID

#define NI_LOGAN_INVALID_SESSION_ID   (-1)

Definition at line 66 of file ni_device_api_logan.h.

◆ NI_LOGAN_KEEP_ALIVE_TIMEOUT

#define NI_LOGAN_KEEP_ALIVE_TIMEOUT   "keepAliveTimeout"

Definition at line 1308 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_BIN

#define NI_LOGAN_MAX_BIN   1

Definition at line 138 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_BITRATE

#define NI_LOGAN_MAX_BITRATE   700000000

Definition at line 70 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_CRF

#define NI_LOGAN_MAX_CRF   51

Definition at line 141 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_CUSTOM_SEI_PASSTHRU

#define NI_LOGAN_MAX_CUSTOM_SEI_PASSTHRU   1000

Definition at line 149 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_DEC_SESSION_READ_QUERY_EOS_RETRIES

#define NI_LOGAN_MAX_DEC_SESSION_READ_QUERY_EOS_RETRIES   15000

Definition at line 88 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_DEC_SESSION_READ_QUERY_RETRIES

#define NI_LOGAN_MAX_DEC_SESSION_READ_QUERY_RETRIES   3000

Definition at line 87 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_DEC_SESSION_WRITE_QUERY_RETRIES

#define NI_LOGAN_MAX_DEC_SESSION_WRITE_QUERY_RETRIES   100

Definition at line 86 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_DECODING_REFRESH_TYPE

#define NI_LOGAN_MAX_DECODING_REFRESH_TYPE   2

Definition at line 115 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_DYNAMIC_MERGE

#define NI_LOGAN_MAX_DYNAMIC_MERGE   1

Definition at line 118 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_ENC_SESSION_OPEN_QUERY_RETRIES

#define NI_LOGAN_MAX_ENC_SESSION_OPEN_QUERY_RETRIES   3000

Definition at line 80 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_ENC_SESSION_READ_QUERY_RETRIES

#define NI_LOGAN_MAX_ENC_SESSION_READ_QUERY_RETRIES   3000

Definition at line 84 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_ENC_SESSION_WRITE_QUERY_RETRIES

#define NI_LOGAN_MAX_ENC_SESSION_WRITE_QUERY_RETRIES   2000

Definition at line 83 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_GOP_NUM

#define NI_LOGAN_MAX_GOP_NUM   8

Definition at line 52 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_GOP_PRESET_IDX

#define NI_LOGAN_MAX_GOP_PRESET_IDX   9

Definition at line 113 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_GOP_SIZE

#define NI_LOGAN_MAX_GOP_SIZE   8

Definition at line 111 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_HEIGHT

#define NI_LOGAN_MAX_HEIGHT   8192

Definition at line 102 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_INTRA_PERIOD

#define NI_LOGAN_MAX_INTRA_PERIOD   1024

Definition at line 73 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_INTRA_QP

#define NI_LOGAN_MAX_INTRA_QP   51

Definition at line 124 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_INTRA_REFRESH_MIN_PERIOD

#define NI_LOGAN_MAX_INTRA_REFRESH_MIN_PERIOD   8191

Definition at line 144 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_KEEP_ALIVE_TIMEOUT

#define NI_LOGAN_MAX_KEEP_ALIVE_TIMEOUT   100

Definition at line 145 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_MAX_DELTA_QP

#define NI_LOGAN_MAX_MAX_DELTA_QP   51

Definition at line 135 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_MAX_NUM_MERGE

#define NI_LOGAN_MAX_MAX_NUM_MERGE   3

Definition at line 122 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_MAX_QP

#define NI_LOGAN_MAX_MAX_QP   51

Definition at line 129 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_MIN_QP

#define NI_LOGAN_MAX_MIN_QP   51

Definition at line 131 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_NUM_SESSIONS

#define NI_LOGAN_MAX_NUM_SESSIONS   32

Definition at line 140 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_PRIORITY

#define NI_LOGAN_MAX_PRIORITY   1

Definition at line 151 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_RESOLUTION_AREA

#define NI_LOGAN_MAX_RESOLUTION_AREA   8192*5120

Definition at line 61 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_RESOLUTION_HEIGHT

#define NI_LOGAN_MAX_RESOLUTION_HEIGHT   8192

Definition at line 60 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_RESOLUTION_WIDTH

#define NI_LOGAN_MAX_RESOLUTION_WIDTH   8192

Definition at line 59 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_SEI_DATA

#define NI_LOGAN_MAX_SEI_DATA   NI_LOGAN_VPU_ALIGN8(NI_LOGAN_MAX_SEI_ENTRIES * sizeof(ni_logan_sei_user_data_entry_t) + 1024)

Definition at line 240 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_SEI_ENTRIES

#define NI_LOGAN_MAX_SEI_ENTRIES   32

Definition at line 238 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_SESSION_CLOSE_RETRIES

#define NI_LOGAN_MAX_SESSION_CLOSE_RETRIES   10

Definition at line 90 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_SESSION_OPEN_RETRIES

#define NI_LOGAN_MAX_SESSION_OPEN_RETRIES   20

Definition at line 77 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_USE_RECOMMENDED_ENC_PARAMS

#define NI_LOGAN_MAX_USE_RECOMMENDED_ENC_PARAMS   3

Definition at line 120 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_VUI_SIZE

#define NI_LOGAN_MAX_VUI_SIZE   32

Definition at line 54 of file ni_device_api_logan.h.

◆ NI_LOGAN_MAX_WIDTH

#define NI_LOGAN_MAX_WIDTH   8192

Definition at line 100 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_BIN

#define NI_LOGAN_MIN_BIN   0

Definition at line 139 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_BITRATE

#define NI_LOGAN_MIN_BITRATE   64000

Definition at line 71 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_CRF

#define NI_LOGAN_MIN_CRF   0

Definition at line 142 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_CUSTOM_SEI_PASSTHRU

#define NI_LOGAN_MIN_CUSTOM_SEI_PASSTHRU   (-1)

Definition at line 148 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_DECODING_REFRESH_TYPE

#define NI_LOGAN_MIN_DECODING_REFRESH_TYPE   0

Definition at line 116 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_DYNAMIC_MERGE

#define NI_LOGAN_MIN_DYNAMIC_MERGE   0

Definition at line 119 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_GOP_PRESET_IDX

#define NI_LOGAN_MIN_GOP_PRESET_IDX   0

Definition at line 114 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_GOP_SIZE

#define NI_LOGAN_MIN_GOP_SIZE   1

Definition at line 112 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_HEIGHT

#define NI_LOGAN_MIN_HEIGHT   128

Definition at line 103 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_INTRA_PERIOD

#define NI_LOGAN_MIN_INTRA_PERIOD   0

Definition at line 74 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_INTRA_QP

#define NI_LOGAN_MIN_INTRA_QP   0

Definition at line 125 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_INTRA_REFRESH_MIN_PERIOD

#define NI_LOGAN_MIN_INTRA_REFRESH_MIN_PERIOD   0

Definition at line 143 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_KEEP_ALIVE_TIMEOUT

#define NI_LOGAN_MIN_KEEP_ALIVE_TIMEOUT   1

Definition at line 146 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_MAX_DELTA_QP

#define NI_LOGAN_MIN_MAX_DELTA_QP   0

Definition at line 136 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_MAX_NUM_MERGE

#define NI_LOGAN_MIN_MAX_NUM_MERGE   0

Definition at line 123 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_MAX_QP

#define NI_LOGAN_MIN_MAX_QP   0

Definition at line 130 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_MIN_QP

#define NI_LOGAN_MIN_MIN_QP   0

Definition at line 132 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_PRIORITY

#define NI_LOGAN_MIN_PRIORITY   0

Definition at line 150 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_USE_RECOMMENDED_ENC_PARAMS

#define NI_LOGAN_MIN_USE_RECOMMENDED_ENC_PARAMS   0

Definition at line 121 of file ni_device_api_logan.h.

◆ NI_LOGAN_MIN_WIDTH

#define NI_LOGAN_MIN_WIDTH   256

Definition at line 101 of file ni_device_api_logan.h.

◆ NI_LOGAN_NOPTS_VALUE

#define NI_LOGAN_NOPTS_VALUE   ((int64_t)UINT64_C(0x8000000000000000))

Definition at line 47 of file ni_device_api_logan.h.

◆ NI_LOGAN_NUM_OF_PIXELS_720P

#define NI_LOGAN_NUM_OF_PIXELS_720P   (1280*720)

Definition at line 97 of file ni_device_api_logan.h.

◆ NI_LOGAN_PARAM_MAX_HEIGHT

#define NI_LOGAN_PARAM_MAX_HEIGHT   8192

Definition at line 108 of file ni_device_api_logan.h.

◆ NI_LOGAN_PARAM_MAX_WIDTH

#define NI_LOGAN_PARAM_MAX_WIDTH   8192

Definition at line 106 of file ni_device_api_logan.h.

◆ NI_LOGAN_PARAM_MIN_HEIGHT

#define NI_LOGAN_PARAM_MIN_HEIGHT   32

Definition at line 109 of file ni_device_api_logan.h.

◆ NI_LOGAN_PARAM_MIN_WIDTH

#define NI_LOGAN_PARAM_MIN_WIDTH   32

Definition at line 107 of file ni_device_api_logan.h.

◆ NI_LOGAN_QP_MID_POINT

#define NI_LOGAN_QP_MID_POINT   26

Definition at line 128 of file ni_device_api_logan.h.

◆ NI_LOGAN_RETRY_INTERVAL_100US

#define NI_LOGAN_RETRY_INTERVAL_100US   100

Definition at line 93 of file ni_device_api_logan.h.

◆ NI_LOGAN_RETRY_INTERVAL_200US

#define NI_LOGAN_RETRY_INTERVAL_200US   200

Definition at line 94 of file ni_device_api_logan.h.

◆ NI_LOGAN_SESSION_CLOSE_RETRY_INTERVAL_US

#define NI_LOGAN_SESSION_CLOSE_RETRY_INTERVAL_US   500000

Definition at line 91 of file ni_device_api_logan.h.

◆ NI_LOGAN_SESSION_OPEN_RETRY_INTERVAL_US

#define NI_LOGAN_SESSION_OPEN_RETRY_INTERVAL_US   200

Definition at line 78 of file ni_device_api_logan.h.

◆ NI_LOGAN_SET_HIGH_PRIORITY

#define NI_LOGAN_SET_HIGH_PRIORITY   "setHighPriority"

Definition at line 1307 of file ni_device_api_logan.h.

◆ NI_LOGAN_SIGNATURE_SIZE

#define NI_LOGAN_SIGNATURE_SIZE   256

Definition at line 57 of file ni_device_api_logan.h.

◆ NI_LOGAN_VPU_ALIGN128

#define NI_LOGAN_VPU_ALIGN128 (   _x)    (((_x)+0x7f)&~0x7f)

Definition at line 178 of file ni_device_api_logan.h.

◆ NI_LOGAN_VPU_ALIGN16

#define NI_LOGAN_VPU_ALIGN16 (   _x)    (((_x)+0x0f)&~0x0f)

Definition at line 175 of file ni_device_api_logan.h.

◆ NI_LOGAN_VPU_ALIGN16384

#define NI_LOGAN_VPU_ALIGN16384 (   _x)    (((_x)+0x3fff)&~0x3fff)

Definition at line 183 of file ni_device_api_logan.h.

◆ NI_LOGAN_VPU_ALIGN2048

#define NI_LOGAN_VPU_ALIGN2048 (   _x)    (((_x)+0x7ff)&~0x7ff)

Definition at line 181 of file ni_device_api_logan.h.

◆ NI_LOGAN_VPU_ALIGN256

#define NI_LOGAN_VPU_ALIGN256 (   _x)    (((_x)+0xff)&~0xff)

Definition at line 179 of file ni_device_api_logan.h.

◆ NI_LOGAN_VPU_ALIGN32

#define NI_LOGAN_VPU_ALIGN32 (   _x)    (((_x)+0x1f)&~0x1f)

Definition at line 176 of file ni_device_api_logan.h.

◆ NI_LOGAN_VPU_ALIGN4

#define NI_LOGAN_VPU_ALIGN4 (   _x)    (((_x)+0x03)&~0x03)

Definition at line 173 of file ni_device_api_logan.h.

◆ NI_LOGAN_VPU_ALIGN4096

#define NI_LOGAN_VPU_ALIGN4096 (   _x)    (((_x)+0xfff)&~0xfff)

Definition at line 182 of file ni_device_api_logan.h.

◆ NI_LOGAN_VPU_ALIGN512

#define NI_LOGAN_VPU_ALIGN512 (   _x)    (((_x)+0x1ff)&~0x1ff)

Definition at line 180 of file ni_device_api_logan.h.

◆ NI_LOGAN_VPU_ALIGN64

#define NI_LOGAN_VPU_ALIGN64 (   _x)    (((_x)+0x3f)&~0x3f)

Definition at line 177 of file ni_device_api_logan.h.

◆ NI_LOGAN_VPU_ALIGN8

#define NI_LOGAN_VPU_ALIGN8 (   _x)    (((_x)+0x07)&~0x07)

Definition at line 174 of file ni_device_api_logan.h.

◆ NI_LOGAN_VPU_CEIL

#define NI_LOGAN_VPU_CEIL (   _data,
  _align 
)    (((_data)+(_align-1))&~(_align-1))

Definition at line 172 of file ni_device_api_logan.h.

◆ NI_LOGAN_XCODER_LOG_NAME_DEBUG

#define NI_LOGAN_XCODER_LOG_NAME_DEBUG   "debug"

Definition at line 1683 of file ni_device_api_logan.h.

◆ NI_LOGAN_XCODER_LOG_NAME_ERROR

#define NI_LOGAN_XCODER_LOG_NAME_ERROR   "error"

Definition at line 1680 of file ni_device_api_logan.h.

◆ NI_LOGAN_XCODER_LOG_NAME_FULL

#define NI_LOGAN_XCODER_LOG_NAME_FULL   "full"

Definition at line 1684 of file ni_device_api_logan.h.

◆ NI_LOGAN_XCODER_LOG_NAME_INFO

#define NI_LOGAN_XCODER_LOG_NAME_INFO   "info"

Definition at line 1682 of file ni_device_api_logan.h.

◆ NI_LOGAN_XCODER_LOG_NAME_NONE

#define NI_LOGAN_XCODER_LOG_NAME_NONE   "none"

Definition at line 1679 of file ni_device_api_logan.h.

◆ NI_LOGAN_XCODER_LOG_NAME_WARN

#define NI_LOGAN_XCODER_LOG_NAME_WARN   "warning"

Definition at line 1681 of file ni_device_api_logan.h.

◆ NI_LOGAN_XCODER_LOG_NAMES_ARRAY_LEN

#define NI_LOGAN_XCODER_LOG_NAMES_ARRAY_LEN   7

Definition at line 1674 of file ni_device_api_logan.h.

◆ NI_LOGAN_XCODER_PRESET_NAME_CUSTOM

#define NI_LOGAN_XCODER_PRESET_NAME_CUSTOM   "custom"

Definition at line 1677 of file ni_device_api_logan.h.

◆ NI_LOGAN_XCODER_PRESET_NAME_DEFAULT

#define NI_LOGAN_XCODER_PRESET_NAME_DEFAULT   "default"

Definition at line 1676 of file ni_device_api_logan.h.

◆ NI_LOGAN_XCODER_PRESET_NAMES_ARRAY_LEN

#define NI_LOGAN_XCODER_PRESET_NAMES_ARRAY_LEN   3

Definition at line 1673 of file ni_device_api_logan.h.

◆ NI_MAX_NUM_AUX_DATA_PER_FRAME

#define NI_MAX_NUM_AUX_DATA_PER_FRAME   16

Definition at line 270 of file ni_device_api_logan.h.

◆ NI_RBSP_TRAILING_BITS_LEN

#define NI_RBSP_TRAILING_BITS_LEN   1

Definition at line 268 of file ni_device_api_logan.h.

◆ RC_ERROR

#define RC_ERROR   false

Definition at line 158 of file ni_device_api_logan.h.

◆ RC_SUCCESS

#define RC_SUCCESS   true

Definition at line 157 of file ni_device_api_logan.h.

Typedef Documentation

◆ ni_aux_data_t

◆ ni_aux_data_type_t

◆ ni_hrd_params_t

◆ ni_logan_all_custom_sei_t

◆ ni_logan_buf_pool_t

◆ ni_logan_buf_t

◆ ni_logan_codec_format_t

This is an enumeration for supported codec formats.

◆ ni_logan_codec_hw_actions_t

This is an enumeration for hw actions.

◆ ni_logan_content_light_level_info_t

payload format of HDR SEI content light level info

◆ ni_logan_context_query_t

◆ ni_logan_custom_gop_params_t

◆ ni_logan_custom_sei_location_t

This is an enumeration for illustrating the custom SEI locations.

◆ ni_logan_custom_sei_t

custom sei payload passthrough

◆ ni_logan_dec_h264_vui_param_t

decoded payload format of H.264 VUI

◆ ni_logan_dec_h265_vui_param_t

decoded payload format of H.265 VUI

◆ ni_logan_dec_mastering_display_colour_volume_t

decoded payload format of HDR SEI mastering display colour volume

◆ ni_logan_dec_win_t

◆ ni_logan_decoder_input_params_t

◆ ni_logan_decoder_params_t

◆ ni_logan_device_capability_t

device capability type

◆ ni_logan_enc_avc_roi_custom_map_t

encoder AVC ROI custom map (1 MB = 8bits)

◆ ni_logan_enc_hevc_roi_custom_map_t

encoder HEVC ROI custom map (1 CTU = 64bits)

◆ ni_logan_enc_mastering_display_colour_volume_t

encoded payload format of HDR SEI mastering display colour volume

◆ ni_logan_encoder_change_params_t

This is a data structure for encoding parameters that have changed.

◆ ni_logan_encoder_input_params_t

◆ ni_logan_encoder_params_t

◆ ni_logan_fifo_buffer_t

◆ ni_logan_frame_t

◆ ni_logan_gop_params_t

◆ ni_logan_hw_capability_t

hardware capability type

◆ ni_logan_hwframe_surface_t

◆ ni_logan_load_query_t

◆ ni_logan_packet_t

◆ ni_logan_param_change_flags_t

This is an enumeration for encoder parameter change.

◆ ni_logan_queue_buffer_pool_t

◆ ni_logan_queue_node_t

◆ ni_logan_rc_min_max_qp

◆ ni_logan_reconfig_t

This is an enumeration for encoder reconfiguration test settings.

◆ ni_logan_sei_user_data_entry_t

◆ ni_logan_serial_num_t

◆ ni_logan_session_context_t

◆ ni_logan_session_data_io_t

◆ ni_logan_session_run_state_t

Session running state type.

◆ ni_logan_thread_arg_struct_t

◆ ni_long_term_ref_t

◆ ni_rational_t

◆ ni_region_of_interest_t

Enumeration Type Documentation

◆ _ni_logan_codec_format

This is an enumeration for supported codec formats.

Enumerator
NI_LOGAN_CODEC_FORMAT_H264 
NI_LOGAN_CODEC_FORMAT_H265 

Definition at line 441 of file ni_device_api_logan.h.

◆ _ni_logan_codec_hw_actions

This is an enumeration for hw actions.

Enumerator
NI_LOGAN_CODEC_HW_NONE 
NI_LOGAN_CODEC_HW_ENABLE 
NI_LOGAN_CODEC_HW_DOWNLOAD 
NI_LOGAN_CODEC_HW_UPLOAD 
NI_LOGAN_CODEC_HW_RSVD 

Definition at line 451 of file ni_device_api_logan.h.

◆ _ni_logan_custom_sei_location

This is an enumeration for illustrating the custom SEI locations.

Enumerator
NI_LOGAN_CUSTOM_SEI_LOC_BEFORE_VCL 
NI_LOGAN_CUSTOM_SEI_LOC_AFTER_VCL 

Definition at line 695 of file ni_device_api_logan.h.

◆ _ni_logan_frame_aux_data_type

Enumerator
NI_FRAME_AUX_DATA_NONE 
NI_FRAME_AUX_DATA_A53_CC 
NI_FRAME_AUX_DATA_MASTERING_DISPLAY_METADATA 
NI_FRAME_AUX_DATA_CONTENT_LIGHT_LEVEL 
NI_FRAME_AUX_DATA_HDR_PLUS 
NI_FRAME_AUX_DATA_REGIONS_OF_INTEREST 
NI_FRAME_AUX_DATA_UDU_SEI 
NI_FRAME_AUX_DATA_CUSTOM_SEI 
NI_FRAME_AUX_DATA_BITRATE 
NI_FRAME_AUX_DATA_MIN_MAX_QP 
NI_FRAME_AUX_DATA_LONG_TERM_REF 
NI_FRAME_AUX_DATA_VUI_INFO 

Definition at line 274 of file ni_device_api_logan.h.

◆ _ni_logan_param_change_flags

This is an enumeration for encoder parameter change.

Enumerator
NI_LOGAN_SET_CHANGE_PARAM_PPS 
NI_LOGAN_SET_CHANGE_PARAM_INTRA_PARAM 
NI_LOGAN_SET_CHANGE_PARAM_RC_TARGET_RATE 
NI_LOGAN_SET_CHANGE_PARAM_RC 
NI_LOGAN_SET_CHANGE_PARAM_RC_MIN_MAX_QP 
NI_LOGAN_SET_CHANGE_PARAM_RC_BIT_RATIO_LAYER 
NI_LOGAN_SET_CHANGE_PARAM_INDEPEND_SLICE 
NI_LOGAN_SET_CHANGE_PARAM_DEPEND_SLICE 
NI_LOGAN_SET_CHANGE_PARAM_RDO 
NI_LOGAN_SET_CHANGE_PARAM_NR 
NI_LOGAN_SET_CHANGE_PARAM_BG 
NI_LOGAN_SET_CHANGE_PARAM_CUSTOM_MD 
NI_LOGAN_SET_CHANGE_PARAM_CUSTOM_LAMBDA 
NI_LOGAN_SET_CHANGE_PARAM_RC2 
NI_LOGAN_SET_CHANGE_PARAM_VUI_HRD_PARAM 
NI_LOGAN_SET_CHANGE_PARAM_CRF 

Definition at line 463 of file ni_device_api_logan.h.

◆ _ni_logan_reconfig

This is an enumeration for encoder reconfiguration test settings.

Enumerator
LOGAN_XCODER_TEST_RECONF_OFF 
LOGAN_XCODER_TEST_RECONF_BR 
LOGAN_XCODER_TEST_RECONF_INTRAPRD 
LOGAN_XCODER_TEST_RECONF_VUI_HRD 
LOGAN_XCODER_TEST_RECONF_LONG_TERM_REF 
LOGAN_XCODER_TEST_RECONF_RC 
LOGAN_XCODER_TEST_RECONF_RC_MIN_MAX_QP 
LOGAN_XCODER_TEST_RECONF_CRF 

Definition at line 1103 of file ni_device_api_logan.h.

◆ _ni_logan_session_run_state

Session running state type.

Enumerator
LOGAN_SESSION_RUN_STATE_NORMAL 
LOGAN_SESSION_RUN_STATE_SEQ_CHANGE_DRAINING 
LOGAN_SESSION_RUN_STATE_RESETTING 
LOGAN_SESSION_RUN_STATE_QUEUED_FRAME_DRAINING 

Definition at line 760 of file ni_device_api_logan.h.

◆ ni_logan_h265_sei_user_data_type_t

Enumerator
NI_LOGAN_H265_USERDATA_FLAG_RESERVED_0 
NI_LOGAN_H265_USERDATA_FLAG_RESERVED_1 
NI_LOGAN_H265_USERDATA_FLAG_VUI 
NI_LOGAN_H265_USERDATA_FLAG_ALTERNATIVE_TRANSFER_CHARACTERISTICS 
NI_LOGAN_H265_USERDATA_FLAG_PIC_TIMING 
NI_LOGAN_H265_USERDATA_FLAG_ITU_T_T35_PRE 
NI_LOGAN_H265_USERDATA_FLAG_UNREGISTERED_PRE 
NI_LOGAN_H265_USERDATA_FLAG_ITU_T_T35_SUF 
NI_LOGAN_H265_USERDATA_FLAG_UNREGISTERED_SUF 
NI_LOGAN_H265_USERDATA_FLAG_RESERVED_9 
NI_LOGAN_H265_USERDATA_FLAG_MASTERING_COLOR_VOL 
NI_LOGAN_H265_USERDATA_FLAG_CHROMA_RESAMPLING_FILTER_HINT 
NI_LOGAN_H265_USERDATA_FLAG_KNEE_FUNCTION_INFO 
NI_LOGAN_H265_USERDATA_FLAG_TONE_MAPPING_INFO 
NI_LOGAN_H265_USER_DATA_FLAG_FILM_GRAIN_CHARACTERISTICS_INFO 
NI_LOGAN_H265_USER_DATA_FLAG_CONTENT_LIGHT_LEVEL_INFO 
NI_LOGAN_H265_USER_DATA_FLAG_COLOUR_REMAPPING_INFO 
NI_LOGAN_H265_USERDATA_FLAG_ITU_T_T35_PRE_1 
NI_LOGAN_H265_USERDATA_FLAG_ITU_T_T35_PRE_2 
NI_LOGAN_H265_USERDATA_FLAG_ITU_T_T35_SUF_1 
NI_LOGAN_H265_USERDATA_FLAG_ITU_T_T35_SUF_2 

Definition at line 191 of file ni_device_api_logan.h.

◆ ni_logan_pic_type_t

Enumerator
LOGAN_PIC_TYPE_I 
LOGAN_PIC_TYPE_P 

*< I picture

LOGAN_PIC_TYPE_B 

*< P picture

LOGAN_PIC_TYPE_FORCE_IDR 

*< B picture (except VC1)

LOGAN_PIC_TYPE_IDR 

*< force IDR frame when encoding

LOGAN_PIC_TYPE_CRA 

*< H.264/H.265 IDR picture

LOGAN_PIC_TYPE_MAX 

*< H.265 CRA picture

*< No Meaning

Definition at line 216 of file ni_device_api_logan.h.

◆ ni_logan_pix_fmt_t

Enumerator
NI_LOGAN_PIX_FMT_YUV420P 
NI_LOGAN_PIX_FMT_YUVJ420P 
NI_LOGAN_PIX_FMT_YUV420P10BE 
NI_LOGAN_PIX_FMT_YUV420P10LE 

Definition at line 228 of file ni_device_api_logan.h.

Function Documentation

◆ is_logan_fw_rev_higher()

LIB_API ni_logan_retcode_t is_logan_fw_rev_higher ( ni_logan_session_context_t p_ctx,
int  fw_api_fla,
int  fw_api_ver 
)

Check if logan firmware version is higher than expected api flavor and version.


Parameters
[in]p_ctxPointer to a caller allocated ni_logan_session_context_t struct
[in]fw_api_flaexpected firmware api flavor
[in]fw_api_verexpected firmware api version
Returns
on success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_FAILURE

Definition at line 5573 of file ni_device_api_logan.c.

◆ ni_logan_close_event()

LIB_API void ni_logan_close_event ( ni_event_handle_t  event_handle)

Closes event and releases resources.


Returns
NONE

Definition at line 323 of file ni_device_api_logan.c.

◆ ni_logan_create_event()

LIB_API ni_event_handle_t ni_logan_create_event ( void  )

Create event and returnes event handle if successful.


Returns
On success returns a event handle On failure returns NI_INVALID_EVENT_HANDLE

Definition at line 290 of file ni_device_api_logan.c.

◆ ni_logan_decode_buffer_free()

LIB_API ni_logan_retcode_t ni_logan_decode_buffer_free ( ni_logan_hwframe_surface_t surface,
ni_device_handle_t  device_handle,
ni_event_handle_t  event_handle 
)

POPULATE ME LATER.


Parameters
[in]p_packetPointer to a previously allocated ni_logan_packet_t struct
[in]device_handledevice handle
[in]event_handleevent handle
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM

POPULATE ME LATER.


Parameters
[in]surfaceStuct containing device and frame location to clear out
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM

Definition at line 5182 of file ni_device_api_logan.c.

◆ ni_logan_decoder_frame_buffer_alloc()

LIB_API ni_logan_retcode_t ni_logan_decoder_frame_buffer_alloc ( ni_logan_buf_pool_t p_pool,
ni_logan_frame_t p_frame,
int  alloc_mem,
int  video_width,
int  video_height,
int  alignment,
int  factor 
)

Allocate memory for decoder frame buffer based on provided parameters; the memory is retrieved from a buffer pool and will be returned to the same buffer pool by ni_logan_decoder_frame_buffer_free. Note: all attributes of ni_logan_frame_t will be set up except for memory and buffer, which rely on the pool being allocated; the pool will be allocated only after the frame resolution is known.


Parameters
[in]p_poolBuffer pool to get the memory from
[in]p_framePointer to a caller allocated ni_logan_frame_t struct
[in]alloc_memWhether to get memory from buffer pool
[in]video_widthWidth of the video frame
[in]video_heightHeight of the video frame
[in]alignmentAllignment requirement
[in]factor1 for 8 bits/pixel format, 2 for 10 bits/pixel
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_MEM_ALOC

Definition at line 1950 of file ni_device_api_logan.c.

◆ ni_logan_decoder_frame_buffer_free()

LIB_API ni_logan_retcode_t ni_logan_decoder_frame_buffer_free ( ni_logan_frame_t p_frame)

Free decoder frame buffer that was previously allocated with ni_logan_decoder_frame_buffer_alloc, returning memory to a buffer pool.


Parameters
[in]p_framePointer to a previously allocated ni_logan_frame_t struct
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM

Definition at line 2243 of file ni_device_api_logan.c.

◆ ni_logan_decoder_frame_buffer_pool_return_buf()

LIB_API void ni_logan_decoder_frame_buffer_pool_return_buf ( ni_logan_buf_t buf,
ni_logan_buf_pool_t p_buffer_pool 
)

Return a memory buffer to memory buffer pool, for a decoder frame.


Parameters
[in]bufBuffer to be returned.
[in]p_buffer_poolBuffer pool to return buffer to.
Returns
None

Return a memory buffer to memory buffer pool, for a decoder frame.


Parameters
[in]bufBuffer to be returned.
[in]p_buffer_poolBuffer pool to return buffer to.
Returns
None

Definition at line 2293 of file ni_device_api_logan.c.

◆ ni_logan_decoder_init_default_params()

LIB_API ni_logan_retcode_t ni_logan_decoder_init_default_params ( ni_logan_decoder_params_t p_param,
int  fps_num,
int  fps_denom,
long  bit_rate,
int  width,
int  height 
)

Initialize default decoder parameters.


Parameters
[out]paramPointer to a user allocated ni_logan_decoder_params_t to initialize to default parameters
[in]fps_numFrames per second
[in]fps_denomFPS denomination
[in]bit_ratebit rate
[in]widthwidth
[in]heightheight
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_FAILURE NI_LOGAN_RETCODE_INVALID_PARAM

Definition at line 2696 of file ni_device_api_logan.c.

◆ ni_logan_decoder_params_set_value()

LIB_API ni_logan_retcode_t ni_logan_decoder_params_set_value ( ni_logan_decoder_params_t p_params,
const char *  name,
char *  value 
)

Set value referenced by name in decoder parameters structure.


Parameters
[in]p_paramsPointer to a user allocated ni_logan_decoder_params_t to find and set a particular parameter
[in]nameString represented parameter name to search
[in]valueParameter value to set
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_FAILURE NI_LOGAN_RETCODE_INVALID_PARAM

Definition at line 2840 of file ni_device_api_logan.c.

◆ ni_logan_decoder_session_send_flush()

LIB_API ni_logan_retcode_t ni_logan_decoder_session_send_flush ( ni_logan_session_context_t p_ctx)

Sends a flush command to the decoder ni_logan_device_session_open()


Parameters
[in]p_ctxPointer to a caller allocated ni_logan_session_context_t struct
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED NI_LOGAN_RETCODE_ERROR_INVALID_SESSION

Definition at line 1368 of file ni_device_api_logan.c.

◆ ni_logan_device_alloc_frame()

LIB_API ni_logan_retcode_t ni_logan_device_alloc_frame ( ni_logan_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,
ni_logan_device_type_t  device_type 
)

Allocate a frame on the device based on provided parameters.


Parameters
[in]p_ctxpointer to session context
[in]widthwidth, in pixels
[in]heightheight, in pixels
[in]formatpixel format
[in]optionsoptions flags
[in]rectangle_widthclipping rectangle width
[in]rectangle_heightclipping rectangle height
[in]rectangle_xhorizontal position of clipping rectangle
[in]rectangle_yvertical position of clipping rectangle
[in]rgba_colorRGBA fill colour (for padding only)
[in]frame_indexframe index (only applicable for hw frame)
[in]device_typeonly NI_LOGAN_DEVICE_TYPE_SCALER supported now
Returns
NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_INVALID_SESSION NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED NI_LOGAN_RETCODE_ERROR_MEM_ALOC

◆ ni_logan_device_capability_query()

LIB_API ni_logan_retcode_t ni_logan_device_capability_query ( ni_device_handle_t  device_handle,
ni_logan_device_capability_t p_cap 
)

Queries device and returns device capability structure.


Parameters
[in]device_handleDevice handle obtained by calling ni_logan_device_open()
[in]p_capPointer to a caller allocated ni_logan_device_capability_t struct
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_MEM_ALOC NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED

Definition at line 568 of file ni_device_api_logan.c.

◆ ni_logan_device_close()

LIB_API void ni_logan_device_close ( ni_device_handle_t  device_handle)

Closes device and releases resources.


Parameters
[in]device_handleDevice handle obtained by calling ni_logan_device_open()
Returns
NONE

Definition at line 502 of file ni_device_api_logan.c.

◆ ni_logan_device_dec_session_flush()

LIB_API ni_logan_retcode_t ni_logan_device_dec_session_flush ( ni_logan_session_context_t p_ctx)

Flush a decoder session to get ready to continue decoding. Note: this is different from ni_logan_device_session_flush in that it closes the current decode session and opens a new one for continuous decoding.


Parameters
[in]p_ctxPointer to a caller allocated ni_logan_session_context_t struct
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED NI_LOGAN_RETCODE_ERROR_INVALID_SESSION

Flush a decoder session to get ready to continue decoding. Note: this is different from ni_logan_device_session_flush in that it closes the current decode session and opens a new one for continuous decoding.


Parameters
[in]p_ctxPointer to a caller allocated ni_logan_session_context_t struct
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED NI_LOGAN_RETCODE_ERROR_INVALID_SESSION

Definition at line 1460 of file ni_device_api_logan.c.

◆ ni_logan_device_dec_session_save_hdrs()

LIB_API ni_logan_retcode_t ni_logan_device_dec_session_save_hdrs ( ni_logan_session_context_t p_ctx,
uint8_t *  hdr_data,
uint8_t  hdr_size 
)

Save a stream's headers in a decoder session that can be used later for continuous decoding from the same source.


Parameters
[in]p_ctxPointer to a caller allocated ni_logan_session_context_t struct
[in]hdr_dataPointer to header data
[in]hdr_sizeSize of header data in bytes
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED NI_LOGAN_RETCODE_ERROR_INVALID_SESSION

Definition at line 1403 of file ni_device_api_logan.c.

◆ ni_logan_device_handle_map_SN()

LIB_API ni_logan_retcode_t ni_logan_device_handle_map_SN ( ni_device_handle_t  device_handle,
ni_logan_serial_num_t p_serial_num 
)

Queries device Serial number.


Parameters
[in]device_handleDevice handle used to backtrace serial Num
[in]p_serial_numPointer to a caller allocated ni_logan_serial_num_t struct
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_MEM_ALOC NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED

Definition at line 4409 of file ni_device_api_logan.c.

◆ ni_logan_device_open()

LIB_API ni_device_handle_t ni_logan_device_open ( const char *  p_dev,
uint32_t *  p_max_io_size_out 
)

Opens device and returnes device device_handle if successful.


Parameters
[in]p_devDevice name represented as c string. ex: "/dev/nvme0"
[out]p_max_io_size_outMaximum IO Transfer size supported
Returns
On success returns a device device_handle On failure returns NI_INVALID_DEVICE_HANDLE

Definition at line 385 of file ni_device_api_logan.c.

◆ ni_logan_device_session_acquire()

int ni_logan_device_session_acquire ( ni_logan_session_context_t p_ctx,
ni_logan_frame_t p_frame 
)

Acquire a P2P frame buffer from the hwupload session.


Parameters
[in]p_ctxPointer to a caller allocated ni_session_context_t struct
[out]p_framePointer to a caller allocated hw frame
Returns
On success NI_RETCODE_SUCCESS On failure NI_RETCODE_INVALID_PARAM NI_RETCODE_ERROR_NVME_CMD_FAILED NI_RETCODE_ERROR_INVALID_SESSION

Definition at line 4862 of file ni_device_api_logan.c.

◆ ni_logan_device_session_close()

LIB_API ni_logan_retcode_t ni_logan_device_session_close ( ni_logan_session_context_t p_ctx,
int  eos_recieved,
ni_logan_device_type_t  device_type 
)

Closes device session that was previously opened by calling ni_logan_device_session_open() If device_type is NI_LOGAN_DEVICE_TYPE_DECODER closes decoding session If device_type is NI_LOGAN_DEVICE_TYPE_EECODER closes encoding session.


Parameters
[in]p_ctxPointer to a caller allocated ni_logan_session_context_t struct
[in]eos_recievedFlag indicating if End Of Stream indicator was recieved
[in]device_typeNI_LOGAN_DEVICE_TYPE_DECODER or NI_LOGAN_DEVICE_TYPE_ENCODER
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED NI_LOGAN_RETCODE_ERROR_INVALID_SESSION

Definition at line 1196 of file ni_device_api_logan.c.

◆ ni_logan_device_session_context_alloc_init()

LIB_API ni_logan_session_context_t* ni_logan_device_session_context_alloc_init ( void  )

Allocate and initialize a new ni_logan_session_context_t struct.


Returns
On success returns a valid pointer to newly allocated context On failure returns NULL

Allocate and initialize a new ni_logan_session_context_t struct.


Returns
On success returns a valid pointer to newly allocated context On failure returns NULL

Definition at line 185 of file ni_device_api_logan.c.

◆ ni_logan_device_session_context_clear()

LIB_API void ni_logan_device_session_context_clear ( ni_logan_session_context_t p_ctx)

Clear already allocated session context to all zeros buffer.


Parameters
[in]p_ctxPointer to an already allocated ni_logan_session_context_t struct

Clear already allocated session context to all zeros buffer.


Parameters
[in]p_ctxPointer to an already allocated ni_logan_session_context_t struct

Definition at line 278 of file ni_device_api_logan.c.

◆ ni_logan_device_session_context_free()

LIB_API void ni_logan_device_session_context_free ( ni_logan_session_context_t p_ctx)

Frees previously allocated session context.


Parameters
[in]p_ctxPointer to an already allocated ni_logan_session_context_t struct

Definition at line 210 of file ni_device_api_logan.c.

◆ ni_logan_device_session_context_init()

LIB_API void ni_logan_device_session_context_init ( ni_logan_session_context_t p_ctx)

Initialize already allocated session context to a known state.


Parameters
[in]p_ctxPointer to an already allocated ni_logan_session_context_t struct

Definition at line 226 of file ni_device_api_logan.c.

◆ ni_logan_device_session_copy()

LIB_API ni_logan_retcode_t ni_logan_device_session_copy ( ni_logan_session_context_t src_p_ctx,
ni_logan_session_context_t dst_p_ctx 
)

Copies existing decoding session params for hw frame usage.


Parameters
[in]src_p_ctxPointer to a caller allocated source ni_logan_session_context_t struct
[in]dst_p_ctxPointer to a caller allocated destination ni_logan_session_context_t struct
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_MEM_ALOC NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED NI_LOGAN_RETCODE_ERROR_INVALID_SESSION

Definition at line 4478 of file ni_device_api_logan.c.

◆ ni_logan_device_session_flush()

LIB_API ni_logan_retcode_t ni_logan_device_session_flush ( ni_logan_session_context_t p_ctx,
ni_logan_device_type_t  device_type 
)

Sends a flush command to the device ni_logan_device_session_open() If device_type is NI_LOGAN_DEVICE_TYPE_DECODER sends flush command to decoder If device_type is NI_LOGAN_DEVICE_TYPE_EECODER sends flush command to decoder.


Parameters
[in]p_ctxPointer to a caller allocated ni_logan_session_context_t struct
[in]device_typeNI_LOGAN_DEVICE_TYPE_DECODER or NI_LOGAN_DEVICE_TYPE_ENCODER
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED NI_LOGAN_RETCODE_ERROR_INVALID_SESSION

Definition at line 1316 of file ni_device_api_logan.c.

◆ ni_logan_device_session_hwdl()

LIB_API int ni_logan_device_session_hwdl ( ni_logan_session_context_t p_ctx,
ni_logan_session_data_io_t p_data,
ni_logan_hwframe_surface_t hwdesc 
)

Reads data from hw descriptor from decoder output buffer.


Parameters
[in]p_dataPointer to a caller allocated ni_logan_session_data_io_t struct which contains either a ni_logan_frame_t data frame or ni_logan_packet_t data packet to send
[in]hwdescHW descriptor to find frame in XCODER
Returns
On success Total number of bytes read On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED NI_LOGAN_RETCODE_ERROR_INVALID_SESSION

Definition at line 4597 of file ni_device_api_logan.c.

◆ ni_logan_device_session_hwup()

LIB_API int ni_logan_device_session_hwup ( ni_logan_session_context_t p_ctx,
ni_logan_session_data_io_t p_src_data,
ni_logan_hwframe_surface_t hwdesc 
)

Writes data and reads back hw descriptor from decoder output buffer.


Parameters
[in]p_src_dataPointer to a caller allocated ni_logan_session_data_io_t struct which contains either a ni_logan_frame_t data frame or ni_logan_packet_t data packet to send
[in]hwdescHW descriptor to find frame in XCODER
Returns
On success Total number of bytes read On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED NI_LOGAN_RETCODE_ERROR_INVALID_SESSION

Definition at line 4650 of file ni_device_api_logan.c.

◆ ni_logan_device_session_init_framepool()

LIB_API int ni_logan_device_session_init_framepool ( ni_logan_session_context_t p_ctx,
uint32_t  pool_size,
uint32_t  p2p_pool 
)

Sends frame pool setup info to device.


Parameters
[in]p_ctxPointer to a caller allocated ni_logan_session_context_t struct
[in]p_dataPointer to a caller allocated ni_logan_session_data_io_t struct which contains either a ni_logan_frame_t data frame or ni_logan_packet_t data packet to send
Returns
On success Return code On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED NI_LOGAN_RETCODE_ERROR_INVALID_SESSION

Definition at line 5225 of file ni_device_api_logan.c.

◆ ni_logan_device_session_open()

LIB_API ni_logan_retcode_t ni_logan_device_session_open ( ni_logan_session_context_t p_ctx,
ni_logan_device_type_t  device_type 
)

Opens a new device session depending on the device_type parameter If device_type is NI_LOGAN_DEVICE_TYPE_DECODER opens decoding session If device_type is NI_LOGAN_DEVICE_TYPE_EECODER opens encoding session.


Parameters
[in]p_ctxPointer to a caller allocated ni_logan_session_context_t struct ni_logan_session_config_t struct
[in]device_typeNI_LOGAN_DEVICE_TYPE_DECODER or NI_LOGAN_DEVICE_TYPE_ENCODER
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_MEM_ALOC NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED NI_LOGAN_RETCODE_ERROR_INVALID_SESSION

Parameters
[in]p_ctxPointer to a caller allocated ni_logan_session_context_t struct
[in]p_configPointer to a caller allocated ni_logan_session_config_t struct
[in]device_typeNI_LOGAN_DEVICE_TYPE_DECODER or NI_LOGAN_DEVICE_TYPE_ENCODER
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_MEM_ALOC NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED NI_LOGAN_RETCODE_ERROR_INVALID_SESSION

resource management context

Definition at line 645 of file ni_device_api_logan.c.

◆ ni_logan_device_session_query()

LIB_API ni_logan_retcode_t ni_logan_device_session_query ( ni_logan_session_context_t p_ctx,
ni_logan_device_type_t  device_type 
)

Query session data from the device - Currently not implemented If device_type is NI_LOGAN_DEVICE_TYPE_DECODER query session data from decoder If device_type is NI_LOGAN_DEVICE_TYPE_EECODER query session data from encoder.


Parameters
[in]p_ctxPointer to a caller allocated ni_logan_session_context_t struct
[in]device_typeNI_LOGAN_DEVICE_TYPE_DECODER or NI_LOGAN_DEVICE_TYPE_ENCODER
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED NI_LOGAN_RETCODE_ERROR_INVALID_SESSION

Definition at line 1734 of file ni_device_api_logan.c.

◆ ni_logan_device_session_read()

LIB_API int ni_logan_device_session_read ( ni_logan_session_context_t p_ctx,
ni_logan_session_data_io_t p_data,
ni_logan_device_type_t  device_type 
)

Reads data the device If device_type is NI_LOGAN_DEVICE_TYPE_DECODER reads data packet from decoder If device_type is NI_LOGAN_DEVICE_TYPE_EECODER reads data frame from encoder.


Parameters
[in]p_ctxPointer to a caller allocated ni_logan_session_context_t struct
[in]p_dataPointer to a caller allocated ni_logan_session_data_io_t struct which contains either a ni_logan_frame_t data frame or ni_logan_packet_t data packet to send
[in]device_typeNI_LOGAN_DEVICE_TYPE_DECODER or NI_LOGAN_DEVICE_TYPE_ENCODER If NI_LOGAN_DEVICE_TYPE_DECODER is specified, data that was read will be placed into ni_logan_frame_t struct inside the p_data pointer If NI_LOGAN_DEVICE_TYPE_ENCODER is specified, data that was read will be placed into ni_logan_packet_t struct inside the p_data pointer
Returns
On success Total number of bytes read On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED NI_LOGAN_RETCODE_ERROR_INVALID_SESSION

Definition at line 1616 of file ni_device_api_logan.c.

◆ ni_logan_device_session_read_hwdesc()

LIB_API int ni_logan_device_session_read_hwdesc ( ni_logan_session_context_t p_ctx,
ni_logan_session_data_io_t p_data 
)

Reads data from the device device_type should be NI_LOGAN_DEVICE_TYPE_DECODER, and reads data hwdesc from decoder when hw transcoding.


Parameters
[in]p_ctxPointer to a caller allocated ni_logan_session_context_t struct
[in]p_dataPointer to a caller allocated ni_logan_session_data_io_t struct which contains either a ni_logan_frame_t data frame or ni_logan_packet_t data packet to send
Returns
On success Total number of bytes read On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED NI_LOGAN_RETCODE_ERROR_INVALID_SESSION

Definition at line 4510 of file ni_device_api_logan.c.

◆ ni_logan_device_session_write()

LIB_API int ni_logan_device_session_write ( ni_logan_session_context_t p_ctx,
ni_logan_session_data_io_t p_data,
ni_logan_device_type_t  device_type 
)

Sends data the device If device_type is NI_LOGAN_DEVICE_TYPE_DECODER sends data packet to decoder If device_type is NI_LOGAN_DEVICE_TYPE_EECODER sends data frame to encoder.


Parameters
[in]p_ctxPointer to a caller allocated ni_logan_session_context_t struct
[in]p_dataPointer to a caller allocated ni_logan_session_data_io_t struct which contains either a ni_logan_frame_t data frame or ni_logan_packet_t data packet to send
[in]device_typeNI_LOGAN_DEVICE_TYPE_DECODER or NI_LOGAN_DEVICE_TYPE_ENCODER If NI_LOGAN_DEVICE_TYPE_DECODER is specified, it is expected that the ni_logan_packet_t struct inside the p_data pointer contains data to send. If NI_LOGAN_DEVICE_TYPE_ENCODER is specified, it is expected that the ni_logan_frame_t struct inside the p_data pointer contains data to send.
Returns
On success Total number of bytes written On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_NVME_CMD_FAILED NI_LOGAN_RETCODE_ERROR_INVALID_SESSION

Definition at line 1539 of file ni_device_api_logan.c.

◆ ni_logan_encoder_frame_buffer_alloc()

LIB_API ni_logan_retcode_t ni_logan_encoder_frame_buffer_alloc ( ni_logan_frame_t p_frame,
int  video_width,
int  video_height,
int  linesize[],
int  alignment,
int  extra_len,
int  factor 
)

Allocate memory for the frame buffer for encoding based on given parameters, taking into account pic line size and extra data. Applicable to YUV420p AVFrame only. 8 or 10 bit/pixel. Cb/Cr size matches that of Y.


Parameters
[in]p_framePointer to a caller allocated ni_logan_frame_t struct
[in]video_widthWidth of the video frame
[in]video_heightHeight of the video frame
[in]linesizePicture line size
[in]alignmentAllignment requirement
[in]extra_lenExtra data size (incl. meta data)
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_MEM_ALOC

Definition at line 2071 of file ni_device_api_logan.c.

◆ ni_logan_encoder_gop_params_set_value()

LIB_API ni_logan_retcode_t ni_logan_encoder_gop_params_set_value ( ni_logan_encoder_params_t p_params,
const char *  name,
const char *  value 
)

Set gop parameter value referenced by name in encoder parameters structure.


Parameters
[in]p_paramsPointer to a user allocated ni_logan_encoder_params_t to find and set a particular parameter
[in]nameString represented parameter name to search
[in]valueParameter value to set
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_FAILURE NI_LOGAN_RETCODE_INVALID_PARAM

Set gop parameter value referenced by name in encoder parameters structure.


Parameters
[in]p_paramsPointer to a user allocated ni_logan_encoder_params_t to find and set a particular parameter
[in]nameString represented parameter name to search
[in]valueParameter value to set
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_FAILURE NI_LOGAN_RETCODE_INVALID_PARAM

Definition at line 3804 of file ni_device_api_logan.c.

◆ ni_logan_encoder_init_default_params()

LIB_API ni_logan_retcode_t ni_logan_encoder_init_default_params ( ni_logan_encoder_params_t p_param,
int  fps_num,
int  fps_denom,
long  bit_rate,
int  width,
int  height 
)

Initialize default encoder parameters.


Parameters
[out]paramPointer to a user allocated ni_logan_encoder_params_t to initialize to default parameters
[in]fps_numFrames per second
[in]fps_denomFPS denomination
[in]bit_ratebit rate
[in]widthwidth
[in]heightheight
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_FAILURE NI_LOGAN_RETCODE_INVALID_PARAM

Definition at line 2518 of file ni_device_api_logan.c.

◆ ni_logan_encoder_params_check()

LIB_API ni_logan_retcode_t ni_logan_encoder_params_check ( ni_logan_encoder_params_t p_params,
ni_logan_codec_format_t  codec 
)

Validate relationship of some params in encoder parameters structure.


Parameters
[in]p_paramsPointer to a user allocated ni_logan_encoder_params_t
[in]codecencoding codec
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_FAILURE NI_LOGAN_RETCODE_PARAM_ERROR_OOR and other error rc

Definition at line 3747 of file ni_device_api_logan.c.

◆ ni_logan_encoder_params_set_value()

LIB_API ni_logan_retcode_t ni_logan_encoder_params_set_value ( ni_logan_encoder_params_t p_params,
const char *  name,
const char *  value,
ni_logan_session_context_t ctx 
)

Set value referenced by name in encoder parameters structure.


Parameters
[in]p_paramsPointer to a user allocated ni_logan_encoder_params_t to find and set a particular parameter
[in]nameString represented parameter name to search
[in]valueParameter value to set
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_FAILURE NI_LOGAN_RETCODE_INVALID_PARAM

Definition at line 3069 of file ni_device_api_logan.c.

◆ ni_logan_encoder_set_input_frame_format()

LIB_API ni_logan_retcode_t ni_logan_encoder_set_input_frame_format ( ni_logan_session_context_t p_enc_ctx,
ni_logan_encoder_params_t p_enc_params,
int  width,
int  height,
int  bit_depth,
int  src_endian 
)

Set the incoming frame format for the encoder.


Parameters
[in]p_enc_ctxpointer to encoder context [in] p_enc_params pointer to encoder parameters [in] width input width [in] height input height [in] bit_depth 8 for 8-bit YUV, 10 for 10-bit YUV [in] src_endian NI_FRAME_LITTLE_ENDIAN or NI_FRAME_BIG_ENDIAN
Returns
on success NI_RETCODE_SUCCESS

on failure NI_RETCODE_INVALID_PARAM

Definition at line 5109 of file ni_device_api_logan.c.

◆ ni_logan_err2str()

LIB_API const char* ni_logan_err2str ( int  err)

Convert error numver into error messages.


Returns
the string of error message

Definition at line 164 of file ni_device_api_logan.c.

◆ ni_logan_frame_buffer_alloc()

LIB_API ni_logan_retcode_t ni_logan_frame_buffer_alloc ( ni_logan_frame_t p_frame,
int  video_width,
int  video_height,
int  alignment,
int  metadata_flag,
int  factor,
int  hw_frame_count 
)

Allocate preliminary memory for the frame buffer for encoding based on provided parameters. Applicable to YUV420 Planar pixel format only, 8 or 10 bit/pixel.


Parameters
[in]p_framePointer to a caller allocated ni_logan_frame_t struct
[in]video_widthWidth of the video frame
[in]video_heightHeight of the video frame
[in]alignmentAllignment requirement
[in]metadata_flagFlag indicating if space for additional metadata should be allocated
[in]factor1 for 8 bits/pixel format, 2 for 10 bits/pixel
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_MEM_ALOC

Definition at line 1792 of file ni_device_api_logan.c.

◆ ni_logan_frame_buffer_alloc_hwenc()

LIB_API ni_logan_retcode_t ni_logan_frame_buffer_alloc_hwenc ( ni_logan_frame_t p_frame,
int  video_width,
int  video_height,
int  extra_len 
)

Allocate memory for the frame buffer based on provided parameters taking into account pic line size and extra data. Applicable to YUV420p AVFrame only. Cb/Cr size matches that of Y.


Parameters
[in]p_framePointer to a caller allocated ni_logan_frame_t struct
[in]video_widthWidth of the video frame
[in]video_heightHeight of the video frame
[in]linesizePicture line size
[in]alignmentAllignment requirement
[in]extra_lenExtra data size (incl. meta data)
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_MEM_ALOC

Allocate memory for the frame buffer based on provided parameters taking into account pic line size and extra data. Applicable to YUV420p AVFrame only. Cb/Cr size matches that of Y.


Parameters
[in]p_framePointer to a caller allocated ni_logan_frame_t struct
[in]video_widthWidth of the video frame
[in]video_heightHeight of the video frame
[in]linesizePicture line size
[in]alignmentAllignment requirement
[in]extra_lenExtra data size (incl. meta data)
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_MEM_ALOC

Definition at line 4696 of file ni_device_api_logan.c.

◆ ni_logan_frame_buffer_alloc_v4()

LIB_API ni_logan_retcode_t ni_logan_frame_buffer_alloc_v4 ( ni_logan_frame_t p_frame,
int  pixel_format,
int  video_width,
int  video_height,
int  linesize[],
int  alignment,
int  extra_len 
)

Allocate memory for the frame buffer based on provided parameters taking into account width, height, format, stride, alignment, and extra data.


Parameters
[in]p_framePointer to caller allocated ni_logan_frame_t
[in]pixel_formatpixel format
[in]video_widthwidth, in pixels
[in]video_heightheight, in pixels
[in]linesizehorizontal stride
[in]alignmentapply a 16 pixel height alignment (T408 only)
[in]extra_lenmeta data size
Returns
NI_LOGAN_RETCODE_SUCCESS NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_MEM_ALOC

Definition at line 5263 of file ni_device_api_logan.c.

◆ ni_logan_frame_buffer_free()

LIB_API ni_logan_retcode_t ni_logan_frame_buffer_free ( ni_logan_frame_t p_frame)

Free frame buffer that was previously allocated with either ni_logan_frame_buffer_alloc or ni_logan_encoder_frame_buffer_alloc.


Parameters
[in]p_framePointer to a previously allocated ni_logan_frame_t struct
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM

Definition at line 2196 of file ni_device_api_logan.c.

◆ ni_logan_frame_free_aux_data()

LIB_API void ni_logan_frame_free_aux_data ( ni_logan_frame_t frame,
ni_aux_data_type_t  type 
)

If auxiliary data of the given type exists in the frame, free it and remove it from the frame.


Parameters
[in/out]frame a frame from which the auxiliary data should be removed
[in]typetype of the auxiliary data to be removed
Returns
None

Definition at line 4354 of file ni_device_api_logan.c.

◆ ni_logan_frame_get_aux_data()

LIB_API ni_aux_data_t* ni_logan_frame_get_aux_data ( const ni_logan_frame_t frame,
ni_aux_data_type_t  type 
)

Retrieve from the frame auxiliary data of a given type if exists.


Parameters
[in]framea frame from which the auxiliary data should be retrieved
[in]typetype of the auxiliary data to be retrieved
Returns
a pointer to the aux data of a given type on success, NULL otherwise

Definition at line 4331 of file ni_device_api_logan.c.

◆ ni_logan_frame_new_aux_data()

LIB_API ni_aux_data_t* ni_logan_frame_new_aux_data ( ni_logan_frame_t frame,
ni_aux_data_type_t  type,
int  data_size 
)

Add a new auxiliary data to a frame.


Parameters
[in/out]frame a frame to which the auxiliary data should be added
[in]typetype of the added auxiliary data
[in]data_sizesize of the added auxiliary data
Returns
a pointer to the newly added aux data on success, NULL otherwise

Definition at line 4269 of file ni_device_api_logan.c.

◆ ni_logan_frame_new_aux_data_from_raw_data()

LIB_API ni_aux_data_t* ni_logan_frame_new_aux_data_from_raw_data ( ni_logan_frame_t frame,
ni_aux_data_type_t  type,
const uint8_t *  raw_data,
int  data_size 
)

Add a new auxiliary data to a frame and copy in the raw data.


Parameters
[in/out]frame a frame to which the auxiliary data should be added
[in]typetype of the added auxiliary data
[in]raw_datathe raw data of the aux data
[in]data_sizesize of the added auxiliary data
Returns
a pointer to the newly added aux data on success, NULL otherwise

Definition at line 4310 of file ni_device_api_logan.c.

◆ ni_logan_frame_wipe_aux_data()

LIB_API void ni_logan_frame_wipe_aux_data ( ni_logan_frame_t frame)

Free and remove all auxiliary data from the frame.


Parameters
[in/out]frame a frame from which the auxiliary data should be removed
Returns
None

Definition at line 4382 of file ni_device_api_logan.c.

◆ ni_logan_frame_zerocopy_buffer_alloc()

LIB_API ni_logan_retcode_t ni_logan_frame_zerocopy_buffer_alloc ( ni_logan_frame_t p_frame,
int  video_width,
int  video_height,
int  linesize[],
int  extra_len,
int  factor,
uint8_t *  buffer[] 
)

Allocate memory for the frame buffer for encoding based on given parameters, taking into account pic line size and extra data. Applicable to YUV420p AVFrame only. 8 or 10 bit/pixel. Cb/Cr size matches that of Y.


Parameters
[in]p_framePointer to a caller allocated ni_logan_frame_t struct
[in]video_widthWidth of the video frame
[in]video_heightHeight of the video frame
[in]linesizePicture line size
[in]extra_lenExtra data size (incl. meta data)
[in]buffer[]Buffer address of video frame.
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_MEM_ALOC

Allocate memory for the frame buffer for encoding based on given parameters, taking into account pic line size and extra data. Applicable to YUV420p AVFrame only. 8 or 10 bit/pixel. Cb/Cr size matches that of Y.


Parameters
[in]p_framePointer to a caller allocated ni_logan_frame_t struct
[in]video_widthWidth of the video frame
[in]video_heightHeight of the video frame
[in]linesizePicture line size
[in]extra_lenExtra data size (incl. meta data)
[in]buffer[]Buffer address of video frame.
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_MEM_ALOC

Definition at line 5423 of file ni_device_api_logan.c.

◆ ni_logan_frame_zerocopy_check()

LIB_API ni_logan_retcode_t ni_logan_frame_zerocopy_check ( const int  width,
const int  height,
const int  linesize[],
const int  dst_stride[],
const int  src_height[],
const int  dst_height[],
const int  bit_depth_factor,
const uint8_t *  data[] 
)

Check if incoming frame is encoder zero copy compatible or not.


Parameters
[in]widthwidth of encoder frame.
[in]heightheight of encoder frame.
[in]linesizelinesizes (pointer to array).
[in]dst_stridedst_stride (produced by ni_logan_get_hw_yuv420p_dim).
[in]src_heightsrc height of every planar.
[in]dst_heightdst_height_aligned(produced by ni_logan_get_hw_yuv420p_dim).
[in]bit_depth_factorbit_depth of frame.
[in]dataCPU address of frame planar.
Returns
on success NI_LOGAN_RETCODE_SUCCESS

on failure NI_LOGAN_RETCODE_FAILURE

Definition at line 5535 of file ni_device_api_logan.c.

◆ ni_logan_get_num_ref_frame_of_gop_structure()

LIB_API int ni_logan_get_num_ref_frame_of_gop_structure ( ni_logan_encoder_params_t p_params)

Get GOP's number of reference frames.


Parameters
[in]p_paramsPointer to a user allocated ni_logan_encoder_params_t
Returns
number of reference frames of the GOP

Definition at line 4215 of file ni_device_api_logan.c.

◆ ni_logan_get_num_reorder_of_gop_structure()

LIB_API int ni_logan_get_num_reorder_of_gop_structure ( ni_logan_encoder_params_t p_params)

Get GOP's max number of reorder frames.


Parameters
[in]p_paramsPointer to a user allocated ni_logan_encoder_params_t
Returns
max number of reorder frames of the GOP

Parameters
[in]p_paramsPointer to a user allocated ni_logan_encoder_params_t
Returns
max number of reorder frames of the GOP, -1 on error

Definition at line 4156 of file ni_device_api_logan.c.

◆ ni_logan_packet_buffer_alloc()

LIB_API ni_logan_retcode_t ni_logan_packet_buffer_alloc ( ni_logan_packet_t p_packet,
int  packet_size 
)

Allocate memory for the packet buffer based on provided packet size.


Parameters
[in]p_packetPointer to a caller allocated ni_logan_packet_t struct
[in]packet_sizeRequired allocation size
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM NI_LOGAN_RETCODE_ERROR_MEM_ALOC

Definition at line 2311 of file ni_device_api_logan.c.

◆ ni_logan_packet_buffer_free()

LIB_API ni_logan_retcode_t ni_logan_packet_buffer_free ( ni_logan_packet_t p_packet)

Free packet buffer that was previously allocated with either ni_logan_packet_buffer_alloc.


Parameters
[in]p_packetPointer to a previously allocated ni_logan_packet_t struct
Returns
On success NI_LOGAN_RETCODE_SUCCESS On failure NI_LOGAN_RETCODE_INVALID_PARAM

Definition at line 2395 of file ni_device_api_logan.c.

◆ ni_logan_packet_copy()

LIB_API int ni_logan_packet_copy ( void *  p_destination,
const void *const  p_source,
int  cur_size,
void *  p_leftover,
int *  p_prev_size 
)

Copy video packet accounting for allighment.


Parameters
[in]p_destinationDestination to where to copy to
[in]p_sourceSource from where to copy from
[in]cur_sizecurrent size
[out]p_leftoverPointer to the data that was left over
[out]p_prev_sizeSize of the data leftover ??
Returns
On success Total number of bytes that were copied On failure NI_LOGAN_RETCODE_FAILURE

Definition at line 2441 of file ni_device_api_logan.c.

◆ ni_logan_uploader_frame_buffer_lock()

ni_logan_retcode_t ni_logan_uploader_frame_buffer_lock ( ni_logan_session_context_t p_upl_ctx,
ni_logan_frame_t p_frame 
)

Lock a hardware P2P frame prior to encoding.


Parameters
[in]p_upl_ctxpointer to caller allocated upload context [in] p_frame pointer to caller allocated hardware P2P frame
Returns
On success NI_RETCODE_SUCCESS On failure NI_RETCODE_FAILURE NI_RETCODE_INVALID_PARAM

Definition at line 4946 of file ni_device_api_logan.c.

◆ ni_logan_uploader_frame_buffer_unlock()

ni_logan_retcode_t ni_logan_uploader_frame_buffer_unlock ( ni_logan_session_context_t p_upl_ctx,
ni_logan_frame_t p_frame 
)

Unlock a hardware P2P frame after encoding.


Parameters
[in]p_upl_ctxpointer to caller allocated upload context [in] p_frame pointer to caller allocated hardware P2P frame
Returns
On success NI_RETCODE_SUCCESS On failure NI_RETCODE_FAILURE NI_RETCODE_INVALID_PARAM

Definition at line 5004 of file ni_device_api_logan.c.

◆ ni_logan_uploader_p2p_test_send()

LIB_API ni_logan_retcode_t ni_logan_uploader_p2p_test_send ( ni_logan_session_context_t p_upl_ctx,
uint8_t *  p_data,
uint32_t  len,
ni_logan_frame_t p_hwframe 
)

Special P2P test API call. Copies YUV data from the software frame to the hardware P2P frame on the Quadra device.


Parameters
[in]p_upl_ctxpointer to caller allocated uploader session context [in] p_swframe pointer to a caller allocated software frame [in] p_hwframe pointer to a caller allocated hardware frame
Returns
On success NI_RETCODE_SUCCESS On failure NI_RETCODE_FAILURE NI_RETCODE_INVALID_PARAM

Special P2P test API call. Copies YUV data from the software frame to the hardware P2P frame on the Quadra device.


Parameters
[in]p_upl_ctxpointer to caller allocated uploader session context [in] p_swframe pointer to a caller allocated software frame [in] p_hwframe pointer to a caller allocated hardware frame
Returns
On success NI_RETCODE_SUCCESS On failure NI_RETCODE_FAILURE NI_RETCODE_INVALID_PARAM

Definition at line 5052 of file ni_device_api_logan.c.

Variable Documentation

◆ g_logan_xcoder_log_names

LIB_API const char* const g_logan_xcoder_log_names[NI_LOGAN_XCODER_LOG_NAMES_ARRAY_LEN]
extern

Definition at line 65 of file ni_device_api_logan.c.

◆ g_logan_xcoder_preset_names

LIB_API const char* const g_logan_xcoder_preset_names[NI_LOGAN_XCODER_PRESET_NAMES_ARRAY_LEN]
extern

Definition at line 61 of file ni_device_api_logan.c.