summaryrefslogtreecommitdiff
path: root/subprojects/packagefiles
AgeCommit message (Collapse)Author
2023-10-13android: mm: generic: Use GraphicBufferAllocator instead of gralloc.hMattijs Korpershoek
gralloc.h is a very old API that has been deprecated at least since Android P (9). Switch over to a higher level abstraction of gralloc from libui, which is compatible with Android 11 and up. Libui: * is provided in the VNDK (so it's available to vendors). * is also used in the camera vts test named VtsAidlHalCameraProvider_TargetTest. Notes: * GraphicsBufferAllocator being a Singleton, buffer lifecycle management is easier. * The imported headers from Android generate the -Wextra-semi warning. To avoid patching the files, a pragma has been added before inclusion. * libdl was used for dlclosing() the legacy hal, so the dep has been dropped Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2023-10-13subprojects: Add Android VNDK to compile test the HALMattijs Korpershoek
The Android HAL has quite some Android-specific dependencies (such as libhardware) which are not part of regular linux distributions. To compile-test the HAL on a Linux x86 system, we have added some stubs. This means that each time we add a new Android specific dependency, we need to write an associated stub for it, which can get tricky, especially for complex C++ classes such as GraphicBufferAllocator. It would be easier if we could import the includes and the required libraries we need from Android so that we can build-test the HAL. The Vendor Native Development Kit (VNDK) provides all the libraries that a vendor service (such as the libcamera HAL) can link against. Add the VNDK as a subproject of libcamera and add the necessary meson bits so that we can compile test the Android HAL on linux without having to stub anything. Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2023-06-04subprojects: Drop leftovers of pybind11Tomi Valkeinen
The pybind11 subproject was removed in commit ad4719c10c6a ("py: Move to mainline pybind11 version"), but two traces remained, one in .gitignore and a second one as a meson.build for pybind11. Remove them. Fixes: ad4719c10c6a ("py: Move to mainline pybind11 version") Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2022-05-10Add Python bindingsTomi Valkeinen
Add libcamera Python bindings. pybind11 is used to generate the C++ <-> Python layer. We use pybind11 'smart_holder' version to avoid issues with private destructors and shared_ptr. There is also an alternative solution here: https://github.com/pybind/pybind11/pull/2067 Only a subset of libcamera classes are exposed. Implementing and testing the wrapper classes is challenging, and as such only classes that I have needed have been added so far. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>