summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2022-02-01pipeline: raspberrypi: Fix log messageNaushir Patuck
2022-01-27utils: ipc: Add __init__.py for local module utils/ipc/generatorsHan-Lin Chen
2022-01-21v4l2: V4L2CameraProxy: Add support for PREPARE_BUF as one of the supported ioctlVedant Paranjape
2022-01-19gstreamer: gstlibcamerasrc: Fix include orderingKieran Bingham
2022-01-19qcam: main_window: Fix include orderingKieran Bingham
2022-01-19test: Ensure CameraTest tests are not run in parallelKieran Bingham
2022-01-19pipeline: raspberrypi: Return all ISP resolutions from generateConfiguration()Naushir Patuck
2022-01-19pipeline: raspberrypi: Simplify calculation of sensor's native Bayer orderDavid Plowman
2022-01-19libcamera: camera_sensor: Clear camera flips after opening the deviceDavid Plowman
2022-01-17test: v4l2_compat: Add --verbose argumentLaurent Pinchart
2022-01-14v4l2: v4l2_camera_proxy: Use file description in debug messagesLaurent Pinchart
2022-01-14v4l2: v4l2_compat_manager: Store V4L2CameraFile in mmaps_Laurent Pinchart
2022-01-14v4l2: v4l2_camera_proxy: Drop trace message from freeBuffers()Laurent Pinchart
2022-01-14v4l2: v4l2_camera_file: Store file descriptionLaurent Pinchart
2022-01-14v4l2: v4l2_compat_manager: Print path and fd in openat()Laurent Pinchart
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
opt">()) print('Capturing...') self.app.exec() print('Exiting...') def readcam(self): running = self.state.event_handler() if not running: self.app.quit() def readkey(self): sys.stdin.readline() self.app.quit() def request_handler(self, ctx, req): buffers = req.buffers for stream, fb in buffers.items(): wnd = next(wnd for wnd in self.windows if wnd.stream == stream) mfb = self.buf_mmap_map[fb] wnd.handle_request(stream, mfb) self.state.request_processed(ctx, req) def cleanup(self): for w in self.windows: w.close() class MainWindow(QtWidgets.QWidget): def __init__(self, ctx, stream): super().__init__() self.ctx = ctx self.stream = stream self.label = QtWidgets.QLabel() windowLayout = QtWidgets.QHBoxLayout() self.setLayout(windowLayout) windowLayout.addWidget(self.label) controlsLayout = QtWidgets.QVBoxLayout() windowLayout.addLayout(controlsLayout) windowLayout.addStretch() group = QtWidgets.QGroupBox('Info') groupLayout = QtWidgets.QVBoxLayout() group.setLayout(groupLayout) controlsLayout.addWidget(group) lab = QtWidgets.QLabel(ctx.id) groupLayout.addWidget(lab) self.frameLabel = QtWidgets.QLabel() groupLayout.addWidget(self.frameLabel) group = QtWidgets.QGroupBox('Properties') groupLayout = QtWidgets.QVBoxLayout() group.setLayout(groupLayout) controlsLayout.addWidget(group) camera = ctx.camera for cid, cv in camera.properties.items(): lab = QtWidgets.QLabel() lab.setText('{} = {}'.format(cid, cv)) groupLayout.addWidget(lab) group = QtWidgets.QGroupBox('Controls') groupLayout = QtWidgets.QVBoxLayout() group.setLayout(groupLayout) controlsLayout.addWidget(group) for cid, cinfo in camera.controls.items(): lab = QtWidgets.QLabel() lab.setText('{} = {}/{}/{}' .format(cid, cinfo.min, cinfo.max, cinfo.default)) groupLayout.addWidget(lab) controlsLayout.addStretch() def buf_to_qpixmap(self, stream, mfb): cfg = stream.configuration if cfg.pixel_format == libcam.formats.MJPEG: pix = QtGui.QPixmap(cfg.size.width, cfg.size.height) pix.loadFromData(mfb.planes[0]) else: rgb = mfb_to_rgb(mfb, cfg) if rgb is None: raise Exception('Format not supported: ' + cfg.pixel_format) pix = rgb_to_pix(rgb) return pix def handle_request(self, stream, mfb): ctx = self.ctx pix = self.buf_to_qpixmap(stream, mfb) self.label.setPixmap(pix) self.frameLabel.setText('Queued: {}\nDone: {}\nFps: {:.2f}' .format(ctx.reqs_queued, ctx.reqs_completed, ctx.fps))