|
libxcoder 5.6.0
|
#include "ni_device_api.h"#include "ni_av_codec.h"#include "ni_bitstream.h"#include "ni_generic_utils.h"#include "ni_filter_utils.h"Go to the source code of this file.
Data Structures | |
| struct | dec_send_param |
| struct | dec_recv_param |
| struct | _ni_h264_sps_t |
| struct | _ni_h265_window_t |
| struct | VUI |
| struct | PTLCommon |
| struct | PTL |
| struct | ScalingList |
| struct | ShortTermRPS |
| struct | _ni_h265_sps_t |
| struct | _ni_vp9_header_info |
Typedefs | |
| typedef struct dec_send_param | dec_send_param_t |
| typedef struct dec_recv_param | dec_recv_param_t |
| typedef struct _ni_h264_sps_t | ni_h264_sps_t |
| typedef struct _ni_h265_window_t | ni_h265_window_t |
| typedef struct VUI | VUI |
| typedef struct PTLCommon | PTLCommon |
| typedef struct PTL | PTL |
| typedef struct ScalingList | ScalingList |
| typedef struct ShortTermRPS | ShortTermRPS |
| typedef struct _ni_h265_sps_t | ni_h265_sps_t |
| typedef struct _ni_vp9_header_info | ni_vp9_header_info_t |
| typedef enum _ni_nalu_type | ni_nalu_type_t |
| typedef enum _ni_hevc_nalu_type | ni_hevc_nalu_type |
Enumerations | |
| enum | _ni_nalu_type { H264_NAL_UNSPECIFIED = 0 , H264_NAL_SLICE = 1 , H264_NAL_DPA = 2 , H264_NAL_DPB = 3 , H264_NAL_DPC = 4 , H264_NAL_IDR_SLICE = 5 , H264_NAL_SEI = 6 , H264_NAL_SPS = 7 , H264_NAL_PPS = 8 , H264_NAL_AUD = 9 , H264_NAL_END_SEQUENCE = 10 , H264_NAL_END_STREAM = 11 , H264_NAL_FILLER_DATA = 12 , H264_NAL_SPS_EXT = 13 , H264_NAL_PREFIX = 14 , H264_NAL_SUB_SPS = 15 , H264_NAL_DPS = 16 , H264_NAL_AUXILIARY_SLICE = 19 } |
| enum | _ni_hevc_nalu_type { HEVC_NAL_TRAIL_N = 0 , HEVC_NAL_TRAIL_R = 1 , HEVC_NAL_TSA_N = 2 , HEVC_NAL_TSA_R = 3 , HEVC_NAL_STSA_N = 4 , HEVC_NAL_STSA_R = 5 , HEVC_NAL_RADL_N = 6 , HEVC_NAL_RADL_R = 7 , HEVC_NAL_RASL_N = 8 , HEVC_NAL_RASL_R = 9 , HEVC_NAL_IDR_W_RADL = 19 , HEVC_NAL_IDR_N_LP = 20 , HEVC_NAL_CRA_NUT = 21 , HEVC_NAL_VPS = 32 , HEVC_NAL_SPS = 33 , HEVC_NAL_PPS = 34 , HEVC_NAL_AUD = 35 , HEVC_NAL_EOS_NUT = 36 , HEVC_NAL_EOB_NUT = 37 , HEVC_NAL_FD_NUT = 38 , HEVC_NAL_SEI_PREFIX = 39 , HEVC_NAL_SEI_SUFFIX = 40 } |
Functions | |
| uint64_t | find_h264_next_nalu (ni_demo_context_t *p_ctx, uint8_t *p_dst, int *nal_type) |
| int | h264_parse_hrd (ni_bitstream_reader_t *br, ni_h264_sps_t *sps) |
| int | h264_parse_vui (ni_bitstream_reader_t *br, ni_h264_sps_t *sps) |
| int | h264_parse_scaling_list (ni_bitstream_reader_t *br, uint8_t *factors, int size, const uint8_t *jvt_list, const uint8_t *fallback_list) |
| int | h264_parse_scaling_matrices (ni_bitstream_reader_t *br, const ni_h264_sps_t *sps, uint8_t(*scaling_matrix4)[16], uint8_t(*scaling_matrix8)[64]) |
| int | h264_parse_sps (uint8_t *buf, int size_bytes, ni_h264_sps_t *sps) |
| int | h264_parse_sei (uint8_t *buf, int size_bytes, ni_h264_sps_t *sps, int *sei_type, int *is_interlaced) |
| int | probe_h264_stream_info (ni_demo_context_t *p_ctx, ni_h264_sps_t *sps) |
| int | parse_h264_slice_header (uint8_t *buf, int size_bytes, ni_h264_sps_t *sps, int32_t *frame_num, unsigned int *first_mb_in_slice) |
| uint64_t | find_h265_next_nalu (ni_demo_context_t *p_ctx, uint8_t *p_dst, int *nal_type) |
| void | h265_decode_sublayer_hrd (ni_bitstream_reader_t *br, unsigned int nb_cpb, int subpic_params_present) |
| int | h265_decode_profile_tier_level (ni_bitstream_reader_t *br, PTLCommon *ptl) |
| int | h265_parse_ptl (ni_bitstream_reader_t *br, PTL *ptl, int max_num_sub_layers) |
| int | h265_decode_hrd (ni_bitstream_reader_t *br, int common_inf_present, int max_sublayers) |
| void | h265_set_default_scaling_list_data (ScalingList *sl) |
| int | h265_scaling_list_data (ni_bitstream_reader_t *br, ScalingList *sl, ni_h265_sps_t *sps) |
| int | h265_decode_short_term_rps (ni_bitstream_reader_t *br, ShortTermRPS *rps, const ni_h265_sps_t *sps, int is_slice_header) |
| int | h265_decode_vui (ni_bitstream_reader_t *br, int apply_defdispwin, ni_h265_sps_t *sps) |
| int | h265_parse_sps (ni_h265_sps_t *sps, uint8_t *buf, int size_bytes) |
| int | probe_h265_stream_info (ni_demo_context_t *p_ctx, ni_h265_sps_t *sps) |
| uint64_t | find_vp9_next_packet (ni_demo_context_t *p_ctx, uint8_t *p_dst, ni_vp9_header_info_t *vp9_info) |
| int | vp9_parse_header (ni_vp9_header_info_t *vp9_info, uint8_t *buf, int size_bytes) |
| int | probe_vp9_stream_info (ni_demo_context_t *p_ctx, ni_vp9_header_info_t *vp9_info) |
| int | decoder_send_data (ni_demo_context_t *p_ctx, ni_session_context_t *p_dec_ctx, ni_session_data_io_t *p_in_data, int input_video_width, int input_video_height, void *stream_info) |
| Send decoder input data. | |
| int | decoder_receive_data (ni_demo_context_t *p_ctx, ni_session_context_t *p_dec_ctx, ni_session_data_io_t *p_out_data, int output_video_width, int output_video_height, FILE *p_file, int write_to_file, int *p_rx_size) |
| Receive decoded output data from decoder. | |
| int | decoder_open_session (ni_session_context_t *p_dec_ctx, int iXcoderGUID, ni_xcoder_params_t *p_dec_params) |
| decoder session open | |
| void | decoder_stat_report_and_close (ni_demo_context_t *p_ctx, ni_session_context_t *p_dec_ctx) |
| void * | decoder_send_thread (void *args) |
| void * | decoder_receive_thread (void *args) |
| typedef struct dec_recv_param dec_recv_param_t |
| typedef struct dec_send_param dec_send_param_t |
| typedef struct _ni_h264_sps_t ni_h264_sps_t |
Sequence parameter set
| typedef struct _ni_h265_sps_t ni_h265_sps_t |
HEVC Sequence parameter set
| typedef struct _ni_h265_window_t ni_h265_window_t |
| typedef enum _ni_hevc_nalu_type ni_hevc_nalu_type |
| typedef enum _ni_nalu_type ni_nalu_type_t |
| typedef struct _ni_vp9_header_info ni_vp9_header_info_t |
| typedef struct ScalingList ScalingList |
| typedef struct ShortTermRPS ShortTermRPS |
| enum _ni_hevc_nalu_type |
Definition at line 375 of file ni_decode_utils.h.
| enum _ni_nalu_type |
Definition at line 353 of file ni_decode_utils.h.
| int decoder_open_session | ( | ni_session_context_t * | p_dec_ctx, |
| int | iXcoderGUID, | ||
| ni_xcoder_params_t * | p_dec_params | ||
| ) |
decoder session open
return 0 if successful, < 0 otherwise
Definition at line 2579 of file ni_decode_utils.c.
| int decoder_receive_data | ( | ni_demo_context_t * | p_ctx, |
| ni_session_context_t * | p_dec_ctx, | ||
| ni_session_data_io_t * | p_out_data, | ||
| int | output_video_width, | ||
| int | output_video_height, | ||
| FILE * | p_file, | ||
| int | write_to_file, | ||
| int * | p_rx_size | ||
| ) |
Receive decoded output data from decoder.
return 0: got YUV frame; 1: end-of-stream; 2: got nothing s
Definition at line 2420 of file ni_decode_utils.c.
| void * decoder_receive_thread | ( | void * | args | ) |
Definition at line 2682 of file ni_decode_utils.c.
| int decoder_send_data | ( | ni_demo_context_t * | p_ctx, |
| ni_session_context_t * | p_dec_ctx, | ||
| ni_session_data_io_t * | p_in_data, | ||
| int | input_video_width, | ||
| int | input_video_height, | ||
| void * | stream_info | ||
| ) |
| void * decoder_send_thread | ( | void * | args | ) |
Definition at line 2630 of file ni_decode_utils.c.
| void decoder_stat_report_and_close | ( | ni_demo_context_t * | p_ctx, |
| ni_session_context_t * | p_dec_ctx | ||
| ) |
Definition at line 2616 of file ni_decode_utils.c.
| uint64_t find_h264_next_nalu | ( | ni_demo_context_t * | p_ctx, |
| uint8_t * | p_dst, | ||
| int * | nal_type | ||
| ) |
Definition at line 104 of file ni_decode_utils.c.
| uint64_t find_h265_next_nalu | ( | ni_demo_context_t * | p_ctx, |
| uint8_t * | p_dst, | ||
| int * | nal_type | ||
| ) |
find/copy next H.265 NAL unit (including start code) and its type; return NAL data size if found, 0 otherwise
Definition at line 883 of file ni_decode_utils.c.
| uint64_t find_vp9_next_packet | ( | ni_demo_context_t * | p_ctx, |
| uint8_t * | p_dst, | ||
| ni_vp9_header_info_t * | vp9_info | ||
| ) |
packet structure: bytes 0-3: size of frame in bytes (not including the 12-byte header) bytes 4-11: 64-bit presentation timestamp bytes 12.. frame data
Definition at line 2078 of file ni_decode_utils.c.
| int h264_parse_hrd | ( | ni_bitstream_reader_t * | br, |
| ni_h264_sps_t * | sps | ||
| ) |
Definition at line 174 of file ni_decode_utils.c.
| int h264_parse_scaling_list | ( | ni_bitstream_reader_t * | br, |
| uint8_t * | factors, | ||
| int | size, | ||
| const uint8_t * | jvt_list, | ||
| const uint8_t * | fallback_list | ||
| ) |
Definition at line 338 of file ni_decode_utils.c.
| int h264_parse_scaling_matrices | ( | ni_bitstream_reader_t * | br, |
| const ni_h264_sps_t * | sps, | ||
| uint8_t(*) | scaling_matrix4[16], | ||
| uint8_t(*) | scaling_matrix8[64] | ||
| ) |
Definition at line 374 of file ni_decode_utils.c.
| int h264_parse_sei | ( | uint8_t * | buf, |
| int | size_bytes, | ||
| ni_h264_sps_t * | sps, | ||
| int * | sei_type, | ||
| int * | is_interlaced | ||
| ) |
Definition at line 623 of file ni_decode_utils.c.
| int h264_parse_sps | ( | uint8_t * | buf, |
| int | size_bytes, | ||
| ni_h264_sps_t * | sps | ||
| ) |
Definition at line 420 of file ni_decode_utils.c.
| int h264_parse_vui | ( | ni_bitstream_reader_t * | br, |
| ni_h264_sps_t * | sps | ||
| ) |
Definition at line 203 of file ni_decode_utils.c.
| int h265_decode_hrd | ( | ni_bitstream_reader_t * | br, |
| int | common_inf_present, | ||
| int | max_sublayers | ||
| ) |
Definition at line 1091 of file ni_decode_utils.c.
| int h265_decode_profile_tier_level | ( | ni_bitstream_reader_t * | br, |
| PTLCommon * | ptl | ||
| ) |
Definition at line 971 of file ni_decode_utils.c.
| int h265_decode_short_term_rps | ( | ni_bitstream_reader_t * | br, |
| ShortTermRPS * | rps, | ||
| const ni_h265_sps_t * | sps, | ||
| int | is_slice_header | ||
| ) |
Definition at line 1281 of file ni_decode_utils.c.
| void h265_decode_sublayer_hrd | ( | ni_bitstream_reader_t * | br, |
| unsigned int | nb_cpb, | ||
| int | subpic_params_present | ||
| ) |
Definition at line 952 of file ni_decode_utils.c.
| int h265_decode_vui | ( | ni_bitstream_reader_t * | br, |
| int | apply_defdispwin, | ||
| ni_h265_sps_t * | sps | ||
| ) |
Definition at line 1444 of file ni_decode_utils.c.
| int h265_parse_ptl | ( | ni_bitstream_reader_t * | br, |
| PTL * | ptl, | ||
| int | max_num_sub_layers | ||
| ) |
Definition at line 1041 of file ni_decode_utils.c.
| int h265_parse_sps | ( | ni_h265_sps_t * | sps, |
| uint8_t * | buf, | ||
| int | size_bytes | ||
| ) |
Definition at line 1615 of file ni_decode_utils.c.
| int h265_scaling_list_data | ( | ni_bitstream_reader_t * | br, |
| ScalingList * | sl, | ||
| ni_h265_sps_t * | sps | ||
| ) |
Definition at line 1194 of file ni_decode_utils.c.
| void h265_set_default_scaling_list_data | ( | ScalingList * | sl | ) |
Definition at line 1163 of file ni_decode_utils.c.
| int parse_h264_slice_header | ( | uint8_t * | buf, |
| int | size_bytes, | ||
| ni_h264_sps_t * | sps, | ||
| int32_t * | frame_num, | ||
| unsigned int * | first_mb_in_slice | ||
| ) |
Definition at line 831 of file ni_decode_utils.c.
| int probe_h264_stream_info | ( | ni_demo_context_t * | p_ctx, |
| ni_h264_sps_t * | sps | ||
| ) |
Definition at line 715 of file ni_decode_utils.c.
| int probe_h265_stream_info | ( | ni_demo_context_t * | p_ctx, |
| ni_h265_sps_t * | sps | ||
| ) |
Definition at line 1998 of file ni_decode_utils.c.
| int probe_vp9_stream_info | ( | ni_demo_context_t * | p_ctx, |
| ni_vp9_header_info_t * | vp9_info | ||
| ) |
Definition at line 2184 of file ni_decode_utils.c.
| int vp9_parse_header | ( | ni_vp9_header_info_t * | vp9_info, |
| uint8_t * | buf, | ||
| int | size_bytes | ||
| ) |
Definition at line 2121 of file ni_decode_utils.c.