The open imaging DSP library
Loading...
Searching...
No Matches
types.h
1
8#ifndef MPIX_TYPES_H
9#define MPIX_TYPES_H
10
11#include <stdint.h>
12#include <stddef.h>
13
14#include <mpix/genlist.h>
15
22#define MPIX_OP_ENUM(X, x) \
23 MPIX_OP_##X,
24MPIX_FOR_EACH_OP(MPIX_OP_ENUM)
25 MPIX_OP_END,
26 MPIX_NB_OP,
27};
28
36
50
68
74 uint32_t fourcc;
76 uint16_t width;
78 uint16_t height;
79};
80
86struct mpix_ring {
88 uint8_t *buffer;
90 size_t size;
92 size_t head;
94 size_t tail;
96 size_t peek;
98 uint8_t full : 1;
100 uint8_t allocated : 1;
101};
102
127
142 const uint8_t *buffer;
144 size_t size;
149};
150
152struct mpix_str {
154 const char *name;
156 uint32_t value;
157};
158
162 uint8_t colors_rgb24[3 << 8];
164 uint32_t fourcc;
165};
166
170 uint16_t y_histogram[64];
172 uint8_t y_histogram_vals[64];
176 uint8_t rgb_average[3];
178 uint8_t rgb_min[3];
180 uint8_t rgb_max[3];
182 uint16_t nvals;
183};
184
200
201#endif
mpix_kernel_type
Definition types.h:38
mpix_op_type
MPIX operation type identifying an operation family.
Definition types.h:21
mpix_control_id
Definition types.h:52
mpix_jpeg_quality
Definition types.h:30
@ MPIX_KERNEL_EDGE_DETECT
Definition types.h:40
@ MPIX_KERNEL_GAUSSIAN_BLUR
Definition types.h:42
@ MPIX_KERNEL_SHARPEN
Definition types.h:46
@ MPIX_KERNEL_IDENTITY
Definition types.h:44
@ MPIX_CID_BLUE_BALANCE
Definition types.h:60
@ MPIX_CID_JPEG_QUALITY
Definition types.h:62
@ MPIX_CID_RED_BALANCE
Definition types.h:58
@ MPIX_CID_GAMMA_LEVEL
Definition types.h:56
@ MPIX_CID_COLOR_MATRIX
Definition types.h:64
@ MPIX_NB_CID
Definition types.h:66
@ MPIX_CID_BLACK_LEVEL
Definition types.h:54
@ MPIX_NB_JPEG_QUALITY
Definition types.h:34
@ MPIX_JPEG_QUALITY_DEFAULT
Definition types.h:32
Definition types.h:186
int32_t exposure_max
Definition types.h:190
int32_t red_balance_q10
Definition types.h:196
int32_t blue_balance_q10
Definition types.h:198
uint8_t ae_target
Definition types.h:188
int32_t exposure_level
Definition types.h:192
int32_t black_level
Definition types.h:194
One step of a line operation pipeline.
Definition types.h:111
struct mpix_base_op * next
Definition types.h:113
uint16_t line_offset
Definition types.h:119
struct mpix_ring ring
Definition types.h:121
uint32_t total_time_us
Definition types.h:125
uint32_t start_time_us
Definition types.h:123
enum mpix_op_type type
Definition types.h:115
struct mpix_format fmt
Definition types.h:117
Image format description.
Definition types.h:72
uint16_t height
Definition types.h:78
uint16_t width
Definition types.h:76
uint32_t fourcc
Definition types.h:74
Represent the image currently being processed.
Definition types.h:136
struct mpix_base_op * first_op
Definition types.h:138
struct mpix_base_op * last_op
Definition types.h:140
int32_t * ctrls[MPIX_NB_CID]
Definition types.h:148
const uint8_t * buffer
Definition types.h:142
size_t size
Definition types.h:144
struct mpix_format fmt
Definition types.h:146
Definition types.h:160
uint32_t fourcc
Definition types.h:164
uint8_t colors_rgb24[3<< 8]
Definition types.h:162
Ring buffer of pixels.
Definition types.h:86
uint8_t allocated
Definition types.h:100
size_t peek
Definition types.h:96
uint8_t * buffer
Definition types.h:88
size_t head
Definition types.h:92
uint8_t full
Definition types.h:98
size_t size
Definition types.h:90
size_t tail
Definition types.h:94
Definition types.h:168
uint16_t y_histogram_total
Definition types.h:174
uint8_t rgb_min[3]
Definition types.h:178
uint8_t y_histogram_vals[64]
Definition types.h:172
uint16_t y_histogram[64]
Definition types.h:170
uint16_t nvals
Definition types.h:182
uint8_t rgb_average[3]
Definition types.h:176
uint8_t rgb_max[3]
Definition types.h:180
Definition types.h:152
uint32_t value
Definition types.h:156
const char * name
Definition types.h:154