[libcamera-devel] [PATCH v7 00/13] Python bindings
Tomi Valkeinen
tomi.valkeinen at ideasonboard.com
Thu May 5 12:40:51 CEST 2022
Hi,
v7 of the Python Bindings series. Changes to v6:
- I updated the minimum required meson version to 0.56 to get the
'patch_directory' feature for wraps. That's actually in 0.55, but 0.56
brings in meson.project_source_root and meson.project_build_root, so I
thought to go to 0.56 right away.
- The pybind11 subproject no longer fetches the branch from my github
repo, but uses the official pybind11 repo, from which it takes the
smart_holder branch. To enable meson build, I use the meson's overlay
feature to provide a meson.build, located in
subprojects/packagefiles/pybind11/meson.build.
- I added multiple patches on top, taken from raspberrypi's picamera2
branch. A few are almost unchanged, some I changed quite a bit, and
the fb mmap change I implemented in a totally different way
(MappedFrameBuffer). These are as separate patches, but could be
squashed.
Tomi
David Plowman (3):
py: add support for the ColorSpace
py: support controls in the start method
py: add support for setting Rectangle and Size controls
Tomi Valkeinen (10):
meson: require meson 0.56+
meson: use new project_*_root() functions
meson: add 'check: true' for run_command() calls
Add Python bindings
py: generate control enums from yaml
py: add unittests.py
py: Add cam.py
py: support setting array-controls
py: add Transform
py: implement MappedFrameBuffer
Documentation/meson.build | 4 +-
README.rst | 4 +-
include/libcamera/ipa/meson.build | 8 +-
meson.build | 17 +-
meson_options.txt | 5 +
src/libcamera/meson.build | 4 +-
src/meson.build | 1 +
src/py/cam/cam.py | 484 ++++++++++++++
src/py/cam/cam_kms.py | 183 ++++++
src/py/cam/cam_null.py | 47 ++
src/py/cam/cam_qt.py | 354 ++++++++++
src/py/cam/cam_qtgl.py | 385 +++++++++++
src/py/cam/gl_helpers.py | 74 +++
src/py/libcamera/__init__.py | 80 +++
src/py/libcamera/gen-py-control-enums.py | 95 +++
src/py/libcamera/meson.build | 53 ++
src/py/libcamera/pyenums.cpp | 53 ++
src/py/libcamera/pyenums_generated.cpp.in | 21 +
src/py/libcamera/pymain.cpp | 608 ++++++++++++++++++
src/py/meson.build | 1 +
subprojects/.gitignore | 3 +-
subprojects/packagefiles/pybind11/meson.build | 8 +
subprojects/pybind11.wrap | 8 +
test/meson.build | 1 +
test/py/meson.build | 17 +
test/py/unittests.py | 368 +++++++++++
.../include/libcamera/ipa/meson.build | 4 +-
27 files changed, 2867 insertions(+), 23 deletions(-)
create mode 100755 src/py/cam/cam.py
create mode 100644 src/py/cam/cam_kms.py
create mode 100644 src/py/cam/cam_null.py
create mode 100644 src/py/cam/cam_qt.py
create mode 100644 src/py/cam/cam_qtgl.py
create mode 100644 src/py/cam/gl_helpers.py
create mode 100644 src/py/libcamera/__init__.py
create mode 100755 src/py/libcamera/gen-py-control-enums.py
create mode 100644 src/py/libcamera/meson.build
create mode 100644 src/py/libcamera/pyenums.cpp
create mode 100644 src/py/libcamera/pyenums_generated.cpp.in
create mode 100644 src/py/libcamera/pymain.cpp
create mode 100644 src/py/meson.build
create mode 100644 subprojects/packagefiles/pybind11/meson.build
create mode 100644 subprojects/pybind11.wrap
create mode 100644 test/py/meson.build
create mode 100755 test/py/unittests.py
--
2.34.1
More information about the libcamera-devel
mailing list