The open imaging DSP library
Loading...
Searching...
No Matches
op_bayer.h
1
7#ifndef MPIX_OP_BAYER_H
8#define MPIX_OP_BAYER_H
9
10#include <stdint.h>
11#include <stdlib.h>
12
13#include <mpix/op.h>
14
19};
20
29#define MPIX_REGISTER_BAYER_OP(id, fn, format_in, win_sz) \
30 const struct mpix_bayer_op mpix_bayer_op_##id = { \
31 .base.name = ("bayer_" #id), \
32 .base.format_src = (MPIX_FMT_##format_in), \
33 .base.format_dst = MPIX_FMT_RGB24, \
34 .base.window_size = (win_sz), \
35 .base.run = (fn), \
36 }
37
47void mpix_convert_rggb8_to_rgb24_3x3(const uint8_t *i0, const uint8_t *i1, const uint8_t *i2,
48 uint8_t *rgb24, uint16_t width);
53void mpix_convert_grbg8_to_rgb24_3x3(const uint8_t *i0, const uint8_t *i1, const uint8_t *i2,
54 uint8_t *rgb24, uint16_t width);
59void mpix_convert_bggr8_to_rgb24_3x3(const uint8_t *i0, const uint8_t *i1, const uint8_t *i2,
60 uint8_t *rgb24, uint16_t width);
65void mpix_convert_gbrg8_to_rgb24_3x3(const uint8_t *i0, const uint8_t *i1, const uint8_t *i2,
66 uint8_t *rgb24, uint16_t width);
67
76void mpix_convert_rggb8_to_rgb24_2x2(const uint8_t *i0, const uint8_t *i1, uint8_t *rgb24,
77 uint16_t width);
82void mpix_convert_gbrg8_to_rgb24_2x2(const uint8_t *i0, const uint8_t *i1, uint8_t *rgb24,
83 uint16_t width);
88void mpix_convert_bggr8_to_rgb24_2x2(const uint8_t *i0, const uint8_t *i1, uint8_t *rgb24,
89 uint16_t width);
94void mpix_convert_grbg8_to_rgb24_2x2(const uint8_t *i0, const uint8_t *i1, uint8_t *rgb24,
95 uint16_t width);
96
97#endif
void mpix_convert_grbg8_to_rgb24_2x2(const uint8_t *i0, const uint8_t *i1, uint8_t *rgb24, uint16_t width)
Convert a line from GRBG8 to RGB24 with 2x2 method.
void mpix_convert_gbrg8_to_rgb24_3x3(const uint8_t *i0, const uint8_t *i1, const uint8_t *i2, uint8_t *rgb24, uint16_t width)
Convert a line from GBRG8 to RGB24 with 3x3 method.
void mpix_convert_rggb8_to_rgb24_2x2(const uint8_t *i0, const uint8_t *i1, uint8_t *rgb24, uint16_t width)
Convert a line from RGGB8 to RGB24 with 2x2 method.
void mpix_convert_bggr8_to_rgb24_2x2(const uint8_t *i0, const uint8_t *i1, uint8_t *rgb24, uint16_t width)
Convert a line from BGGR8 to RGB24 with 2x2 method.
void mpix_convert_gbrg8_to_rgb24_2x2(const uint8_t *i0, const uint8_t *i1, uint8_t *rgb24, uint16_t width)
Convert a line from GBRG8 to RGB24 with 2x2 method.
void mpix_convert_bggr8_to_rgb24_3x3(const uint8_t *i0, const uint8_t *i1, const uint8_t *i2, uint8_t *rgb24, uint16_t width)
Convert a line from BGGR8 to RGB24 with 3x3 method.
void mpix_convert_rggb8_to_rgb24_3x3(const uint8_t *i0, const uint8_t *i1, const uint8_t *i2, uint8_t *rgb24, uint16_t width)
Convert a line from RGGB8 to RGB24 with 3x3 method.
void mpix_convert_grbg8_to_rgb24_3x3(const uint8_t *i0, const uint8_t *i1, const uint8_t *i2, uint8_t *rgb24, uint16_t width)
Convert a line from GRBG8 to RGB24 with 3x3 method.
One step of a line operation pipeline.
Definition op.h:27
uint16_t width
Definition op.h:37
Definition op_bayer.h:16
struct mpix_base_op base
Definition op_bayer.h:18