libxcoder  5.2.0
ni_lat_meas.c File Reference

Utility definitions for measuring frame/packet processing time in NETINT video processing devices. More...

#include "ni_lat_meas.h"
#include "ni_log.h"
#include "ni_util.h"

Go to the source code of this file.

Functions

ni_lat_meas_q_tni_lat_meas_q_create (int capacity)
 Create a latency measurement queue object of a given capacity. More...
 
void ni_lat_meas_q_destroy (ni_lat_meas_q_t *frame_time_q)
 Destroy a latency measurement queue object. More...
 
void * ni_lat_meas_q_enqueue (ni_lat_meas_q_t *queue, ni_lat_meas_q_entry_t item)
 Push an item onto the queue. More...
 
void * ni_lat_meas_q_dequeue (ni_lat_meas_q_t *queue)
 Pop an item from the queue. More...
 
void * ni_lat_meas_q_rear (ni_lat_meas_q_t *queue)
 Get a pointer to rear of queue. More...
 
void * ni_lat_meas_q_front (ni_lat_meas_q_t *queue)
 Get a pointer to front of queue. More...
 
void * ni_lat_meas_q_add_entry (ni_lat_meas_q_t *frame_time_q, uint64_t abs_time, int64_t ts_time)
 Add a new entry to latency queue. More...
 
uint64_t ni_lat_meas_q_check_latency (ni_lat_meas_q_t *frame_time_q, uint64_t abs_time, int64_t ts_time)
 Check latency of a frame referenced by its timestamp. More...
 

Detailed Description

Utility definitions for measuring frame/packet processing time in NETINT video processing devices.


Definition in file ni_lat_meas.c.

Function Documentation

◆ ni_lat_meas_q_add_entry()

void* ni_lat_meas_q_add_entry ( ni_lat_meas_q_t frame_time_q,
uint64_t  abs_time,
int64_t  ts_time 
)

Add a new entry to latency queue.


Parameters
frame_time_qpointer to latency queue
abs_timeframe start time for latency comparison
ts_timereference frame timestamp time
Returns
void 1 if success, NULL if failed

Definition at line 181 of file ni_lat_meas.c.

◆ ni_lat_meas_q_check_latency()

uint64_t ni_lat_meas_q_check_latency ( ni_lat_meas_q_t frame_time_q,
uint64_t  abs_time,
int64_t  ts_time 
)

Check latency of a frame referenced by its timestamp.


Parameters
frame_time_qpointer to latency queue
abs_timeframe end time for latency comparison
ts_timereference frame timestamp time
Returns
uint64_t value of latency if suceeded, -1 if failed

Definition at line 201 of file ni_lat_meas.c.

◆ ni_lat_meas_q_create()

ni_lat_meas_q_t* ni_lat_meas_q_create ( int  capacity)

Create a latency measurement queue object of a given capacity.


Parameters
capacitymaximum size of queue
Returns
ni_lat_meas_q_t latency measurement queue structure

Definition at line 52 of file ni_lat_meas.c.

◆ ni_lat_meas_q_dequeue()

void* ni_lat_meas_q_dequeue ( ni_lat_meas_q_t queue)

Pop an item from the queue.


Parameters
queuepointer to latency queue
Returns
void pointer to popped item

Definition at line 132 of file ni_lat_meas.c.

◆ ni_lat_meas_q_destroy()

void ni_lat_meas_q_destroy ( ni_lat_meas_q_t frame_time_q)

Destroy a latency measurement queue object.


Parameters
frame_time_qpointer to ni_lat_meas_q_t object
Returns

Definition at line 97 of file ni_lat_meas.c.

◆ ni_lat_meas_q_enqueue()

void* ni_lat_meas_q_enqueue ( ni_lat_meas_q_t queue,
ni_lat_meas_q_entry_t  item 
)

Push an item onto the queue.


Parameters
queuepointer to latency queue
itemni_lat_meas_q_entry_t item to push onto the queue
Returns
void 1 if success, NULL if failed

Definition at line 112 of file ni_lat_meas.c.

◆ ni_lat_meas_q_front()

void* ni_lat_meas_q_front ( ni_lat_meas_q_t queue)

Get a pointer to front of queue.


Parameters
queuepointer to latency queue
Returns
void pointer to front of queue

Definition at line 166 of file ni_lat_meas.c.

◆ ni_lat_meas_q_rear()

void* ni_lat_meas_q_rear ( ni_lat_meas_q_t queue)

Get a pointer to rear of queue.


Parameters
queuepointer to latency queue
Returns
void pointer to rear of queue

Definition at line 153 of file ni_lat_meas.c.