[v1,0/4] Filter algorithm refactoring and mode switching
mbox series

Message ID 20260118202953.1554892-1-rui.wang@ideasonboard.com
Headers show
Series
  • Filter algorithm refactoring and mode switching
Related show

Message

Rui Wang Jan. 18, 2026, 8:29 p.m. UTC
This patch series refactors the RkISP1 Filter algorithm to support
noise reduction mode switching via tuning data, similar to the DPF
algorithm implementation.
The current Filter implementation uses hardcoded lookup tables for
denoise and sharpness parameters. This series replaces that approach
with a flexible mode-based configuration system that allows filter
parameters to be fully specified in YAML tuning files.
Key improvements:
- Introduce noise reduction mode switching infrastructure with support
  for multiple configurable modes (Minimal, Fast, HighQuality, ZSL).
- Replace hardcoded denoise/sharpness lookup tables with tuning data
  loaded from YAML configuration files.
- Maintain sharpness control as an override mechanism that modulates
  sharpening factors on top of the base noise reduction mode.
- Refactor prepare() into helper functions for better code organization.
- Change filter.denoise from uint8_t to bool to reflect its actual usage.
- Add initial tuning configurations for IMX219 and OV5640 sensors.
The implementation follows the same design pattern as the DPF algorithm,
ensuring consistency across the rkisp1 IPA module and enabling
sensor-specific filter tuning.


Rui Wang (4):
  ipa: rkisp1: algorithms: filter: Implement noise reduction mode
    switching
  pa: rkisp1: algorithms: filter: Add helper fun and sharpness presets
  ipa: rkisp1: algorithms: filter: Integrate mode switching with
    prepare()
  ipa: rkisp1: data: Add Filter tuning configuration for sensors

 src/ipa/rkisp1/algorithms/filter.cpp | 346 +++++++++++++++++++--------
 src/ipa/rkisp1/algorithms/filter.h   |  23 +-
 src/ipa/rkisp1/data/imx219.yaml      |  48 ++++
 src/ipa/rkisp1/data/ov5640.yaml      |  47 ++++
 src/ipa/rkisp1/ipa_context.h         |   2 +-
 5 files changed, 361 insertions(+), 105 deletions(-)