[v5,0/4] Add contrast control to software ISP
mbox series

Message ID 20241128125226.683249-1-mzamazal@redhat.com
Headers show
Series
  • Add contrast control to software ISP
Related show

Message

Milan Zamazal Nov. 28, 2024, 12:52 p.m. UTC
The purpose of these patches is adding support to software ISP for
modifying image processing parameters in runtime.

The first software ISP image control, implemented here, is contrast.  It
is simple to implement, doesn’t slow down image processing and can
enhance the image easily.

Changes in v5:
- The contrast value range changed to 0..2 and transformed as suggested
  by Stefan.

Changes in v4:
- Rebased on master; more controls are to be added to the software ISP,
  let’s keep what we already have up to date.

Changes in v3:
- Added a simplified constructor for IPAContext (and the same for ipu3
  when on it; rkisp1 has already been handled elsewhere).
- C++ comment -> C comment.
- Contrast algorithm merged to Lut.

Changes in v2:
- Rebased on the merged version of software ISP refactoring.
- Control initialization moved from toplevel to an algorithm.

Milan Zamazal (4):
  ipa: software_isp: Add constructor to the IPA context
  ipa: ipu3: Add constructor to the IPA context
  libcamera: software_isp: Add support for contrast control
  libcamera: software_isp: Add contrast control

 .../internal/software_isp/software_isp.h      |  3 +-
 include/libcamera/ipa/soft.mojom              |  2 +-
 src/ipa/ipu3/ipa_context.cpp                  |  4 ++
 src/ipa/ipu3/ipa_context.h                    |  5 ++
 src/ipa/ipu3/ipu3.cpp                         |  2 +-
 src/ipa/simple/algorithms/lut.cpp             | 47 +++++++++++++++++--
 src/ipa/simple/algorithms/lut.h               |  6 +++
 src/ipa/simple/ipa_context.h                  | 13 +++++
 src/ipa/simple/soft_simple.cpp                | 11 +++--
 src/libcamera/pipeline/simple/simple.cpp      |  2 +-
 src/libcamera/software_isp/software_isp.cpp   |  8 +++-
 11 files changed, 89 insertions(+), 14 deletions(-)