Skip to content

Commit e2defe4

Browse files
committed
Move module globals into module headers
A bit tidier organization, easier to manage
1 parent 2d9605c commit e2defe4

File tree

5 files changed

+317
-326
lines changed

5 files changed

+317
-326
lines changed

src/core.h

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,35 @@
11
// C headers
22
#include "py/runtime.h"
33

4+
// Function declarations
45
extern mp_obj_t cv2_core_convertScaleAbs(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
56
extern mp_obj_t cv2_core_inRange(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
7+
8+
// Python references to the functions
9+
static MP_DEFINE_CONST_FUN_OBJ_KW(cv2_core_convertScaleAbs_obj, 1, cv2_core_convertScaleAbs);
10+
static MP_DEFINE_CONST_FUN_OBJ_KW(cv2_core_inRange_obj, 3, cv2_core_inRange);
11+
12+
// Global definitions for functions and constants
13+
#define OPENCV_CORE_GLOBALS \
14+
/* Functions */ \
15+
{ MP_ROM_QSTR(MP_QSTR_convertScaleAbs), MP_ROM_PTR(&cv2_core_convertScaleAbs_obj) }, \
16+
{ MP_ROM_QSTR(MP_QSTR_inRange), MP_ROM_PTR(&cv2_core_inRange_obj) }, \
17+
\
18+
/* OpenCV data types, from opencv2/core/hal/interface.h */ \
19+
/* Other types are currently not supported by ulab */ \
20+
{ MP_ROM_QSTR(MP_QSTR_CV_8U), MP_ROM_INT(0) }, \
21+
{ MP_ROM_QSTR(MP_QSTR_CV_8S), MP_ROM_INT(1) }, \
22+
{ MP_ROM_QSTR(MP_QSTR_CV_16U), MP_ROM_INT(2) }, \
23+
{ MP_ROM_QSTR(MP_QSTR_CV_16S), MP_ROM_INT(3) }, \
24+
{ MP_ROM_QSTR(MP_QSTR_CV_32F), MP_ROM_INT(4) }, \
25+
\
26+
/* Border types, from opencv2/core/base.hpp */ \
27+
{ MP_ROM_QSTR(MP_QSTR_BORDER_CONSTANT), MP_ROM_INT(0) }, \
28+
{ MP_ROM_QSTR(MP_QSTR_BORDER_REPLICATE), MP_ROM_INT(1) }, \
29+
{ MP_ROM_QSTR(MP_QSTR_BORDER_REFLECT), MP_ROM_INT(2) }, \
30+
{ MP_ROM_QSTR(MP_QSTR_BORDER_WRAP), MP_ROM_INT(3) }, \
31+
{ MP_ROM_QSTR(MP_QSTR_BORDER_REFLECT_101), MP_ROM_INT(4) }, \
32+
{ MP_ROM_QSTR(MP_QSTR_BORDER_TRANSPARENT), MP_ROM_INT(5) }, \
33+
{ MP_ROM_QSTR(MP_QSTR_BORDER_REFLECT101), MP_ROM_INT(4) }, \
34+
{ MP_ROM_QSTR(MP_QSTR_BORDER_DEFAULT), MP_ROM_INT(4) }, \
35+
{ MP_ROM_QSTR(MP_QSTR_BORDER_ISOLATED), MP_ROM_INT(16) }

src/highgui.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
// C headers
22
#include "py/runtime.h"
33

4+
// Function declarations
45
extern mp_obj_t cv2_highgui_imshow(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
56
extern mp_obj_t cv2_highgui_waitKey(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
7+
8+
// Python references to the functions
9+
static MP_DEFINE_CONST_FUN_OBJ_KW(cv2_highgui_imshow_obj, 2, cv2_highgui_imshow);
10+
static MP_DEFINE_CONST_FUN_OBJ_KW(cv2_highgui_waitKey_obj, 0, cv2_highgui_waitKey);
11+
12+
// Global definitions for functions and constants
13+
#define OPENCV_HIGHGUI_GLOBALS \
14+
/* Functions */ \
15+
{ MP_ROM_QSTR(MP_QSTR_imshow), MP_ROM_PTR(&cv2_highgui_imshow_obj) }, \
16+
{ MP_ROM_QSTR(MP_QSTR_waitKey), MP_ROM_PTR(&cv2_highgui_waitKey_obj) }

src/imgcodecs.h

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,73 @@
11
// C headers
22
#include "py/runtime.h"
33

4+
// Function declarations
45
extern mp_obj_t cv2_imgcodecs_imread(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
56
extern mp_obj_t cv2_imgcodecs_imwrite(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
7+
8+
// Python references to the functions
9+
static MP_DEFINE_CONST_FUN_OBJ_KW(cv2_imgcodecs_imread_obj, 1, cv2_imgcodecs_imread);
10+
static MP_DEFINE_CONST_FUN_OBJ_KW(cv2_imgcodecs_imwrite_obj, 2, cv2_imgcodecs_imwrite);
11+
12+
// Global definitions for functions and constants
13+
#define OPENCV_IMGCODECS_GLOBALS \
14+
/* Functions */ \
15+
{ MP_ROM_QSTR(MP_QSTR_imread), MP_ROM_PTR(&cv2_imgcodecs_imread_obj) }, \
16+
{ MP_ROM_QSTR(MP_QSTR_imwrite), MP_ROM_PTR(&cv2_imgcodecs_imwrite_obj) }, \
17+
\
18+
/* Image read flags, from opencv2/imgcodecs.hpp */ \
19+
{ MP_ROM_QSTR(MP_QSTR_IMREAD_UNCHANGED), MP_ROM_INT(-1) }, \
20+
{ MP_ROM_QSTR(MP_QSTR_IMREAD_GRAYSCALE), MP_ROM_INT(0) }, \
21+
{ MP_ROM_QSTR(MP_QSTR_IMREAD_COLOR_BGR), MP_ROM_INT(1) }, \
22+
{ MP_ROM_QSTR(MP_QSTR_IMREAD_COLOR), MP_ROM_INT(1) }, \
23+
{ MP_ROM_QSTR(MP_QSTR_IMREAD_ANYDEPTH), MP_ROM_INT(2) }, \
24+
{ MP_ROM_QSTR(MP_QSTR_IMREAD_ANYCOLOR), MP_ROM_INT(4) }, \
25+
{ MP_ROM_QSTR(MP_QSTR_IMREAD_LOAD_GDAL), MP_ROM_INT(8) }, \
26+
{ MP_ROM_QSTR(MP_QSTR_IMREAD_REDUCED_GRAYSCALE_2), MP_ROM_INT(16) }, \
27+
{ MP_ROM_QSTR(MP_QSTR_IMREAD_REDUCED_COLOR_2), MP_ROM_INT(17) }, \
28+
{ MP_ROM_QSTR(MP_QSTR_IMREAD_REDUCED_GRAYSCALE_4), MP_ROM_INT(32) }, \
29+
{ MP_ROM_QSTR(MP_QSTR_IMREAD_REDUCED_COLOR_4), MP_ROM_INT(33) }, \
30+
{ MP_ROM_QSTR(MP_QSTR_IMREAD_REDUCED_GRAYSCALE_8), MP_ROM_INT(64) }, \
31+
{ MP_ROM_QSTR(MP_QSTR_IMREAD_REDUCED_COLOR_8), MP_ROM_INT(65) }, \
32+
{ MP_ROM_QSTR(MP_QSTR_IMREAD_IGNORE_ORIENTATION), MP_ROM_INT(128) }, \
33+
{ MP_ROM_QSTR(MP_QSTR_IMREAD_COLOR_RGB), MP_ROM_INT(256) }, \
34+
\
35+
/* Image write flags, from opencv2/imgcodecs.hpp */ \
36+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_JPEG_QUALITY), MP_ROM_INT(1) }, \
37+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_JPEG_PROGRESSIVE), MP_ROM_INT(2) }, \
38+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_JPEG_OPTIMIZE), MP_ROM_INT(3) }, \
39+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_JPEG_RST_INTERVAL), MP_ROM_INT(4) }, \
40+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_JPEG_LUMA_QUALITY), MP_ROM_INT(5) }, \
41+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_JPEG_CHROMA_QUALITY), MP_ROM_INT(6) }, \
42+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_JPEG_SAMPLING_FACTOR), MP_ROM_INT(7) }, \
43+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_PNG_COMPRESSION), MP_ROM_INT(16) }, \
44+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_PNG_STRATEGY), MP_ROM_INT(17) }, \
45+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_PNG_BILEVEL), MP_ROM_INT(18) }, \
46+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_PXM_BINARY), MP_ROM_INT(32) }, \
47+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_EXR_TYPE), MP_ROM_INT((3 << 4) + 0) }, \
48+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_EXR_COMPRESSION), MP_ROM_INT((3 << 4) + 1) }, \
49+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_EXR_DWA_COMPRESSION_LEVEL), MP_ROM_INT((3 << 4) + 2) }, \
50+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_WEBP_QUALITY), MP_ROM_INT(64) }, \
51+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_HDR_COMPRESSION), MP_ROM_INT((5 << 4) + 0) }, \
52+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_PAM_TUPLETYPE), MP_ROM_INT(128) }, \
53+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_TIFF_RESUNIT), MP_ROM_INT(256) }, \
54+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_TIFF_XDPI), MP_ROM_INT(257) }, \
55+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_TIFF_YDPI), MP_ROM_INT(258) }, \
56+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_TIFF_COMPRESSION), MP_ROM_INT(259) }, \
57+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_TIFF_ROWSPERSTRIP), MP_ROM_INT(278) }, \
58+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_TIFF_PREDICTOR), MP_ROM_INT(317) }, \
59+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_JPEG2000_COMPRESSION_X1000), MP_ROM_INT(272) }, \
60+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_AVIF_QUALITY), MP_ROM_INT(512) }, \
61+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_AVIF_DEPTH), MP_ROM_INT(513) }, \
62+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_AVIF_SPEED), MP_ROM_INT(514) }, \
63+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_JPEGXL_QUALITY), MP_ROM_INT(640) }, \
64+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_JPEGXL_EFFORT), MP_ROM_INT(641) }, \
65+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_JPEGXL_DISTANCE), MP_ROM_INT(642) }, \
66+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_JPEGXL_DECODING_SPEED), MP_ROM_INT(643) }, \
67+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_GIF_LOOP), MP_ROM_INT(1024) }, \
68+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_GIF_SPEED), MP_ROM_INT(1025) }, \
69+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_GIF_QUALITY), MP_ROM_INT(1026) }, \
70+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_GIF_DITHER), MP_ROM_INT(1027) }, \
71+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_GIF_TRANSPARENCY), MP_ROM_INT(1028) }, \
72+
{ MP_ROM_QSTR(MP_QSTR_IMWRITE_GIF_COLORTABLE), MP_ROM_INT(1029) }
73+

0 commit comments

Comments
 (0)