summaryrefslogtreecommitdiff
path: root/src/v4l2/v4l2_camera_proxy.cpp
AgeCommit message (Expand)Author
2021-09-10v4l2: v4l2_camera_proxy: Set the compressed flag in enum_fmtPaul Elder
2021-09-10v4l2: v4l2_camera_proxy: Report the proper format name in enum_fmtPaul Elder
2021-09-07v4l2: Sum bytesused for all planes when dequeuing bufferLaurent Pinchart
2021-09-07libcamera: framebuffer: Prevent modifying the number of metadata planesLaurent Pinchart
2021-09-07libcamera: Use V4L2PixelFormat::fromPixelFormat()Laurent Pinchart
2021-09-05v4l2: Use V4L2PixelFormat::toPixelFormat()Laurent Pinchart
2021-06-25libcamera/base: Move extended base functionalityKieran Bingham
2021-06-25libcamera/base: Move utils to the base libraryKieran Bingham
2020-10-21v4l2: camera: Prevent shadowing within V4L2Camera::BufferKieran Bingham
2020-10-20v4l2: Omit extra semicolonsHirokazu Honda
2020-08-25v4l2: camera: Merge getStreamConfig() with open()Laurent Pinchart
2020-08-25v4l2: camera_proxy: Store v4l2_pix_format instead of v4l2_formatLaurent Pinchart
2020-08-25v4l2: camera_proxy: Pass const reference to setFmtFromConfig()Laurent Pinchart
2020-08-05libcamera: camera: Rename name() to id()Niklas Söderlund
2020-07-10v4l2: v4l2_camera_proxy: Use stream config in tryFormatPaul Elder
2020-07-10v4l2: v4l2_camera_proxy: Get stride and frameSize from stream configPaul Elder
2020-06-25v4l2: v4l2_camera_proxy: Serialize accesses to the proxyPaul Elder
2020-06-25v4l2: v4l2_camera_proxy: Fix buffer flags related to queueingPaul Elder
2020-06-25v4l2: v4l2_camera_proxy: Don't allow buffers to be freed if still mmapedPaul Elder
2020-06-25v4l2: v4l2_camera_proxy: Don't allow streamon if no buffers have been requestedPaul Elder
2020-06-25v4l2: v4l2_camera_proxy: Check arg->index bounds for querybuf, qbuf, dqbufPaul Elder
2020-06-25v4l2: v4l2_camera: Don't use libcamera::Semaphore for available buffersPaul Elder
2020-06-25v4l2: v4l2_camera_proxy: Clear internal buffer vector on reqbufs 0Paul Elder
2020-06-25v4l2: v4l2_camera_proxy: noop if streamon when stream is already onPaul Elder
2020-06-25v4l2: v4l2_camera_proxy: Disallow dqbuf when not streamingPaul Elder
2020-06-25v4l2: v4l2_camera_proxy: Implement VIDIOC_ENUM_FRAMESIZESPaul Elder
2020-06-25v4l2: v4l2_camera_proxy: Implement VIDIOC_ENUMINPUT, VIDIOC_G/S_INPUTPaul Elder
2020-06-25v4l2: v4l2_camera_proxy: Implement VIDIOC_G/S_PRIORITYPaul Elder
2020-06-25v4l2: v4l2_camera_proxy: Fix v4l2-compliance support for extended formatsPaul Elder
2020-06-25v4l2: v4l2_camera_proxy: Check for null arg values in main ioctl handlerPaul Elder
2020-06-25v4l2: v4l2_camera_proxy: Set timestamp monotonic buffer flag on reqbufsPaul Elder
2020-06-25v4l2: v4l2_camera_proxy: Clear reserved field in reqbufsPaul Elder
2020-06-25v4l2: v4l2_camera_proxy: Free old buffers on reqbufs > 0Paul Elder
2020-06-25v4l2: v4l2_compat: Support multiple openPaul Elder
2020-06-25v4l2: V4L2CameraProxy: Take V4L2CameraFile as argument for intercepted callsPaul Elder
2020-06-23libcamera: Add support for planar YUV422 and YUV420 formatsDavid Plowman
2020-06-19v4l2: v4l2_compat: Intercept open64, openat64, and mmap64Paul Elder
2020-06-18v4l2: Replace explicit DRM FourCCs with libcamera formatsLaurent Pinchart
2020-06-17v4l2: v4l2_camera_proxy, v4l2_camera: Check return values of read/writePaul Elder
2020-06-09v4l2: v4l2_camera_proxy: Support MJPEGPaul Elder
2020-06-08v4l2: v4l2_camera_proxy: Fix NV24 subsamplingKieran Bingham
2020-06-08v4l2: v4l2_camera_proxy: Fix segfault on restarting streamsPaul Elder
2020-06-08v4l2: v4l2_compat: Add eventfd signaling to support pollingPaul Elder
2020-06-08v4l2: v4l2_camera_proxy: Don't return -EINVAL for zero sizeimage in REQBUFSPaul Elder
2020-06-08v4l2: v4l2_camera_proxy: Acquire only one buffer semaphore on VIDIOC_DQBUFPaul Elder
2020-06-08v4l2: v4l2_camera_proxy: Fix bounds check for VIDIOC_ENUM_FMTPaul Elder
2020-05-28v4l2: Relicense V4L2 compatibility layer under LGPLLaurent Pinchart
2020-05-16libcamera: Move internal headers to include/libcamera/internal/Laurent Pinchart
2020-03-18libcamera: PixelFormat: Mark all function arguments of type PixelFormat as co...Niklas Söderlund
2020-03-18libcamera: PixelFormat: Make constructor explicitLaurent Pinchart
ass="hl opt">->data(0).data()); if (ret < 0) std::cerr << "failed to write DNG file `" << filename << "'" << std::endl; return; } #endif /* HAVE_TIFF */ fd = open(filename.c_str(), O_CREAT | O_WRONLY | (pos == std::string::npos ? O_APPEND : O_TRUNC), S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH); if (fd == -1) { ret = -errno; std::cerr << "failed to open file " << filename << ": " << strerror(-ret) << std::endl; return; } for (unsigned int i = 0; i < buffer->planes().size(); ++i) { /* * This was formerly a local "const FrameMetadata::Plane &" * however this causes a false positive warning for dangling * references on gcc 13. */ const unsigned int bytesused = buffer->metadata().planes()[i].bytesused; Span<uint8_t> data = image->data(i); const unsigned int length = std::min<unsigned int>(bytesused, data.size()); if (bytesused > data.size()) std::cerr << "payload size " << bytesused << " larger than plane size " << data.size() << std::endl; ret = ::write(fd, data.data(), length); if (ret < 0) { ret = -errno; std::cerr << "write error: " << strerror(-ret) << std::endl; break; } else if (ret != (int)length) { std::cerr << "write error: only " << ret << " bytes written instead of " << length << std::endl; break; } } close(fd); }