{"id":21160,"url":"https://patchwork.libcamera.org/api/covers/21160/?format=json","web_url":"https://patchwork.libcamera.org/cover/21160/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20240904074500.106019-1-mzamazal@redhat.com>","date":"2024-09-04T07:44:57","name":"[0/2] Add contrast control to software ISP","submitter":{"id":177,"url":"https://patchwork.libcamera.org/api/people/177/?format=json","name":"Milan Zamazal","email":"mzamazal@redhat.com"},"mbox":"https://patchwork.libcamera.org/cover/21160/mbox/","series":[{"id":4561,"url":"https://patchwork.libcamera.org/api/series/4561/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4561","date":"2024-09-04T07:44:57","name":"Add contrast control to software ISP","version":1,"mbox":"https://patchwork.libcamera.org/series/4561/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/21160/comments/","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 5AC59C324C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  4 Sep 2024 07:45:14 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 541CC634E5;\n\tWed,  4 Sep 2024 09:45:13 +0200 (CEST)","from us-smtp-delivery-124.mimecast.com\n\t(us-smtp-delivery-124.mimecast.com [170.10.129.124])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 91C2B6341E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  4 Sep 2024 09:45:10 +0200 (CEST)","from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com\n\t(ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63])\n\tby relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n\tcipher=TLS_AES_256_GCM_SHA384) id us-mta-127-Obb3BnfrOQWGgvJ_uWa6mg-1;\n\tWed, 04 Sep 2024 03:45:07 -0400","from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com\n\t(mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com\n\t[10.30.177.15])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\tkey-exchange X25519 server-signature RSA-PSS (2048 bits)\n\tserver-digest SHA256) (No client certificate requested)\n\tby mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix)\n\twith ESMTPS\n\tid 06EA7195608C for <libcamera-devel@lists.libcamera.org>;\n\tWed,  4 Sep 2024 07:45:07 +0000 (UTC)","from nuthatch.redhat.com (unknown [10.45.225.152])\n\tby mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix)\n\twith ESMTP id AA8A0195608A; Wed,  4 Sep 2024 07:45:05 +0000 (UTC)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"RIBSLJmd\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1725435909;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\tto:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\tcontent-transfer-encoding:content-transfer-encoding;\n\tbh=v5lEqs7ospMxvTMbS+ZycGnIRLFX5ll6A1YPi+8Eu5s=;\n\tb=RIBSLJmdIheFuPYOc3xLVgS0fO3MGgsfMcTX4etHwRAEjqlSK7p31fc7ounjV9OKQZBZAf\n\t2DtFOfHuMC+naDRSvXz6ZR8Xi6yAP8uUMMyFe2g7nFl8Bl8E9LTZkxAGSk5KoWsrYZmz5n\n\teX7s/2sVzXk9qkl7GRjDHA8rkWvk1qA=","X-MC-Unique":"Obb3BnfrOQWGgvJ_uWa6mg-1","From":"Milan Zamazal <mzamazal@redhat.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Milan Zamazal <mzamazal@redhat.com>","Subject":"[PATCH 0/2] Add contrast control to software ISP","Date":"Wed,  4 Sep 2024 09:44:57 +0200","Message-ID":"<20240904074500.106019-1-mzamazal@redhat.com>","MIME-Version":"1.0","X-Scanned-By":"MIMEDefang 3.0 on 127.0.0.2","X-Mimecast-Spam-Score":"0","X-Mimecast-Originator":"redhat.com","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"These are preview patches adding support to software ISP for modifying\nimage processing parameters in runtime.  They depend on patches not yet\nmerged and are likely to be modified based on how those patches evolve.\nThey serve as an illustration and proof of concept how the implementation of software ISP controls can be done.\n\nThe 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.\n\nMilan Zamazal (2):\n  libcamera: software_isp: Add contrast algorithm\n  libcamera: software_isp: Add contrast control\n\n .../internal/software_isp/software_isp.h      |  3 +-\n include/libcamera/ipa/soft.mojom              |  2 +-\n src/ipa/simple/algorithms/contrast.cpp        | 45 +++++++++++++++++++\n src/ipa/simple/algorithms/contrast.h          | 37 +++++++++++++++\n src/ipa/simple/algorithms/gamma.cpp           | 22 ++++++---\n src/ipa/simple/algorithms/meson.build         |  1 +\n src/ipa/simple/data/uncalibrated.yaml         |  1 +\n src/ipa/simple/ipa_context.h                  |  4 ++\n src/ipa/simple/soft_simple.cpp                | 13 +++++-\n src/libcamera/pipeline/simple/simple.cpp      |  2 +-\n src/libcamera/software_isp/software_isp.cpp   |  8 +++-\n 11 files changed, 126 insertions(+), 12 deletions(-)\n create mode 100644 src/ipa/simple/algorithms/contrast.cpp\n create mode 100644 src/ipa/simple/algorithms/contrast.h"}