[v2,00/10] OV01A10 sensor support and simple IPA improvements
mbox series

Message ID 20260506230722.1041596-1-devve.3@gmail.com
Headers show
Series
  • OV01A10 sensor support and simple IPA improvements
Related show

Message

devve May 6, 2026, 11:07 p.m. UTC
*** BLURB HERE ***

This series adds support for the OV01A10 MIPI camera sensor to the
simple IPA, along with several improvements to the IPA algorithms that
benefit all sensors using the soft pipeline.

Changes in v2:
- Agc: replace std::optional<float> knobs with plain float; remove
  value_or() calls from prepare()/process()
- Awb: lower log level of per-frame gain log from Info to Debug
- Ccm: fix commit message to accurately describe the rename rationale
- Resend as a clean series not in reply to v1

Javier Tia (3):
  ipa: simple: agc: Replace bang-bang controller with proportional
  libcamera: software_isp: Normalize statistics sums to 8-bit
  ipa: libipa: camera_sensor_helper: Add OV2740 black level

Stuart J Mackintosh (1):
  ipa: libipa: camera_sensor_helper: Add OV01A10

d3vv3 (6):
  ipa: simple: awb: Add temporal smoothing and per-channel gain limits
  ipa: simple: adjust: Support gamma, contrast, saturation defaults from
    YAML
  ipa: simple: data: Add OV01A10 tuning file
  ipa: simple: agc: Read exposure target and gain from YAML
  ipa: simple: data: Document tuning parameters in uncalibrated.yaml
  test: ipa: libipa: Add CCM row-sum validation test

 .../internal/software_isp/swstats_cpu.h       |   1 +
 src/ipa/libipa/camera_sensor_helper.cpp       |  14 ++
 src/ipa/simple/algorithms/adjust.cpp          |  48 +++---
 src/ipa/simple/algorithms/adjust.h            |   4 +
 src/ipa/simple/algorithms/agc.cpp             |  82 ++++++---
 src/ipa/simple/algorithms/agc.h               |   8 +
 src/ipa/simple/algorithms/awb.cpp             |  34 +++-
 src/ipa/simple/algorithms/awb.h               |   6 +
 src/ipa/simple/data/meson.build               |   1 +
 src/ipa/simple/data/ov01a10.yaml              |  55 ++++++
 src/ipa/simple/data/uncalibrated.yaml         |  40 ++++-
 src/ipa/simple/ipa_context.h                  |   8 +-
 src/libcamera/software_isp/swstats_cpu.cpp    |   7 +
 test/ipa/libipa/ccm.cpp                       | 158 ++++++++++++++++++
 test/ipa/libipa/meson.build                   |   1 +
 15 files changed, 400 insertions(+), 67 deletions(-)
 create mode 100644 src/ipa/simple/data/ov01a10.yaml
 create mode 100644 test/ipa/libipa/ccm.cpp

Comments

Jacopo Mondi Aug. 6, 2026, 8:31 a.m. UTC | #1
Hello

On Thu, May 07, 2026 at 01:07:12AM +0200, d3vv3 wrote:
> *** BLURB HERE ***
>
> This series adds support for the OV01A10 MIPI camera sensor to the
> simple IPA, along with several improvements to the IPA algorithms that
> benefit all sensors using the soft pipeline.

It seems this series has some changes requested during review, but the
camera sensor helper and tuning file for OV01A10, plus the OV2740
black level are less controversial.

Are you interested in re-sending those three patches only ?

Thanks
  j

>
> Changes in v2:
> - Agc: replace std::optional<float> knobs with plain float; remove
>   value_or() calls from prepare()/process()
> - Awb: lower log level of per-frame gain log from Info to Debug
> - Ccm: fix commit message to accurately describe the rename rationale
> - Resend as a clean series not in reply to v1
>
> Javier Tia (3):
>   ipa: simple: agc: Replace bang-bang controller with proportional
>   libcamera: software_isp: Normalize statistics sums to 8-bit
>   ipa: libipa: camera_sensor_helper: Add OV2740 black level
>
> Stuart J Mackintosh (1):
>   ipa: libipa: camera_sensor_helper: Add OV01A10
>
> d3vv3 (6):
>   ipa: simple: awb: Add temporal smoothing and per-channel gain limits
>   ipa: simple: adjust: Support gamma, contrast, saturation defaults from
>     YAML
>   ipa: simple: data: Add OV01A10 tuning file
>   ipa: simple: agc: Read exposure target and gain from YAML
>   ipa: simple: data: Document tuning parameters in uncalibrated.yaml
>   test: ipa: libipa: Add CCM row-sum validation test
>
>  .../internal/software_isp/swstats_cpu.h       |   1 +
>  src/ipa/libipa/camera_sensor_helper.cpp       |  14 ++
>  src/ipa/simple/algorithms/adjust.cpp          |  48 +++---
>  src/ipa/simple/algorithms/adjust.h            |   4 +
>  src/ipa/simple/algorithms/agc.cpp             |  82 ++++++---
>  src/ipa/simple/algorithms/agc.h               |   8 +
>  src/ipa/simple/algorithms/awb.cpp             |  34 +++-
>  src/ipa/simple/algorithms/awb.h               |   6 +
>  src/ipa/simple/data/meson.build               |   1 +
>  src/ipa/simple/data/ov01a10.yaml              |  55 ++++++
>  src/ipa/simple/data/uncalibrated.yaml         |  40 ++++-
>  src/ipa/simple/ipa_context.h                  |   8 +-
>  src/libcamera/software_isp/swstats_cpu.cpp    |   7 +
>  test/ipa/libipa/ccm.cpp                       | 158 ++++++++++++++++++
>  test/ipa/libipa/meson.build                   |   1 +
>  15 files changed, 400 insertions(+), 67 deletions(-)
>  create mode 100644 src/ipa/simple/data/ov01a10.yaml
>  create mode 100644 test/ipa/libipa/ccm.cpp
>
> --
> 2.54.0
>
Robert Mader Aug. 20, 2026, 8:11 a.m. UTC | #2
On 06.08.26 10:31, Jacopo Mondi wrote:
> Hello
>
> On Thu, May 07, 2026 at 01:07:12AM +0200, d3vv3 wrote:
>> *** BLURB HERE ***
>>
>> This series adds support for the OV01A10 MIPI camera sensor to the
>> simple IPA, along with several improvements to the IPA algorithms that
>> benefit all sensors using the soft pipeline.
> It seems this series has some changes requested during review, but the
> camera sensor helper and tuning file for OV01A10, plus the OV2740
> black level are less controversial.
>
> Are you interested in re-sending those three patches only ?
>
> Thanks
>    j

FTR., looks like pulling in the sensor helper without the other changes 
in 0.7.2 made flicker worse for some users 
(https://bugzilla.redhat.com/show_bug.cgi?id=2483190#c4)

Thus might make sense to revisit some of the patches here after the AGC 
rework landed.

>
>> Changes in v2:
>> - Agc: replace std::optional<float> knobs with plain float; remove
>>    value_or() calls from prepare()/process()
>> - Awb: lower log level of per-frame gain log from Info to Debug
>> - Ccm: fix commit message to accurately describe the rename rationale
>> - Resend as a clean series not in reply to v1
>>
>> Javier Tia (3):
>>    ipa: simple: agc: Replace bang-bang controller with proportional
>>    libcamera: software_isp: Normalize statistics sums to 8-bit
>>    ipa: libipa: camera_sensor_helper: Add OV2740 black level
>>
>> Stuart J Mackintosh (1):
>>    ipa: libipa: camera_sensor_helper: Add OV01A10
>>
>> d3vv3 (6):
>>    ipa: simple: awb: Add temporal smoothing and per-channel gain limits
>>    ipa: simple: adjust: Support gamma, contrast, saturation defaults from
>>      YAML
>>    ipa: simple: data: Add OV01A10 tuning file
>>    ipa: simple: agc: Read exposure target and gain from YAML
>>    ipa: simple: data: Document tuning parameters in uncalibrated.yaml
>>    test: ipa: libipa: Add CCM row-sum validation test
>>
>>   .../internal/software_isp/swstats_cpu.h       |   1 +
>>   src/ipa/libipa/camera_sensor_helper.cpp       |  14 ++
>>   src/ipa/simple/algorithms/adjust.cpp          |  48 +++---
>>   src/ipa/simple/algorithms/adjust.h            |   4 +
>>   src/ipa/simple/algorithms/agc.cpp             |  82 ++++++---
>>   src/ipa/simple/algorithms/agc.h               |   8 +
>>   src/ipa/simple/algorithms/awb.cpp             |  34 +++-
>>   src/ipa/simple/algorithms/awb.h               |   6 +
>>   src/ipa/simple/data/meson.build               |   1 +
>>   src/ipa/simple/data/ov01a10.yaml              |  55 ++++++
>>   src/ipa/simple/data/uncalibrated.yaml         |  40 ++++-
>>   src/ipa/simple/ipa_context.h                  |   8 +-
>>   src/libcamera/software_isp/swstats_cpu.cpp    |   7 +
>>   test/ipa/libipa/ccm.cpp                       | 158 ++++++++++++++++++
>>   test/ipa/libipa/meson.build                   |   1 +
>>   15 files changed, 400 insertions(+), 67 deletions(-)
>>   create mode 100644 src/ipa/simple/data/ov01a10.yaml
>>   create mode 100644 test/ipa/libipa/ccm.cpp
>>
>> --
>> 2.54.0
>>