[libcamera-devel,RFC,v3,0/4] pipeline: isp: The software ISP module
mbox series

Message ID tencent_A0DE42F88234F8A4CD41E9386B8306AB4E0A@qq.com
Headers show
Series
  • pipeline: isp: The software ISP module
Related show

Message

Siyuan Fan Aug. 17, 2021, 3:41 p.m. UTC
From: Fan Siyuan <siyuan.fan@foxmail.com>

Changes in v3:
- Using std::queue replaces std::vector for rawBufferQueue_ and rgbBufferQueue_ in 1/4
- Add validate() in pipeline handler in 1/4, for matching the ISP output format
- Add pixelFormatConfiguration() and getOutputPixelFormat() in 2/4
- Drop compress_10bit_to_8bit(), using compressAndTransformFormat() in 2/4

For next version, class ISPCPU will split the parameter computation/calibration and pixel
processing. For pre-calibrated parameters, it may be a good choice to match different
parameters to different devices.

Fan Siyuan (4):
  pipeline: isp: The software ISP-based pipeline handler
  libcamera: swisp: The software ISP class
  libcamera: framebuffer: Add the friend class ISPCPU
  pipeline: isp: All meson configure files

 include/libcamera/framebuffer.h        |   1 +
 meson_options.txt                      |   2 +-
 src/libcamera/pipeline/isp/isp.cpp     | 315 +++++++++++
 src/libcamera/pipeline/isp/meson.build |   6 +
 src/libcamera/swisp/isp.cpp            | 726 +++++++++++++++++++++++++
 src/libcamera/swisp/isp.h              | 125 +++++
 6 files changed, 1174 insertions(+), 1 deletion(-)
 create mode 100644 src/libcamera/pipeline/isp/isp.cpp
 create mode 100644 src/libcamera/pipeline/isp/meson.build
 create mode 100644 src/libcamera/swisp/isp.cpp
 create mode 100644 src/libcamera/swisp/isp.h