SPRAD86A March   2023  – May 2024 AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM68A , AM69A

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. Introduction
  5. Tuning Overview
  6. Hardware Requirement
  7. Software Requirement
    1. 4.1 Processor SDK Linux
    2. 4.2 TI's Reference Imaging Software
    3. 4.3 ISP Tuning Tool
  8. Sensor Software Integration
    1. 5.1 Overview of Image Pipeline Software Architecture
    2. 5.2 Adding Sensor Driver to SDK
    3. 5.3 Updating TIOVX Modules
      1. 5.3.1 Source Code Change
      2. 5.3.2 Rebuild Modules
    4. 5.4 Update GStreamer Plug-in for VISS
      1. 5.4.1 Update VISS Plug-in Property
      2. 5.4.2 Add Exposure Setting for 2A Algorithm
        1. 5.4.2.1 Gain
        2. 5.4.2.2 Exposure Time
        3. 5.4.2.3 Other Parameters
      3. 5.4.3 Rebuild Plug-ins
      4. 5.4.4 Verify New Sensor in GStreamer Plug-in
  9. Tuning Procedure
    1. 6.1 Verify Functional Operation of Camera Capturing
    2. 6.2 Enable Camera Streaming With Initial VPAC Configuration
      1. 6.2.1 Generate Configuration Files
      2. 6.2.2 Generate DCC Binary Files
      3. 6.2.3 Stream Video With the Initial Configuration
    3. 6.3 Adjust Camera Mounting
  10. Perform Basic Tuning
    1. 7.1 Launch the Tuning Tool and Create a Project
    2. 7.2 Tuning Order
    3. 7.3 Black Level Subtraction
    4. 7.4 Hardware 3A (H3A)
    5. 7.5 PCID
    6. 7.6 Auto White Balance (AWB)
      1. 7.6.1 Capture Raw Images for Different Lighting Conditions
      2. 7.6.2 Tuning AWB
    7. 7.7 Color Correction
  11. Perform Fine Tuning
    1. 8.1 Edge Enhancement (EE)
    2. 8.2 Noise Filter 4 (NSF4)
  12. Live Tuning
    1. 9.1 Requirements
    2. 9.2 Supported Features
      1. 9.2.1 RAW Capture
      2. 9.2.2 YUV Capture
      3. 9.2.3 Live DCC Update
      4. 9.2.4 Exposure Control
      5. 9.2.5 White Balance Control
      6. 9.2.6 Sensor Register Read/Write
  13. 10Summary
  14. 11Revision History

Gain

The minimum and maximum gains are usually specified in the data sheet as Nx gain and Mx gain, where N is the minimum and M is the maximum. The corresponding values in the gain register are usually also given. For example, a certain sensor may specify the following:

  • Minimum gain: 1 ×, gain_register value is 16
  • Maximum gain: 15.5 ×, gain_register value is 248

Since the DCC live tuning tool uses 1024 for 1 × gain to calculate and display the gain in floating point numbers, it is preferred to set the gain in this convention and map the gain between 2A and the sensor driver. Function get_<sensor>_ae_dyn_params() has the following setting for minimum and maximum gain:

p_ae_dynPrms->analogGainRange[count].min = 1024;   /* 1x gain */
p_ae_dynPrms->analogGainRange[count].max = 15872;  /* 15.5x gain */

Therefore the gain value used by the 2A algorithm is essentially 64 times the gain value used by this specific sensor. After the 2A algorithm returns the gain to be set for the sensor, that gain value needs to be divided by 64 before being sent to the sensor. This mapping is done in function gst_tiovx_isp_map_2A_values():

*analog_gain_mapped = analog_gain / 64;  /* 64 = 1024 / 16 */