 |
libxcoder
5.2.0
|
Go to the documentation of this file.
46 #define FILE_NAME_LEN 256
47 #define MAX_INPUT_FILES 3
48 #define MAX_OUTPUT_FILES 4
50 #define NI_TEST_RETCODE_FAILURE -1
51 #define NI_TEST_RETCODE_SUCCESS 0
52 #define NI_TEST_RETCODE_END_OF_STREAM 1
53 #define NI_TEST_RETCODE_EAGAIN 2
54 #define NI_TEST_RETCODE_NEXT_INPUT 3
55 #define NI_TEST_RETCODE_SEQ_CHANGE_DONE 4
57 #define NI_ALIGN(x, a) (((x)+(a)-1)&~((a)-1))
60 #define MAX_YUV_FRAME_SIZE (7680 * 4320 * 3)
63 #define MAX_LOG2_MAX_FRAME_NUM (12 + 4)
64 #define MIN_LOG2_MAX_FRAME_NUM 4
65 #define EXTENDED_SAR 255
66 #define QP_MAX_NUM (51 + 6 * 6) // The maximum supported qp
67 #define NI_MAX_BUFFERED_FRAME 45
69 #define HEVC_MAX_SUB_LAYERS 7
70 #define HEVC_MAX_SHORT_TERM_REF_PIC_SETS 64
71 #define HEVC_MAX_LONG_TERM_REF_PICS 32
72 #define HEVC_MAX_SPS_COUNT 16
73 #define HEVC_MAX_REFS 16
74 #define HEVC_MAX_LOG2_CTB_SIZE 6
196 void *yuv_buf,
int width,
int height,
201 int output_width,
int output_height,
int format,
ni_frame_t *p_out_frame);
214 int input_video_width,
int input_video_height,
218 int is_p2p,
int pool_size);
226 int height, FILE *pfs,
void *yuv_buf,
int *eos);
struct _ni_pix_fmt_name ni_pix_fmt_name_t
ni_pix_fmt_t ni_pixel_format_search(const char *name)
uint8_t ivf_header_written
uint32_t av1_muxed_num_packets[MAX_OUTPUT_FILES]
ni_session_context_t * p_upl_ctx
ni_session_data_io_t * p_swin_frame
int scan_and_clean_hwdescriptors(void)
ni_pix_fmt_t gc620_to_ni_pix_fmt(int pix_fmt)
struct _ni_hwframe_ref_t ni_hwframe_ref_t
const char * ni_pixel_format_name(ni_pix_fmt_t pix_fmt)
niFrameSurface1_t surface
int hwdl_frame(ni_session_context_t *p_ctx, ni_session_data_io_t *p_session_data, ni_frame_t *p_src_frame, int output_format)
Download hw frames by HwDesc.
bool frame_list_is_empty(ni_test_frame_list_t *list)
uint8_t * p_av1_seq_header[MAX_OUTPUT_FILES]
int enc_sos_sent[MAX_OUTPUT_FILES]
int frame_read_buffer_size(int w, int h, ni_pix_fmt_t pix_fmt, ni_sw_pix_fmt_t sw_pix_fmt)
uint64_t curr_file_offset
bool uploader_frame_list_full(ni_test_frame_list_t *list, ni_pix_fmt_t pix_fmt)
struct _ni_demo_context ni_demo_context_t
ni_test_frame_list_t * frame_list
int read_yuv_from_file(ni_demo_context_t *p_ctx, FILE *pfs, void *yuv_buf, int width, int height, ni_pix_fmt_t pix_fmt, ni_sw_pix_fmt_t sw_pix_fmt, int *eos, ni_session_run_state_t run_state)
uint64_t num_frames_received
int enc_eos_sent[MAX_OUTPUT_FILES]
void hwframe_list_release(ni_test_frame_list_t *list)
int enc_resend[MAX_OUTPUT_FILES]
struct _ni_gc620_pix_fmt ni_gc620_pix_fmt_t
uint64_t get_total_file_size(FILE *fp)
int uploader_open_session(ni_session_context_t *p_upl_ctx, int iXcoderGUID, int width, int height, ni_pix_fmt_t pix_fmt, int is_p2p, int pool_size)
Uploader session open.
int ni_to_gc620_pix_fmt(ni_pix_fmt_t pix_fmt)
int frame_list_length(ni_test_frame_list_t *list)
uint64_t num_frames_sent[MAX_OUTPUT_FILES]
struct _ni_test_frame_list ni_test_frame_list_t
void ni_hw_frame_ref(const niFrameSurface1_t *p_surface)
ni_session_data_io_t frames[NI_MAX_BUFFERED_FRAME]
int frame_list_enqueue(ni_test_frame_list_t *list)
@ NI_SW_PIX_FMT_YUV444P10LE
ni_pixel_planar_format get_pixel_planar(ni_pix_fmt_t pix_fmt)
bool frame_list_is_full(ni_test_frame_list_t *list)
#define NI_MAX_BUFFERED_FRAME
unsigned long * p_total_bytes_sent
enum _ni_pixel_planar_format ni_pixel_planar_format
enum _ni_session_run_state ni_session_run_state_t
Session running state type.
uint64_t dec_total_bytes_sent
int is_ni_enc_pix_fmt(ni_pix_fmt_t pix_fmt)
uint64_t enc_total_bytes_sent[MAX_OUTPUT_FILES]
uint32_t av1_seq_header_len[MAX_OUTPUT_FILES]
int frame_list_drain(ni_test_frame_list_t *list)
ni_session_data_io_t * p_scale_frame
ni_demo_context_t * p_ctx
uint64_t dec_total_bytes_received
ni_session_context_t * p_sca_ctx
uint32_t read_next_chunk_from_file(ni_demo_context_t *p_ctx, FILE *pfs, uint8_t *p_dst, uint32_t to_read)
int upload_send_data_get_desc(ni_demo_context_t *p_ctx, ni_session_context_t *p_upl_ctx, ni_session_data_io_t *p_swin_data, ni_session_data_io_t *p_in_data, int input_video_width, int input_video_height, void *yuv_buf)
Read from input file, upload to encoder, retrieve HW descriptor.
void reset_data_buf_pos(ni_demo_context_t *p_ctx)
int write_rawvideo_data(FILE *p_file, int input_aligned_width, int input_aligned_height, int output_width, int output_height, int format, ni_frame_t *p_out_frame)
Write hwdl data to files.
uint64_t num_packets_received[MAX_OUTPUT_FILES]
struct uploader_param uploader_param_t
int enc_eos_received[MAX_OUTPUT_FILES]
Public definitions for operating NETINT video processing devices for video processing.
niFrameSurface1_t * hwupload_frame(ni_demo_context_t *p_ctx, ni_session_context_t *p_upl_ctx, ni_session_context_t *p_sca_ctx, ni_session_data_io_t *p_sw_data, ni_session_data_io_t *p_hw_data, ni_session_data_io_t *p_scale_data, ni_pix_fmt_t pix_fmt, int width, int height, FILE *pfs, void *yuv_buf, int *eos)
enum _ni_codec_format ni_codec_format_t
This is an enumeration for supported codec formats.
void ni_hw_frame_unref(uint16_t hwframe_index)
int read_and_cache_file(ni_demo_context_t *ctx, char *filename)
int convert_yuv_444p_to_420p(ni_session_data_io_t *p_frame, void *yuv_buf, int width, int height, ni_sw_pix_fmt_t sw_pix_fmt, int mode, ni_codec_format_t codec_format)
uint64_t enc_total_bytes_received[MAX_OUTPUT_FILES]
void rewind_data_buf_pos_by(ni_demo_context_t *p_ctx, uint64_t nb_bytes)