![]() |
libxcoder
5.2.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. More... | |
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. More... | |
int | decoder_open_session (ni_session_context_t *p_dec_ctx, int iXcoderGUID, ni_xcoder_params_t *p_dec_params) |
decoder session open More... | |
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
<br> |
Definition at line 2575 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.
<br> |
Definition at line 2416 of file ni_decode_utils.c.
void* decoder_receive_thread | ( | void * | args | ) |
Definition at line 2678 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 2626 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 2612 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 2074 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 1087 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 1277 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 1440 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 1611 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 1190 of file ni_decode_utils.c.
void h265_set_default_scaling_list_data | ( | ScalingList * | sl | ) |
Definition at line 1159 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 1994 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 2180 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 2117 of file ni_decode_utils.c.