libmpix
The open imaging DSP library
|
One step of a line operation pipeline. More...
#include <op.h>
Data Fields | |
struct mpix_base_op * | next |
const uint8_t * | name |
uint32_t | format_src |
uint32_t | format_dst |
uint16_t | width |
uint16_t | height |
uint16_t | line_offset |
uint16_t | window_size |
uint16_t | threshold |
bool | is_heap |
struct mpix_ring | ring |
void(* | run )(struct mpix_base_op *op) |
uint32_t | start_time_us |
uint32_t | total_time_us |
One step of a line operation pipeline.
mpix_base_op
structs are chained together into a linked list. Each step of the linked list contain a ring buffer for the input data, and a pointer to a conversion function processing it. Along with extra metadata, this is used to process data as a operation of lines.
uint32_t mpix_base_op::format_dst |
Pixel output format
uint32_t mpix_base_op::format_src |
Pixel input format
uint16_t mpix_base_op::height |
Height of the image in pixels
bool mpix_base_op::is_heap |
Whether the ring buffer memory is heap-allocated or external
uint16_t mpix_base_op::line_offset |
Current position within the frame
const uint8_t* mpix_base_op::name |
Name of the operation, useful for debugging the operation
struct mpix_base_op* mpix_base_op::next |
Linked-list entry
struct mpix_ring mpix_base_op::ring |
Ring buffer that keeps track of the position in bytes
void(* mpix_base_op::run) (struct mpix_base_op *op) |
Function that performs the I/O
uint32_t mpix_base_op::start_time_us |
Timestamp since the op started working in CPU cycles
uint16_t mpix_base_op::threshold |
Number of bytes of input needed to call run()
uint32_t mpix_base_op::total_time_us |
Total time spent working in this op through the operation in CPU cycles
uint16_t mpix_base_op::width |
Width of the image in pixels
uint16_t mpix_base_op::window_size |
Number of lines of context around the line being converted