[libcamera-devel] [PATCH v1 0/9] Raspberry Pi: Horizontal blanking control

Dave Stevenson dave.stevenson at raspberrypi.com
Mon Oct 3 15:41:35 CEST 2022


On Mon, 3 Oct 2022 at 09:40, Naushir Patuck via libcamera-devel
<libcamera-devel at lists.libcamera.org> wrote:
>
> Hi,
>
> This series adds full automatic sensor horizontal blanking control (to compliment
> the existing vertical blanking control) for exposure and/or frame duration calculations.
>
> In the new calculations, we always prioritise extending vblank until it reaches its
> limits, then extend hblank to make up the shortfall. This is to minimise the "wobble"
> effect of the rolling shutter in the sensor. The rkisp1 and ipu3 IPAs are updated
> to use the minimum reported hblank value in their calculations for the same reason.
>
> Patches 1-2 adds a max line length field to the IPACameraSensorInfo and CameraMode structures.
> Patchs 3-6 update the IPA and pipeline handler to pass around a current line length value.
> Patches 7-8 update the calculations to return a hblank number to program in the sensor.
> Patch 9 updates the embedded data parsers to extract current line length values.

For the series:
Tested-by: Dave Stevenson <dave.stevenson at raspberrypi.com>

(on OV9281 using mainline ov9282 driver plus a set of patches I'm
about to send to linux-media)

> Regards,
> Naush
>
> Naushir Patuck (9):
>   camera_sensor: Add minimum and maximum line length to
>     IPACameraSensorInfo
>   ipa: raspberrypi: Add minimum and maximum line length fields to
>     CameraMode
>   ipa: raspberrypi: Pass lineLength into the CamHelper API
>   pipeline: ipa: raspberrypi: Add HBLANK control to DelayedControls
>   ipa: raspberrypi: Add pixel clock rate to the CameraMode structure
>   ipa: raspberrypi: Add line length to DeviceStatus
>   ipa: raspberrypi: Add line length calculations helper functions
>   ipa: raspberrypi: Allow full line length control
>   ipa: raspberrypi: Extract line length from the embedded data parser
>
>  include/libcamera/ipa/core.mojom              | 21 +++--
>  include/libcamera/ipa/raspberrypi.mojom       |  1 +
>  src/ipa/ipu3/ipu3.cpp                         |  2 +-
>  src/ipa/raspberrypi/cam_helper.cpp            | 81 ++++++++++++++-----
>  src/ipa/raspberrypi/cam_helper.h              | 18 +++--
>  src/ipa/raspberrypi/cam_helper_imx219.cpp     | 10 ++-
>  src/ipa/raspberrypi/cam_helper_imx290.cpp     |  5 +-
>  src/ipa/raspberrypi/cam_helper_imx296.cpp     | 10 ++-
>  src/ipa/raspberrypi/cam_helper_imx477.cpp     | 39 +++++----
>  src/ipa/raspberrypi/cam_helper_imx519.cpp     | 39 +++++----
>  src/ipa/raspberrypi/cam_helper_ov5647.cpp     |  5 +-
>  src/ipa/raspberrypi/cam_helper_ov9281.cpp     |  5 +-
>  src/ipa/raspberrypi/controller/camera_mode.h  |  6 +-
>  .../raspberrypi/controller/device_status.cpp  |  1 +
>  .../raspberrypi/controller/device_status.h    |  4 +-
>  src/ipa/raspberrypi/raspberrypi.cpp           | 61 ++++++++------
>  src/ipa/rkisp1/rkisp1.cpp                     |  2 +-
>  src/libcamera/camera_sensor.cpp               |  6 +-
>  .../pipeline/raspberrypi/raspberrypi.cpp      |  1 +
>  19 files changed, 216 insertions(+), 101 deletions(-)
>
> --
> 2.25.1
>


More information about the libcamera-devel mailing list