SatDump 2.0.0-alpha-520736c72
Loading...
Searching...
No Matches
bayer.h
1#pragma once
2
3#include <stdint.h>
4
5#ifdef __cplusplus
6extern "C" {
7#endif
8
9typedef enum {
10 DC1394_COLOR_CODING_MONO8= 352,
11 DC1394_COLOR_CODING_YUV411,
12 DC1394_COLOR_CODING_YUV422,
13 DC1394_COLOR_CODING_YUV444,
14 DC1394_COLOR_CODING_RGB8,
15 DC1394_COLOR_CODING_MONO16,
16 DC1394_COLOR_CODING_RGB16,
17 DC1394_COLOR_CODING_MONO16S,
18 DC1394_COLOR_CODING_RGB16S,
19 DC1394_COLOR_CODING_RAW8,
20 DC1394_COLOR_CODING_RAW16
21} dc1394color_coding_t;
22#define DC1394_COLOR_CODING_MIN DC1394_COLOR_CODING_MONO8
23#define DC1394_COLOR_CODING_MAX DC1394_COLOR_CODING_RAW16
24#define DC1394_COLOR_CODING_NUM (DC1394_COLOR_CODING_MAX - DC1394_COLOR_CODING_MIN + 1)
25
26typedef enum {
27 DC1394_BAYER_METHOD_NEAREST=0,
28 DC1394_BAYER_METHOD_SIMPLE,
29 DC1394_BAYER_METHOD_BILINEAR,
30 DC1394_BAYER_METHOD_HQLINEAR,
31 DC1394_BAYER_METHOD_DOWNSAMPLE,
32 DC1394_BAYER_METHOD_EDGESENSE,
33 DC1394_BAYER_METHOD_VNG,
34 DC1394_BAYER_METHOD_AHD
35} dc1394bayer_method_t;
36#define DC1394_BAYER_METHOD_MIN DC1394_BAYER_METHOD_NEAREST
37#define DC1394_BAYER_METHOD_MAX DC1394_BAYER_METHOD_AHD
38#define DC1394_BAYER_METHOD_NUM (DC1394_BAYER_METHOD_MAX-DC1394_BAYER_METHOD_MIN+1)
39
40typedef enum {
41 DC1394_COLOR_FILTER_RGGB = 512,
42 DC1394_COLOR_FILTER_GBRG,
43 DC1394_COLOR_FILTER_GRBG,
44 DC1394_COLOR_FILTER_BGGR
45} dc1394color_filter_t ;
46#define DC1394_COLOR_FILTER_MIN DC1394_COLOR_FILTER_RGGB
47#define DC1394_COLOR_FILTER_MAX DC1394_COLOR_FILTER_BGGR
48#define DC1394_COLOR_FILTER_NUM (DC1394_COLOR_FILTER_MAX - DC1394_COLOR_FILTER_MIN + 1)
49
55typedef enum {
56 DC1394_SUCCESS = 0,
57 DC1394_FAILURE = -1,
58 DC1394_NOT_A_CAMERA = -2,
59 DC1394_FUNCTION_NOT_SUPPORTED = -3,
60 DC1394_CAMERA_NOT_INITIALIZED = -4,
61 DC1394_MEMORY_ALLOCATION_FAILURE = -5,
62 DC1394_TAGGED_REGISTER_NOT_FOUND = -6,
63 DC1394_NO_ISO_CHANNEL = -7,
64 DC1394_NO_BANDWIDTH = -8,
65 DC1394_IOCTL_FAILURE = -9,
66 DC1394_CAPTURE_IS_NOT_SET = -10,
67 DC1394_CAPTURE_IS_RUNNING = -11,
68 DC1394_RAW1394_FAILURE = -12,
69 DC1394_FORMAT7_ERROR_FLAG_1 = -13,
70 DC1394_FORMAT7_ERROR_FLAG_2 = -14,
71 DC1394_INVALID_ARGUMENT_VALUE = -15,
72 DC1394_REQ_VALUE_OUTSIDE_RANGE = -16,
73 DC1394_INVALID_FEATURE = -17,
74 DC1394_INVALID_VIDEO_FORMAT = -18,
75 DC1394_INVALID_VIDEO_MODE = -19,
76 DC1394_INVALID_FRAMERATE = -20,
77 DC1394_INVALID_TRIGGER_MODE = -21,
78 DC1394_INVALID_TRIGGER_SOURCE = -22,
79 DC1394_INVALID_ISO_SPEED = -23,
80 DC1394_INVALID_IIDC_VERSION = -24,
81 DC1394_INVALID_COLOR_CODING = -25,
82 DC1394_INVALID_COLOR_FILTER = -26,
83 DC1394_INVALID_CAPTURE_POLICY = -27,
84 DC1394_INVALID_ERROR_CODE = -28,
85 DC1394_INVALID_BAYER_METHOD = -29,
86 DC1394_INVALID_VIDEO1394_DEVICE = -30,
87 DC1394_INVALID_OPERATION_MODE = -31,
88 DC1394_INVALID_TRIGGER_POLARITY = -32,
89 DC1394_INVALID_FEATURE_MODE = -33,
90 DC1394_INVALID_LOG_TYPE = -34,
91 DC1394_INVALID_BYTE_ORDER = -35,
92 DC1394_INVALID_STEREO_METHOD = -36,
93 DC1394_BASLER_NO_MORE_SFF_CHUNKS = -37,
94 DC1394_BASLER_CORRUPTED_SFF_CHUNK = -38,
95 DC1394_BASLER_UNKNOWN_SFF_CHUNK = -39
96} dc1394error_t;
97#define DC1394_ERROR_MIN DC1394_BASLER_UNKNOWN_SFF_CHUNK
98#define DC1394_ERROR_MAX DC1394_SUCCESS
99#define DC1394_ERROR_NUM (DC1394_ERROR_MAX-DC1394_ERROR_MIN+1)
100
101typedef enum {
102 DC1394_FALSE= 0,
103 DC1394_TRUE
104} dc1394bool_t;
105
106
107
108
109dc1394error_t
110dc1394_bayer_decoding_8bit(const uint8_t * bayer, uint8_t * rgb, uint32_t sx, uint32_t sy, dc1394color_filter_t tile, dc1394bayer_method_t method);
111
112dc1394error_t
113dc1394_bayer_decoding_16bit(const uint16_t * bayer, uint16_t * rgb, uint32_t sx, uint32_t sy, dc1394color_filter_t tile, dc1394bayer_method_t method, uint32_t bits);
114
115#ifdef __cplusplus
116};
117#endif