summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2022-01-14v4l2: v4l2_camera_proxy: Zero flags in VIDIOC_REQBUFSLaurent Pinchart
2022-01-10pipeline: raspberrypi: Demote the category of a logging messageNaushir Patuck
2022-01-08libcamera: pipeline: raspberrypi: Update sensor's V4L2_CID_NOTIFY_GAINS controlDavid Plowman
2022-01-08libcamera: v4l2_device: Add support for integer array controlsDavid Plowman
2022-01-08include: linux: Update kernel headers to version v5.16-rc7David Plowman
2022-01-08v4l2: v4l2_camera_proxy: Add EXPBUF as one of the supported ioctlVedant Paranjape
2022-01-06pipeline: raspberrypi: Add support for Video Mux and Bridge devicesNaushir Patuck
2022-01-06pipeline: raspberrypi: Move sensor entity detection out of registerCamera()Naushir Patuck
2022-01-06libcamera: pkg-config: Do not hardcode versionKieran Bingham
2022-01-03meson: reduce required version to 0.53Christian Rauch
2022-01-03libcamera: pipeline_handler: Make lock() and unlock() thread-safeLaurent Pinchart
2022-01-03libcamera: media_device: Move recursive lock handling to pipeline handlerLaurent Pinchart
2022-01-03libcamera: controls: Use ASSERT() instead of assert()Laurent Pinchart
2022-01-03utils: update-kernel-headers: Update path to intel-ipu3.hLaurent Pinchart
2021-12-29Documentation: guides: introduction: Fix typosEugen Hristev via libcamera-devel
2021-12-29libcamera: pipeline: simple: Rename Entity::link to sourceLinkLaurent Pinchart
2021-12-27README: Convert tabs to spacesJohann Koenig
2021-12-22android: Increase result metadata sizePaul Elder
2021-12-22android: camera_capabilities: Fix the type of the capability vectorPaul Elder
2021-12-22android: camera_metadata: Add setEntry helperPaul Elder
2021-12-22android: camera_capabilities: Set read sensor settings capabilityPaul Elder
2021-12-22android: camera_capabilities: Add messages for lack of FULL supportPaul Elder
2021-12-14utils: tracepoints: gen-tp-header: Add execute permissionBrian Olson
2021-12-14libcamera: Restrict .gitignore build/ and patches/ to the root directoryLaurent Pinchart
2021-12-13test: fence: Signal fence onceJacopo Mondi
2021-12-13test: fence: Check write return valueJacopo Mondi
2021-12-13libcamera: pipeline: raspberrypi: Support color spacesDavid Plowman
2021-12-13libcamera: camera: Add validateColorSpaces to CameraConfiguration classDavid Plowman
2021-12-13libcamera: v4l2_subdevice: Support passing ColorSpaces to V4L2 subdevicesDavid Plowman
2021-12-13libcamera: v4l2_subdevice: Add colorSpace field to V4L2SubdeviceFormatDavid Plowman
2021-12-13libcamera: video_device: Support passing ColorSpaces to V4L2 video devicesDavid Plowman
2021-12-13libcamera: video_device: Convert between ColorSpace class and V4L2 formatsDavid Plowman
2021-12-13libcamera: stream: Add ColorSpace fields to StreamConfigurationDavid Plowman
2021-12-13libcamera: Add ColorSpace classDavid Plowman
2021-12-11android: Remove CameraWorkerJacopo Mondi
2021-12-11test: fence: Add test for the Fence classJacopo Mondi
2021-12-11libcamera: pipeline_handler: Prepare RequestJacopo Mondi
2021-12-11libcamera: request: Add Request::Private::prepare()Jacopo Mondi
2021-12-11libcamera: pipeline: Introduce stopDevice()Jacopo Mondi
2021-12-11libcamera: pipeline_handler: Split request queueingJacopo Mondi
2021-12-11libcamera: request: Add Fence to Request::addBuffer()Jacopo Mondi
2021-12-11libcamera: framebuffer: Add Fence to FrameBufferJacopo Mondi
2021-12-11libcamera: fence: Introduce FenceJacopo Mondi
2021-12-11libcamera: request: Make Request class ExtensibleLaurent Pinchart
2021-12-11libcamera: Print Timer identifierJacopo Mondi
2021-12-08pipeline: raspberrypi: Restrict the advertised maximum ISP output resolutionNaushir Patuck
2021-12-08pipeline: raspberrypi: Reduce logging verbosityNaushir Patuck
2021-12-07libcamera: media_device: Skip all non-data links during enumerationLaurent Pinchart
2021-12-07libcamera: Use utils::abs_diff()Laurent Pinchart
2021-12-07libcamera: base: utils: Add abs_diff() utility functionLaurent Pinchart
n class="hl opt">()) { const int fd = plane.fd.get(); auto &info = mappedBuffers[fd]; if (!info.address) { void *address = mmap(nullptr, info.mapLength, mmapFlags, MAP_SHARED, fd, 0); if (address == MAP_FAILED) { int error = -errno; std::cerr << "Failed to mmap plane: " << strerror(-error) << std::endl; return nullptr; } info.address = static_cast<uint8_t *>(address); image->maps_.emplace_back(info.address, info.mapLength); } image->planes_.emplace_back(info.address + plane.offset, plane.length); } return image; } Image::Image() = default; Image::~Image() { for (Span<uint8_t> &map : maps_) munmap(map.data(), map.size()); } unsigned int Image::numPlanes() const { return planes_.size(); } Span<uint8_t> Image::data(unsigned int plane) { assert(plane <= planes_.size()); return planes_[plane]; } Span<const uint8_t> Image::data(unsigned int plane) const { assert(plane <= planes_.size()); return planes_[plane]; }