[RFC,v1,00/27] Misc. changes before request-buffer split
mbox series

Message ID 20260618123844.656396-1-barnabas.pocze@ideasonboard.com
Headers show
Series
  • Misc. changes before request-buffer split
Related show

Message

Barnabás Pőcze June 18, 2026, 12:38 p.m. UTC
This is a collection of miscellaneous, intended to be non-functional changes
that I have made while working on the request-buffer split prototype. Some
are requirements of that, and some are just random changes. But most of these
should be easy to review.

Barnabás Pőcze (27):
  apps: cam: Simplify buffer reuse
  libcamera: request: Inline `Private::hasPendingRequests()`
  libcamera: request: hasPendingBuffers(): Simplify
  libcamera: request: Disassociate buffer when cancelling
  libcamera: software_isp: Replace open-coded buffer cancellation
  libcamera: pipeline: Replace open-coded buffer cancellation
  libcamera: pipeline: imx8-isi: Use `completeBuffer()` return value
  libcamera: pipeline: imx8-isi: pipeFromStream(): Take `ISICameraData`
  libcamera: pipeline: ipu3: Remove `setRequest()` calls
  libcamera: pipeline: mali-c55: Add missing `<queue>` include
  libcamera: pipeline: rkisp1: Simplify dewarper configuration
  libcamera: pipeline: rpi: Remove `requestQueue_`
  libcamera: pipeline: virtual: Make copy of request's buffer map
  libcamera: camera: Add missing `span.h` include
  libcamera: request: completeBuffer(): Emit `bufferCompleted` here
  libcamera: pipeline_handler: completeBuffer(): Inline and `static`
  libcamera: pipeline_handler: Use `std::deque`
  py: examples: simple-continuous-capture: Fix comment
  py: cam: Remove unnecessary check
  gstreamer: allocator: get_pool_size(): Fix return value
  gstreamer: Use `FrameBuffer` cookie to associate with `GstBuffer`
  v4l2: v4l2_camera: Avoid a level of indirection
  v4l2: v4l2_camera: Use actually allocated buffer count
  v4l2: v4l2_camera: Use buffer cookie for indexing
  v4l2: v4l2_camera: Rename `Buffer` to `CompletedBuffer`
  v4l2: v4l2_camera: Always clear pending requests
  v4l2: v4l2_camera: Provide buffers one by one

 include/libcamera/camera.h                    |  1 +
 include/libcamera/internal/camera.h           |  7 +-
 include/libcamera/internal/pipeline_handler.h |  7 +-
 include/libcamera/internal/request.h          |  2 +-
 src/apps/cam/camera_session.cpp               |  7 +-
 src/gstreamer/gstlibcameraallocator.cpp       |  2 +-
 src/gstreamer/gstlibcamerasrc.cpp             | 37 ++++----
 src/libcamera/pipeline/imx8-isi/imx8-isi.cpp  | 24 +++--
 src/libcamera/pipeline/ipu3/cio2.cpp          |  3 +-
 src/libcamera/pipeline/ipu3/cio2.h            |  3 +-
 src/libcamera/pipeline/ipu3/frames.cpp        |  3 -
 src/libcamera/pipeline/ipu3/ipu3.cpp          | 16 +---
 src/libcamera/pipeline/mali-c55/mali-c55.cpp  |  1 +
 src/libcamera/pipeline/rkisp1/rkisp1.cpp      |  5 +-
 .../pipeline/rpi/common/pipeline_base.cpp     | 31 ++----
 .../pipeline/rpi/common/pipeline_base.h       |  2 -
 src/libcamera/pipeline/rpi/pisp/pisp.cpp      |  6 +-
 src/libcamera/pipeline/rpi/vc4/vc4.cpp        |  6 +-
 src/libcamera/pipeline/vimc/vimc.cpp          |  7 +-
 src/libcamera/pipeline/virtual/virtual.cpp    | 40 ++++----
 src/libcamera/pipeline_handler.cpp            | 15 +--
 src/libcamera/request.cpp                     | 11 ++-
 src/libcamera/software_isp/software_isp.cpp   |  6 +-
 src/py/cam/cam.py                             |  4 -
 src/py/examples/simple-continuous-capture.py  |  2 +-
 src/v4l2/v4l2_camera.cpp                      | 79 +++++++--------
 src/v4l2/v4l2_camera.h                        | 21 ++--
 src/v4l2/v4l2_camera_proxy.cpp                | 95 +++++++++----------
 src/v4l2/v4l2_camera_proxy.h                  |  2 -
 29 files changed, 188 insertions(+), 257 deletions(-)

--
2.54.0