Commit Graph
25 Commits
Author SHA1 Message Date
Benjamin BaraandKieran Bingham 76e1cb9f71 libcamera: camera_sensor: Add Sony IMX327 sensor properties
Copy the sensor properties from Sony IMX290, as the IMX327 is a variant
of it.

Signed-off-by: Benjamin Bara <benjamin.bara@skidata.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
[Kieran: Adjust sort order]
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2023-05-24 22:01:34 +01:00
Kieran Bingham ffa3afdd61 ipa: libipa: Add OV2685 Camera Sensor Helper
Provide a CameraSensorHelper for the OV2685, along with the
corresponding camera sensor properties.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2023-03-21 23:40:41 +00:00
Nick HollinghurstandKieran Bingham 2fb0f25019 libcamera: camera_sensor: Add Sony IMX708 sensor properties
Add CameraSensorProperties for the Sony IMX708 sensor.

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>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2023-01-30 16:30:44 +00:00
Nicholas RothandJacopo Mondi 0f382a9926 libcamera: Add support for OmniVision OV8858
Support for the OmniVision OV8858 sensor is scheduled for inclusion in
the Linux kernel in version v6.3.

Add support for the sensor in libcamera by providing static properties
and a camera sensor helper in libipa.

The camera sensor helper expresses analogue gain increments in 1/128
step which differs from what is reported in the sensor documentation in
section "5.8 manual exposure compensation/ manual gain compensation" [0]

A more detailed analysis of the sensor gain model is reported at:
https://patchwork.linuxtv.org/project/linux-media/patch/20221106171129.166892-2-nicholas@rothemail.net/#142267

Record with a \todo note a reference to discussion on the gain model
implementation.

Signed-off-by: Nicholas Roth <nicholas@rothemail.net>
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2023-01-26 18:33:47 +01:00
Mikhail RudenkoandJacopo Mondi 1818b92fd7 libcamera: camera_sensor: Add OV4689 sensor properties
Add an entry to the sensor properties for Omnivision OV4689.

Kernel supports two more types of color bars patterns, which we do not
expose now.

Signed-off-by: Mikhail Rudenko <mike.rudenko@gmail.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
2023-01-25 18:43:36 +01:00
Jacopo Mondi 6479535ee3 libcamera: camera_sensor: Add AR0521 sensor properties
Add an entry to the sensor properties for OnSemi AR0521.

The chip manual list one additional test pattern "PN9 Link integrity
test pattern" not supported by the mainline Linux driver.

Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2022-12-22 12:13:16 +01:00
Umang Jain b026e4a6a0 libcamera: camera_sensor: Rectify test patterns listed for IMX519
The IMX519 driver reports ColorBars and ColorBarsFadeToGray but upon
inspecting the test pattern modes via v4l2-ctl utility, these test
patterns do not comply with MIPI CCS v1.1 (Section 10.1).

Hence, omit from camera-sensor-properties database for now and add a
comment for the same.

Fixes: e3b26b4c4e ("libcamera: camera_sensor: Add IMX519 sensor properties")
Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2022-12-12 16:48:22 +05:30
Umang JainandKieran Bingham e3b26b4c4e libcamera: camera_sensor: Add IMX519 sensor properties
Add an entry for Arducam IMX519 sensor which has 1220x1220 pixel size
and supports four test pattern modes.

Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2022-12-09 16:03:51 +00:00
Naushir PatuckandLaurent Pinchart 6f53f01409 libcamera: camera_sensor: Add IMX477 sensor properties
Add an entry to the sensor properties for Sony IMX477. Currently
no test pattern modes are supported by the device driver.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2022-05-27 09:12:02 +03:00
Quentin SchulzandLaurent Pinchart d3d7bc433e libcamera: camera_sensor: Add OV5675 sensor properties
Add an entry to the sensor properties for OmniVision OV5675. Only the
first test pattern is included as the others that are exposed by the
kernel aren't supported by libcamera control yet.

Cc: Quentin Schulz <foss+libcamera@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2022-05-13 06:57:06 +03:00
Laurent Pinchart b90faccb2c libcamera: camera_sensor: Add IMX290 sensor properties
The Sony IMX290 is a rolling shutter sensor with a 1945x1109 pixel array
size, with a recommended resolution after CFA interpolation of
1920x1080.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2022-03-29 13:20:09 +03:00
Paul Elder 9cdf837ab7 libcamera: camera_sensor: Add OV5640 sensor properties
Add an entry to the sensor properties for the ov5640. Only the first
test pattern is included as the others that are exposed by the kernel
don't correspond to any that are defined in the libcamera control.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2022-03-23 17:42:17 +09:00
Laurent Pinchart 91021c38e4 libcamera: camera_sensor: Add IMX296 sensor properties
The Sony IMX296 is a global shutter sensor with a 1456x1088 pixel array
size, with a recommended resolution after CFA interpolation of
1440x1080.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2022-03-23 01:49:26 +02:00
Daniel ScallyandKieran Bingham a42c00e01e libcamera: Add OV2740 camera sensor properties
Add camera sensor property entries for the OmniVision 2740 camera
sensor.

Signed-off-by: Daniel Scally <djrscally@gmail.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2022-03-17 16:34:23 +00:00
Hirokazu HondaandLaurent Pinchart 3c059b9164 libcamera: camera_sensor: Reverse the key and value of test pattern mode map
The key and value of the test pattern mode are originally the index of
v4l2 control and the corresponding test pattern mode control value.
This key and value are useful in the initialization for reporting
available test pattern modes. However, the map of the reversed key and
value is much more useful in applying a requested test pattern mode.
Reverses the key and value of the map as the initialization is one
time but the test pattern mode request will be multiple times.

Signed-off-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2021-10-05 03:30:36 +03:00
Martin KepplingerandLaurent Pinchart 06e53199c2 libcamera: Add hi846 camera sensor properties
Add camera sensor properties for the Hynix hi846 sensor. The part is
also called YACG4D0C9SHC and a datasheet can be found at
https://product.skhynix.com/products/cis/cis.go

This is the selfie camera in the Librem 5 phone.

Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2021-09-07 02:11:15 +03:00
Laurent Pinchart 799a04b7e7 libcamera: CameraSensorProperties: Sort entries
Keep entries sorted by sensor name to ensure the file stays readable.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
2021-07-26 11:49:11 +03:00
Daniel ScallyandLaurent Pinchart 34eef24d0b libcamera: Add OV8865 sensor properties
Add camera sensor properties for the OV8865 sensor. This is the world
facing camera on most MS Surface platforms.

Signed-off-by: Daniel Scally <djrscally@gmail.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2021-07-25 02:43:45 +03:00
Hirokazu HondaandLaurent Pinchart c11cc6f20b libcamera: CameraSensorProperties: Add test pattern mode of IMX258
Add supported test pattern modes of IMX258 in CameraSensorProperties.

Signed-off-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2021-06-26 01:07:38 +03:00
Kieran Bingham 27aff949fb libcamera/base: Move extended base functionality
Move the functionality for the following components to the new
base support library:

 - BoundMethod
 - EventDispatcher
 - EventDispatcherPoll
 - Log
 - Message
 - Object
 - Signal
 - Semaphore
 - Thread
 - Timer

While it would be preferable to see these split to move one component
per commit, these components are all interdependent upon each other,
which leaves us with one big change performing the move for all of them.

Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2021-06-25 16:11:08 +01:00
Vedant ParanjapeandPaul Elder 1d134197c7 libcamera: Add OV5647 sensor properties
Brief specifications available at
https://cdn.sparkfun.com/datasheets/Dev/RaspberryPi/ov5647_full.pdf

> pixel size: 1.4 μm x 1.4 μm

Change in this patch is referenced from Page 5: key specifications
section of the above linked pdf

Signed-off-by: Vedant Paranjape <vedantparanjape160201@gmail.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
2021-06-23 12:19:53 +09:00
Hirokazu HondaandJacopo Mondi 0b312cb4ac libcamera: CameraSensorProperties: Add table of v4l2 index and test pattern
The V4L2 specification defines the sensor test pattern modes
through a menu control, where a numerical index is associated to
a string that describes the test pattern. The index-to-pattern
mapping is driver specific and requires a corresponding representation
in the library.

Add to the static list of CameraSensorProperties a map of indexes to
libcamera::controls::TestPatternModes values to be able to map the
indexes returned by the driver to the corresponding test pattern mode.

Signed-off-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
2021-06-14 14:10:53 +02:00
Umang JainandPaul Elder 388c4392c1 libcamera: Add IMX258 sensor properties
Brief specifications available at
https://www.sony-semicon.co.jp/products/common/pdf/ProductBrief_IMX258_20151015.pdf

Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
2021-06-04 18:34:47 +09:00
Jean-Michel Hautbois 63c3c54592 libcamera: add OV5693 sensor properties
The new sensor database has introduced several sensors, but ov5693 is
missing.
It is used on most MS Surface tablets, add it to the database.

Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
2021-05-25 11:19:16 +02:00
Jacopo Mondi a58a94e4c2 libcamera: Introduce camera sensor properties
Introduce a database of camera sensor properties, which contains
information on the camera sensor which are not possible, or desirable,
to retrieve from the device at run time.

The camera sensor database is accessed through a static function and
is indexed using the camera sensor model as reported by
properties::Model.

Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2021-05-10 15:07:59 +02:00