 |
libxcoder
5.2.0
|
Go to the documentation of this file.
45 static inline void ni_xcoder_strncpy(
char *dst,
const char *src,
int max)
47 if (dst && src && max)
50 strncpy(dst, src, max);
51 *(dst + max - 1) =
'\0';
54 #define NIALIGN(x, a) (((x) + (a)-1) & ~((a)-1))
55 #define NIODD2EVEN(X) ((X & 1) && (X > 31)) ? (X + 1) : (X)
59 #define NI_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
61 #define QUADRA_XCODER_TEST_RECONF_LONG_TERM_REF 4
286 int width,
int height,
287 int bit_depth_factor);
308 int frame_width,
int frame_height,
309 const int *frame_linesize,
311 bool hw_frames_ctx,
int frame_queqe,
325 void *side_data,
int data_size,
342 int frame_width,
int frame_height);
358 void *side_data,
int data_size);
378 uint8_t **data, uint8_t *nidata,
379 int *linesize,
int frame_width,
425 int frame_width,
int frame_height,
426 const int *linesize);
486 int is_pkt, int64_t *pkt_pts,
487 int64_t *pkt_dts,
int *pkt_flag);
struct _ni_quadra_enc_context ni_quadra_enc_context_t
LIB_API void ni_quadra_frame_new_aux_data(ni_quadra_enc_context_t *p_enc_ctx, void *side_data, int data_size, int type)
Add a new auxiliary data to a frame.
_ni_quadra_session_run_state
Session running state type.
@ QUADRA_SESSION_RUN_STATE_SEQ_CHANGE_OPENING
LIB_API int ni_quadra_enc_device_session_flush(ni_quadra_enc_context_t *p_enc_ctx)
Flush encode session context.
LIB_API void ni_quadra_enc_gop_params_set(ni_quadra_enc_context_t *p_enc_ctx, char *key)
Set gop_params.
LIB_API int ni_quadra_enc_get_extra_data(ni_quadra_enc_context_t *p_enc_ctx, uint8_t *p_dst)
Copy niframe to make avframe.
LIB_API int ni_quadra_enc_prep_aux_data(ni_quadra_enc_context_t *p_enc_ctx, void *side_data, int data_size)
Prepare auxiliary data that should be sent together with this frame to encoder based on the auxiliary...
LIB_API int ni_quadra_encode_session_open(ni_quadra_enc_context_t *p_enc_ctx, int frame_width, int frame_height, const int *frame_linesize, niquadraFrameSurface1_t *p_surface, bool hw_frames_ctx, int frame_queqe, int avctx_flags)
Set encode session open and set niframe default info.
LIB_API int ni_quadra_enc_init(ni_quadra_enc_context_t *p_enc_ctx)
Initialize malloc device session_context and malloc params including ni_quadra_enc_context_t,...
uint64_t xcode_load_pixel
int use_cur_src_as_long_term_pic
LIB_API int ni_quadra_enc_send_frame(ni_quadra_enc_context_t *p_enc_ctx)
Send niframe to do encoder.
LIB_API int ni_quadra_encoder_xcoder_gop_params_set_value(ni_quadra_enc_context_t *p_enc_ctx, const char *name, const char *value)
Set value referenced by name in encode parameters structure.
uint64_t total_frames_received
LIB_API int ni_quadra_encode_after_reinit(ni_quadra_enc_context_t *p_enc_ctx)
Reinit after need to sync context.
LIB_API int ni_quadra_setup_encoder(ni_quadra_enc_context_t *p_enc_ctx)
Initialize init device session_context and init default params including ni_quadra_enc_context_t,...
@ QUADRA_SESSION_RUN_STATE_NORMAL
int32_t tmp_device_handle
int total_custom_sei_size
LIB_API int ni_quadra_packet_buffer_alloc(ni_quadra_enc_context_t *p_enc_ctx)
Allocate memory for the packet buffer based on provided packet size.
LIB_API int ni_quadra_encoder_xcoder_opts_params_set_value(ni_quadra_enc_context_t *p_enc_ctx, const char *name, const char *value)
Set value referenced by name in encode parameters structure.
LIB_API int ni_quadra_enc_make_niframe(ni_quadra_enc_context_t *p_enc_ctx, uint8_t **data, uint8_t *nidata, int *linesize, int frame_width, int frame_height, NIFramesContext *nif_src_ctx)
Copy avframe to niframe.
NETINT filters API header file.
LIB_API void ni_quadra_get_pkt_info(void *session_ctx, void *data)
Get ni_pkt_info psnr info.
LIB_API bool ni_quadra_enc_gop_params_check(ni_quadra_enc_context_t *p_enc_ctx)
Check gop_params.
LIB_API int ni_quadra_encoder_receive_packet(ni_quadra_enc_context_t *p_enc_ctx)
Recive packet frome encode.
LIB_API int ni_quadra_encode_sequence_change(ni_quadra_enc_context_t *p_enc_ctx, int width, int height, int bit_depth_factor)
Set encode sequence change.
char tmp_blk_dev_name[32]
LIB_API int ni_quadra_encode_close(ni_quadra_enc_context_t *p_enc_ctx)
Close device session_context including ni_quadra_enc_context_t,.
@ QUADRA_SESSION_RUN_STATE_RESETTING
LIB_API int ni_quadra_encode_reinit(ni_quadra_enc_context_t *p_enc_ctx, int frame_width, int frame_height, const int *linesize)
Reinit encode context.
enum _ni_quadra_session_run_state ni_quadra_session_run_state_t
Session running state type.
int enable_all_sei_passthru
LIB_API void ni_quadra_set_session_wh(void *session_ctx, int width, int height)
Set width and height to session context.
LIB_API int ni_quadra_encode_send_prepare(ni_quadra_enc_context_t *p_enc_ctx, niquadraFrameSurface1_t *p_surface, int frame_width, int frame_height)
Prepare a niframe which to send to encoder.
@ QUADRA_SESSION_RUN_STATE_SEQ_CHANGE_DRAINING
LIB_API int ni_quadra_encoder_prepare_avpkt(ni_quadra_enc_context_t *p_enc_ctx, int is_pkt, int64_t *pkt_pts, int64_t *pkt_dts, int *pkt_flag)
Make avpkt from encode.
ni_quadra_retcode_t retstatus
void * g_enc_change_params
LIB_API int ni_quadra_get_pkt_info_size(void)
Get struct ni_pkt_info size.
int32_t tmp_blk_io_handle