32 static int g_map_preset_to_gopsize[10] = {-1, 1, 1, 1, 2, 4, 4, 4, 8, 1};
34 #define NI_NUM_PIXEL_ASPECT_RATIO 17
421 #define NI_LOGAN_NAL_VPS_BIT (0x01)
422 #define NI_LOGAN_NAL_SPS_BIT (0x01<<1)
423 #define NI_LOGAN_NAL_PPS_BIT (0x01<<2)
424 #define NI_LOGAN_GENERATE_ALL_NAL_HEADER_BIT (0x01<<3)
573 int video_full_range_flag,
679 int should_send_sei_with_frame,
706 const uint8_t *mdcv_data,
707 const uint8_t *cll_data,
708 const uint8_t *cc_data,
709 const uint8_t *udu_data,
710 const uint8_t *hdrp_data);
LIB_API void ni_logan_enc_prep_aux_data(ni_logan_session_context_t *p_enc_ctx, ni_logan_frame_t *p_enc_frame, ni_logan_frame_t *p_dec_frame, ni_logan_codec_format_t codec_format, int should_send_sei_with_frame, uint8_t *mdcv_data, uint8_t *cll_data, uint8_t *cc_data, uint8_t *udu_data, uint8_t *hdrp_data)
Prepare auxiliary data that should be sent together with this frame to encoder based on the auxiliary...
_ni_color_transfer_characteristic
@ NI_COL_TRC_IEC61966_2_4
@ NI_COL_TRC_IEC61966_2_1
@ NI_COL_TRC_SMPTEST428_1
@ NI_COL_TRC_ARIB_STD_B67
enum _ni_logan_hevc_nalu_type ni_logan_hevc_nalu_type_t
enum _ni_color_primaries ni_color_primaries_t
LIB_API int ni_logan_detect_custom_sei(const uint8_t *data, int size, ni_logan_session_context_t *p_api_ctx, ni_logan_decoder_params_t *p_api_param, ni_logan_packet_t *p_packet)
detect custom SEI payload data in Packet data, custom SEI has two meanings: a. the SEI type is not in...
@ NI_COL_SPC_CHROMA_DERIVED_CL
@ NI_COL_SPC_CHROMA_DERIVED_NCL
LIB_API uint32_t ni_logan_enc_buffering_custom_sei(void *p_data, ni_logan_session_context_t *p_ctx, uint32_t index)
Buffered customer sei.
@ NI_COL_PRI_SMPTEST428_1
LIB_API void ni_logan_enc_reconfig_vfr(ni_logan_session_context_t *p_session_ctx, ni_logan_encoder_params_t *p_encoder_params, ni_logan_frame_t *ni_frame, int64_t pts, uint32_t timebase)
Fill reconfig vfr.
@ NI_LOGAN_HEVC_NAL_TRAIL_R
@ NI_LOGAN_HEVC_NAL_RADL_R
@ NI_LOGAN_HEVC_NAL_UNSPEC60
@ NI_LOGAN_HEVC_NAL_RSV_VCL30
@ NI_LOGAN_HEVC_NAL_EOB_NUT
@ NI_LOGAN_HEVC_NAL_VCL_R15
@ NI_LOGAN_HEVC_NAL_UNSPEC48
@ NI_LOGAN_HEVC_NAL_RSV_NVCL47
@ NI_LOGAN_HEVC_NAL_STSA_N
@ NI_LOGAN_HEVC_NAL_UNSPEC50
@ NI_LOGAN_HEVC_NAL_VCL_R11
@ NI_LOGAN_HEVC_NAL_UNSPEC59
@ NI_LOGAN_HEVC_NAL_IDR_W_RADL
@ NI_LOGAN_HEVC_NAL_RSV_VCL25
@ NI_LOGAN_HEVC_NAL_RSV_NVCL44
@ NI_LOGAN_HEVC_NAL_VCL_N12
@ NI_LOGAN_HEVC_NAL_RSV_NVCL41
@ NI_LOGAN_HEVC_NAL_RSV_VCL24
@ NI_LOGAN_HEVC_NAL_TRAIL_N
@ NI_LOGAN_HEVC_NAL_UNSPEC54
@ NI_LOGAN_HEVC_NAL_UNSPEC51
@ NI_LOGAN_HEVC_NAL_RSV_NVCL43
@ NI_LOGAN_HEVC_NAL_VCL_R13
@ NI_LOGAN_HEVC_NAL_RSV_VCL31
@ NI_LOGAN_HEVC_NAL_RSV_VCL26
@ NI_LOGAN_HEVC_NAL_RSV_NVCL42
@ NI_LOGAN_HEVC_NAL_RSV_VCL29
@ NI_LOGAN_HEVC_NAL_SEI_SUFFIX
@ NI_LOGAN_HEVC_NAL_RSV_VCL28
@ NI_LOGAN_HEVC_NAL_BLA_N_LP
@ NI_LOGAN_HEVC_NAL_STSA_R
@ NI_LOGAN_HEVC_NAL_CRA_NUT
@ NI_LOGAN_HEVC_NAL_EOS_NUT
@ NI_LOGAN_HEVC_NAL_RSV_NVCL45
@ NI_LOGAN_HEVC_NAL_RASL_N
@ NI_LOGAN_HEVC_NAL_RSV_IRAP_VCL22
@ NI_LOGAN_HEVC_NAL_UNSPEC55
@ NI_LOGAN_HEVC_NAL_UNSPEC52
@ NI_LOGAN_HEVC_NAL_VCL_N14
@ NI_LOGAN_HEVC_NAL_RSV_IRAP_VCL23
@ NI_LOGAN_HEVC_NAL_TSA_N
@ NI_LOGAN_HEVC_NAL_RSV_NVCL46
@ NI_LOGAN_HEVC_NAL_UNSPEC56
@ NI_LOGAN_HEVC_NAL_FD_NUT
@ NI_LOGAN_HEVC_NAL_IDR_N_LP
@ NI_LOGAN_HEVC_NAL_UNSPEC61
@ NI_LOGAN_HEVC_NAL_UNSPEC49
@ NI_LOGAN_HEVC_NAL_RSV_VCL27
@ NI_LOGAN_HEVC_NAL_TSA_R
@ NI_LOGAN_HEVC_NAL_BLA_W_RADL
@ NI_LOGAN_HEVC_NAL_BLA_W_LP
@ NI_LOGAN_HEVC_NAL_UNSPEC63
@ NI_LOGAN_HEVC_NAL_VCL_N10
@ NI_LOGAN_HEVC_NAL_UNSPEC58
@ NI_LOGAN_HEVC_NAL_UNSPEC53
@ NI_LOGAN_HEVC_NAL_SEI_PREFIX
@ NI_LOGAN_HEVC_NAL_RASL_R
@ NI_LOGAN_HEVC_NAL_RADL_N
@ NI_LOGAN_HEVC_NAL_UNSPEC57
@ NI_LOGAN_HEVC_NAL_UNSPEC62
enum _ni_color_transfer_characteristic ni_color_transfer_characteristic_t
#define NI_NUM_PIXEL_ASPECT_RATIO
LIB_API int ni_logan_enc_fill_reconfig_vui(ni_logan_encoder_params_t *p_param, ni_logan_session_context_t *p_ctx, ni_logan_frame_t *p_api_fme, int reconfigCount, ni_aux_data_t *aux_data)
Fill reconfig vui.
LIB_API void ni_logan_enc_init_aux_params(ni_logan_session_data_io_t *p_api_fme)
Initialize auxiliary data that should be sent together with this frame to encoder based on the auxili...
enum _ni_hdr_plus_overlap_process_option ni_hdr_plus_overlap_process_option_t
struct _ni_hdr_plus_percentile ni_hdr_plus_percentile_t
struct _ni_hdr_plus_color_transform_params ni_hdr_plus_color_transform_params_t
LIB_API void ni_logan_reset_vui(ni_logan_encoder_params_t *p_param, ni_aux_data_t *aux_data, ni_logan_codec_format_t codec_format)
Reset vui info from decoder.
LIB_API void ni_logan_enc_copy_aux_data(ni_logan_session_context_t *p_enc_ctx, ni_logan_frame_t *p_enc_frame, ni_logan_frame_t *p_dec_frame, ni_logan_codec_format_t codec_format, const uint8_t *mdcv_data, const uint8_t *cll_data, const uint8_t *cc_data, const uint8_t *udu_data, const uint8_t *hdrp_data)
Copy auxiliary data that should be sent together with this frame to encoder.
LIB_API void ni_logan_dec_retrieve_aux_data(ni_logan_frame_t *frame)
Retrieve auxiliary data (close caption, various SEI) associated with this frame that is returned by d...
enum _ni_color_space ni_color_space_t
struct _ni_content_light_level ni_content_light_level_t
LIB_API int ni_logan_should_send_sei_with_frame(ni_logan_session_context_t *p_enc_ctx, ni_logan_pic_type_t pic_type, ni_logan_encoder_params_t *p_param)
Whether SEI should be sent together with this frame to encoder.
@ NI_LOGAN_H264_NAL_AUXILIARY_SLICE
@ NI_LOGAN_H264_NAL_END_STREAM
@ NI_LOGAN_H264_NAL_UNSPECIFIED28
@ NI_LOGAN_H264_NAL_UNSPECIFIED24
@ NI_LOGAN_H264_NAL_UNSPECIFIED
@ NI_LOGAN_H264_NAL_UNSPECIFIED26
@ NI_LOGAN_H264_NAL_END_SEQUENCE
@ NI_LOGAN_H264_NAL_UNSPECIFIED30
@ NI_LOGAN_H264_NAL_UNSPECIFIED29
@ NI_LOGAN_H264_NAL_RESERVED23
@ NI_LOGAN_H264_NAL_RESERVED17
@ NI_LOGAN_H264_NAL_PREFIX
@ NI_LOGAN_H264_NAL_SPS_EXT
@ NI_LOGAN_H264_NAL_SLICE
@ NI_LOGAN_H264_NAL_UNSPECIFIED27
@ NI_LOGAN_H264_NAL_EXTEN_SLICE
@ NI_LOGAN_H264_NAL_IDR_SLICE
@ NI_LOGAN_H264_NAL_RESERVED22
@ NI_LOGAN_H264_NAL_UNSPECIFIED31
@ NI_LOGAN_H264_NAL_RESERVED18
@ NI_LOGAN_H264_NAL_DEPTH_EXTEN_SLICE
@ NI_LOGAN_H264_NAL_UNSPECIFIED25
@ NI_LOGAN_H264_NAL_FILLER_DATA
@ NI_LOGAN_H264_NAL_SUB_SPS
LIB_API int ni_logan_enc_fill_reconfig_params(ni_logan_encoder_params_t *p_param, ni_logan_session_context_t *p_ctx, ni_logan_frame_t *p_api_fme, int reconfigCount)
Fill reconfig params.
_ni_h264_sei_pic_struct_t
@ NI_H264_SEI_PIC_STRUCT_FRAME_TRIPLING
@ NI_H264_SEI_PIC_STRUCT_TOP_BOTTOM
@ NI_H264_SEI_PIC_STRUCT_TOP_BOTTOM_TOP
@ NI_H264_SEI_PIC_STRUCT_FRAME
@ NI_H264_SEI_PIC_STRUCT_BOTTOM_FIELD
@ NI_H264_SEI_PIC_STRUCT_BOTTOM_TOP
@ NI_H264_SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM
@ NI_H264_SEI_PIC_STRUCT_TOP_FIELD
@ NI_H264_SEI_PIC_STRUCT_FRAME_DOUBLING
struct _ni_dynamic_hdr_plus ni_dynamic_hdr_plus_t
enum _ni_logan_h264_nalu_type ni_logan_h264_nalu_type_t
struct _ni_mastering_display_metadata ni_mastering_display_metadata_t
enum _ni_color_range_struct_t ni_color_range_struct_t
LIB_API uint32_t ni_logan_enc_pic_timing_sei2(ni_logan_encoder_params_t *p_param, ni_logan_session_context_t *p_ctx, int is_i_or_idr, int is_idr, uint32_t frame_idx, int buf_len, uint8_t *p_buf)
Generate pic timing sei2.
@ NI_H264_SEI_TYPE_FRAME_PACKING
@ NI_H264_SEI_TYPE_FILLER_PAYLOAD
@ NI_H264_SEI_TYPE_USER_DATA_REGISTERED
@ NI_H264_SEI_TYPE_ALTERNATIVE_TRANSFER
@ NI_H264_SEI_TYPE_PAN_SCAN_RECT
@ NI_H264_SEI_TYPE_DISPLAY_ORIENTATION
@ NI_H264_SEI_TYPE_PIC_TIMING
@ NI_H264_SEI_TYPE_GREEN_METADATA
@ NI_H264_SEI_TYPE_USER_DATA_UNREGISTERED
@ NI_H264_SEI_TYPE_BUFFERING_PERIOD
@ NI_H264_SEI_TYPE_RECOVERY_POINT
@ NI_H264_SEI_TYPE_MASTERING_DISPLAY_COLOUR_VOLUME
@ NI_COL_RANGE_NB
Not part of ABI.
@ NI_COL_RANGE_MPEG
the normal 219*2^(n-8) "MPEG" YUV ranges
@ NI_COL_RANGE_UNSPECIFIED
@ NI_COL_RANGE_JPEG
the normal 2^n-1 "JPEG" YUV ranges
LIB_API void ni_logan_set_vui(ni_logan_encoder_params_t *p_param, ni_logan_session_context_t *p_ctx, ni_color_primaries_t color_primaries, ni_color_transfer_characteristic_t color_trc, ni_color_space_t color_space, int video_full_range_flag, int sar_num, int sar_den, ni_logan_codec_format_t codec_format)
Set SPS VUI part of encoded stream header.
enum _ni_h264_sei_type_t ni_h264_sei_type_t
LIB_API uint32_t ni_logan_enc_buffering_period_sei(ni_logan_encoder_params_t *p_param, ni_logan_session_context_t *p_ctx, uint32_t frame_idx, int buf_len, uint8_t *p_buf)
Buffered period sei.
enum _ni_h264_sei_pic_struct_t ni_h264_sei_pic_struct_t
_ni_hdr_plus_overlap_process_option
@ NI_HDR_PLUS_OVERLAP_PROCESS_WEIGHTED_AVERAGING
@ NI_HDR_PLUS_OVERLAP_PROCESS_LAYERING
LIB_API const uint8_t * ni_logan_find_start_code(const uint8_t *p, const uint8_t *end, uint32_t *state)
Find the next start code.
Main NETINT device API header file provides the ability to communicate with NI T-408 type hardware tr...
enum _ni_logan_codec_format ni_logan_codec_format_t
This is an enumeration for supported codec formats.
uint8_t targeted_system_display_actual_peak_luminance_flag
uint8_t application_version
uint8_t num_cols_targeted_system_display_actual_peak_luminance
uint8_t num_rows_mastering_display_actual_peak_luminance
uint8_t num_rows_targeted_system_display_actual_peak_luminance
uint8_t num_cols_mastering_display_actual_peak_luminance
ni_rational_t targeted_system_display_maximum_luminance
ni_rational_t mastering_display_actual_peak_luminance[25][25]
uint8_t itu_t_t35_country_code
uint8_t mastering_display_actual_peak_luminance_flag
ni_hdr_plus_color_transform_params_t params[3]
ni_rational_t targeted_system_display_actual_peak_luminance[25][25]