-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Arducam OV64A40 64MPx camera module #84
Commits on Oct 18, 2023
-
Add a new subpoject wrap file for the libpisp library located at https://github.com/raspberrypi/libpisp The libpisp library is used to configure the Raspberry Pi 5 Frontend and Backend ISP components. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Configuration menu - View commit details
-
Copy full SHA for be13578 - Browse repository at this point
Copy the full SHA be13578View commit details -
libcamera: formats: Add PiSP specific image and config buffer formats
Add the Raspberry Pi 5 PiSP specific compressed Bayer format types 1/2: - V4L2_PIX_FMT_PISP_COMP1_xxx - V4L2_PIX_FMT_PISP_COMP2_xxx Add the Raspberry Pi 5 PiSP Frontend and Backend config formats: - V4L2_META_FMT_RPI_FE_CFG - V4L2_META_FMT_RPI_BE_CFG Add the Raspberry Pi 5 PiSP Frontend statistics format: - V4L2_META_FMT_RPI_FE_STATS Add 16-bit Bayer formats: - MEDIA_BUS_FMT_Sxxx16_1X16 Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Configuration menu - View commit details
-
Copy full SHA for f0cf7c1 - Browse repository at this point
Copy the full SHA f0cf7c1View commit details -
ipa: rpi: hdr: Add the ability to alter the LSC table
We can perform some of the local contrast adjustment using global gains in the LSC table. We can vary the amount of gain according to the measured brightness of that image region. Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
Configuration menu - View commit details
-
Copy full SHA for 98be53f - Browse repository at this point
Copy the full SHA 98be53fView commit details -
ipa: rpi: alsc: Do not re-read the alsc.status metadata
This was being re-read in order to determine what LSC gains had been applied. We can just retrieve these numbers from the prevAsyncResults_ instead. This will also enable other future algorithms to manipulate the LSC tables in the alsc.status, without it breaking the core ALSC algorithm here. Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
Configuration menu - View commit details
-
Copy full SHA for 18b8db1 - Browse repository at this point
Copy the full SHA 18b8db1View commit details -
ipa: rpi: agc: Allow AGC channels to avoid using "fast desaturation"
"Fast desaturation" is a technique that can help the AGC algorithm to desaturate images more quickly when they are very over-exposed. However, it uses digital gain to do this which can confuse our HDR techniques. Therefore make it optional. Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
Configuration menu - View commit details
-
Copy full SHA for 1768689 - Browse repository at this point
Copy the full SHA 1768689View commit details -
ipa: rpi: vc4: Move denoise control handling into the VC4 derived IPA
Since noise control handling differs between the VC4 and PiSP IPAs, move the current denoise control handler from ipa base into the vc4 IPA derived class. Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Configuration menu - View commit details
-
Copy full SHA for 7516374 - Browse repository at this point
Copy the full SHA 7516374View commit details -
ipa: rpi: agc: Fetch AWB status in the prepare method
AWB writes this out during prepare, so we may as well read it in AGC prepare as well. Reading it in process is wrong on the PiSP platform because process runs before prepare, so the AWB status won't be there (on vc4 it made no difference). Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
Configuration menu - View commit details
-
Copy full SHA for 54ecd61 - Browse repository at this point
Copy the full SHA 54ecd61View commit details -
ipa: rpi: agc: Make AGC controls affect all channels
We need to be able to do things like enable/disable AGC for all the channels, so most of the AGC controls are updated to be applied to all channels. There are a couple of exceptions, such as setting explicit shutter/gain values, which apply only to channel 0. Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
Configuration menu - View commit details
-
Copy full SHA for b51c2dc - Browse repository at this point
Copy the full SHA b51c2dcView commit details
Commits on Oct 19, 2023
-
libcamera: controls: Add controls for HDR
We add an HdrMode control (to enable and disable HDR processing) and an HdrChannel, which indicates what kind of HDR frame (short, long or medium) has just arrived. Currently the HdrMode supports the following values: * Off - no HDR processing at all. * MultiExposureUnmerged - frames at multiple different exposures are produced, but not merged together. They are returned "as is". * MultiExposure - frames at multiple different exposures are merged to create HDR images. * SingleExposure - multiple frames all at the same exposure are merged to create HDR images. * Night - multiple frames will be combined to create "night mode" images. Signed-off-by: David Plowman <david.plowman@raspberrypi.com> Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
Configuration menu - View commit details
-
Copy full SHA for 8782dbf - Browse repository at this point
Copy the full SHA 8782dbfView commit details
Commits on Oct 20, 2023
-
Add support for the following HDR modes in the Raspberry Pi IPA: - Night mode - Single exposure mode - Multi-exposure (merged and unmerged) The algorithm is updated to expect the HDR short channel to meter explicitly for highlights. This means that it will not in general under-expose the short channel more than is actually necessary. The impact on the HDR algorithm is then that this determines how we build tonemaps dynamically. The highlights are more-or-less correct now, so we have to build a power-type curve that gives us the appropriately configured targets in the lower part of the histogram. We allow the tuning file to supply the maximum spatial gain value, rather than the whole curve (though it can supply this if it wants). Some parameter defaults are tweaked to be generally better across the range of our cameras. Signed-off-by: David Plowman <david.plowman@raspberrypi.com> Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Configuration menu - View commit details
-
Copy full SHA for 4eb5f28 - Browse repository at this point
Copy the full SHA 4eb5f28View commit details -
pipeline: rpi: Add support for Raspberry Pi 5
Add the Raspberry Pi 5 ISP (PiSP) pipeline handler to libcamera. To include this pipeline handler in the build, set the following meson option: meson configure -Dpipelines=rpi/pisp Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Configuration menu - View commit details
-
Copy full SHA for b61527d - Browse repository at this point
Copy the full SHA b61527dView commit details -
ipa: rpi: Add support for Raspberry Pi 5
Add the Raspberry Pi 5 ISP (PiSP) IPA to libcamera. To include this IPA in the build, set the following meson option: meson configure -Dipas=rpi/pisp Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Configuration menu - View commit details
-
Copy full SHA for b866eaa - Browse repository at this point
Copy the full SHA b866eaaView commit details -
utils: raspberrypi: ctt: Adapt tuning tool for both VC4 and PiSP
The old ctt.py and alsc_only.py scripts are removed. Instead of ctt.py use ctt_vc4.py or ctt_pisp.py, depending on your target platform. Instead of alsc_only.py use alsc_vc4.py or alsc_pisp.py, again according to your platform. Signed-off-by: David Plowman <david.plowman@raspberrypi.com> Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
Configuration menu - View commit details
-
Copy full SHA for 8be0303 - Browse repository at this point
Copy the full SHA 8be0303View commit details -
utils: raspberrypi: ctt: Added CAC support to the CTT
Added the ability to tune the chromatic aberration correction within the ctt. There are options for cac_only or to tune as part of a larger tuning process. CTT will now recognise any files that begin with "cac" as being chromatic aberration tuning files. Signed-off-by: Ben Benson <ben.benson@raspberrypi.com> Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
Configuration menu - View commit details
-
Copy full SHA for ac34a10 - Browse repository at this point
Copy the full SHA ac34a10View commit details -
utils: raspberrypi: ctt: Changed CTT handling of VC4 and PiSP
Changed how users select which platform to tune for. Now users specify a command line argument, '-t', to specify which target platform. Signed-off-by: Ben Benson <ben.benson@raspberrypi.com> Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
Configuration menu - View commit details
-
Copy full SHA for a9d0eb3 - Browse repository at this point
Copy the full SHA a9d0eb3View commit details -
utils: raspberrypi: ctt: Update tuning tool for HDR
The various boilerplate parts of the tuning file are extended to include the necessary extra bits for HDR, specifically: * rpi.denoise has different configurations for HDR modes * rpi.agc now has extra channels for HDR * rpi.hdr parameters are added. Signed-off-by: David Plowman <david.plowman@raspberrypi.com> Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
Configuration menu - View commit details
-
Copy full SHA for bb894e5 - Browse repository at this point
Copy the full SHA bb894e5View commit details -
RASPBERRYPI ONLY: Add Sony IMX708 sensor properties
The IMX708 sensor driver advertises its module variants (narrow/wide angle lens, IR block/pass) by modifying the media entity name string. So add duplicate entries for each variant. Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com> Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Configuration menu - View commit details
-
Copy full SHA for abe7174 - Browse repository at this point
Copy the full SHA abe7174View commit details -
RASPBERRYPI ONLY: Handle mandatory stream flags
Look for the RAW mandatory stream flag in the pipeline handler config file. If this flag is set, it guarantees that the application will provide buffers for Unicam Image, so override the minUnicamBuffers and minTotalUnicamBuffers config parameters in the following way: - If startup drop frames are required, allocate at least 1 internal buffer. - If no startup drop frames are required, do not allocate any internal buffers. Look for the Output 0 mandatory stream flag in in the pipeline handler config file. If this flag is set, it guarantees that the application will provide buffers for the ISP, do not allocate any internal buffers for the device. Add a new rpi_apps.yaml pipeline handler config file that enables both these flags. To use the file, set the following env variable for a custom build: export LIBCAMERA_RPI_CONFIG_FILE=/usr/local/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml or for a packaged install: export LIBCAMERA_RPI_CONFIG_FILE=/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Configuration menu - View commit details
-
Copy full SHA for 4a23664 - Browse repository at this point
Copy the full SHA 4a23664View commit details
Commits on Nov 10, 2023
-
libcamera: camera_sensor: Add OV64A40 sensor properties
Add an entry for the Omnivision OV64A40 Sensor which has a square pixel size of 1.008µm. Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Configuration menu - View commit details
-
Copy full SHA for b775911 - Browse repository at this point
Copy the full SHA b775911View commit details -
ipa: rpi: Provide a Camera Helper for the OV64A40
Support the OV64A40 sensor with a camera helper to manage the gain model, light sensitivity, and control delays. Signed-off-by: Lee Jackson <lee.jackson@arducam.com> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Jacopo Mondi committedNov 10, 2023 Configuration menu - View commit details
-
Copy full SHA for 83a5acf - Browse repository at this point
Copy the full SHA 83a5acfView commit details -
ipa: rpi: vc4: Add OV64A40 tuning files
Provide the OV64A40 tuning files for the Arducam Omnivision camera module to operate on the VC4 ISP architecture on Raspberry Pi 4 and below. Signed-off-by: Lee Jackson <lee.jackson@arducam.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Configuration menu - View commit details
-
Copy full SHA for c409c4a - Browse repository at this point
Copy the full SHA c409c4aView commit details -
ipa: rpi: pisp: Add OV64A40 tuning file
Provide the OV64A40 tuning files for the Arducam Omnivision camera module to operate on the PiSP ISP architecture on Raspberry Pi5. Signed-off-by: Lee Jackson <lee.jackson@arducam.com> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Jacopo Mondi committedNov 10, 2023 Configuration menu - View commit details
-
Copy full SHA for 5fc413f - Browse repository at this point
Copy the full SHA 5fc413fView commit details