MediaProcessors
Public Attributes | List of all members
proc_ctx_s Struct Reference

#include <proc.h>

Collaboration diagram for proc_ctx_s:
Collaboration graph
[legend]

Public Attributes

const proc_if_tproc_if
 
int proc_instance_index
 
pthread_mutex_t api_mutex
 
log_ctx_tlog_ctx
 
fifo_ctx_tfifo_ctx_array [PROC_IO_NUM]
 
fair_lock_tfair_lock_io_array [PROC_IO_NUM]
 
volatile int flag_exit
 
pthread_t proc_thread
 
const void *(* start_routine )(void *)
 
volatile uint32_t bitrate [PROC_IO_NUM]
 
volatile uint32_t acc_io_bits [PROC_IO_NUM]
 
pthread_mutex_t acc_io_bits_mutex [PROC_IO_NUM]
 
int64_t iput_pts_array [2][IPUT_PTS_ARRAY_SIZE]
 
volatile int iput_pts_array_idx
 
volatile int64_t latency_avg_usec
 
volatile int64_t latency_max_usec
 
volatile int64_t latency_min_usec
 
volatile int64_t acc_latency_nsec
 
volatile int acc_latency_cnt
 
pthread_mutex_t latency_mutex
 
interr_usleep_ctx_tinterr_usleep_ctx
 
pthread_t stats_thread
 

Detailed Description

Generic processor (PROC) context structure.

Definition at line 85 of file proc.h.

Member Data Documentation

pthread_mutex_t proc_ctx_s::api_mutex

Processor API mutual exclusion lock.

Definition at line 99 of file proc.h.

volatile uint32_t proc_ctx_s::bitrate[PROC_IO_NUM]

Bitrate measurement related variables:

  • Input/output bitrate statistics [bits per second];
  • Accumulated bits at input/output interface. These variables are used internally to compute the input and output bitrate statistics periodically;
  • Critical region to acquire or modify 'acc_io_bits[]' variable field.

Definition at line 121 of file proc.h.

fair_lock_t* proc_ctx_s::fair_lock_io_array[PROC_IO_NUM]

Input/output mutual exclusion locks.

Definition at line 111 of file proc.h.

fifo_ctx_t* proc_ctx_s::fifo_ctx_array[PROC_IO_NUM]

Input/output FIFO buffers.

Definition at line 107 of file proc.h.

volatile int proc_ctx_s::flag_exit

Processing thread exit indicator. Set to non-zero to signal processing to abort immediately.

Definition at line 169 of file proc.h.

interr_usleep_ctx_t* proc_ctx_s::interr_usleep_ctx

Interruptible u-sleep used for periodical statistics thread.

Definition at line 159 of file proc.h.

volatile int64_t proc_ctx_s::latency_avg_usec

Latency measurement related variables.

  • Average latency statistic [microseconds/second] (average value computed in a one-second period);
  • Accumulated latency value (addition of individual frame latencies in the average period);
  • Average counter (number of values that are added, used to compute average value);
  • Critical region to acquire or modify these field.

Definition at line 148 of file proc.h.

log_ctx_t* proc_ctx_s::log_ctx

External LOG module context structure instance.

Definition at line 103 of file proc.h.

const proc_if_t* proc_ctx_s::proc_if

PROC interface structure.

Definition at line 89 of file proc.h.

int proc_ctx_s::proc_instance_index

Each PROC instance is registered in an instance array with a specific index. The idea behind using an array is to fetch as fast as possible the PROC instance to perform i/o operations.

Definition at line 95 of file proc.h.

pthread_t proc_ctx_s::proc_thread

Processing thread.

Definition at line 173 of file proc.h.

const void*(* proc_ctx_s::start_routine) (void *)

Processing thread function reference. It is initialized to point to the predefined module internal processing function 'proc_thr()' by default. Nevertheless, this pointer can be rewritten by any specific implementation in the 'proc_if_s::open()' callback.

Definition at line 181 of file proc.h.

pthread_t proc_ctx_s::stats_thread

Statistics thread.

Definition at line 163 of file proc.h.


The documentation for this struct was generated from the following file: