[RFC,0/6] rkisp1: Add support for YUV bypass
mbox series

Message ID 20251209180954.332392-1-isaac.scott@ideasonboard.com
Headers show
Series
  • rkisp1: Add support for YUV bypass
Related show

Message

Isaac Scott Dec. 9, 2025, 6:09 p.m. UTC
Hi All,

The rkisp1 features the capability to use YUV bypass, which lets input
YUV streams to bypass all ISP blocks, and be presented at the output of
the ISP without being modified. This functionality is unimplemented
currently.

This series adds a new type of CameraSensor class, which can be used to
represent cameras that do not support controls made mandatory by
CameraSensorLegacy. Lots of this implementation is untested, such as
FocusLens.

This series is tested and works on the Debix Model A iMX8 MPlus with a
GC2145 camera sensor outputting UYVY8_1X16, on top of origin/master,
alongside with these kernel patches:

https://lore.kernel.org/linux-media/20251209123136.273938-1-isaac.scott@ideasonboard.com/T/#t

I am marking this series as RFC because I am keen to know if any other
developers have any ideas on how to improve the series, or if there are
other considerations / edge cases that I need to address.

Best wishes,
Isaac

Isaac Scott (6):
  camera_sensor: Add camera_sensor_basic
  ipa: rkisp1: Let all controls be optional
  pipeline: rkisp1: Add support for YUV passthrough
  pipeline: rkisp1: Add YUV bypass formats to list of 'raw' formats
  rkisp1_path: Determine if the ISP is bypassed for YUV and RAW formats
  rkisp1: Add bypass configurations to ipa_context

 src/ipa/rkisp1/ipa_context.h                  |   2 +
 src/ipa/rkisp1/rkisp1.cpp                     |  45 +-
 src/libcamera/pipeline/rkisp1/rkisp1.cpp      |  75 +-
 src/libcamera/pipeline/rkisp1/rkisp1_path.cpp |  65 +-
 src/libcamera/sensor/camera_sensor_basic.cpp  | 965 ++++++++++++++++++
 src/libcamera/sensor/meson.build              |   1 +
 6 files changed, 1098 insertions(+), 55 deletions(-)
 create mode 100644 src/libcamera/sensor/camera_sensor_basic.cpp