Jetson Xavier NX Nvargus configs meaning and effects

I was using gstreamer on Xavier, Jetpack5.0.2, and setting aelock to True or False will have a great impact on image brightness and the log parameter requiredCain(get from sudo journalctl -u nvargus-daemon.service -f | grep runBreakDownAlgorithm).
Aelock on:

9月 08 15:47:21 cp-pkg-prod-0038 nvargus-daemon[19055]: runBreakDownAlgorithm output ---: convergenceStatus: 2, framerate 40.00000, requiredCain 0.07812 totalAchievedCGains 0.07812 with AA 0.17361 {step 0, f-Number 2.40000}, ET 0.02500, AG 18.00000, ISPDG 1.00000

Aelock off

9月 08 15:48:06 cp-pkg-prod-0038 nvargus-daemon[19055]: runBreakDownAlgorithm output ---: convergenceStatus: 1, framerate 40.00000, requiredCain 0.00579 totalAchievedCGains 0.07812 with AA 0.17361 {step 0, f-Number 2.40000}, ET 0.02500, AG 18.00000, ISPDG 1.00000

Hence, my question is

  1. What the definition of convergenceStatus, requiredCain, and totalAchievedCGains
  2. What’s the functionality of aelock and why would it impact the parameters above?
    Thanks in adavance

Suppose the requiredGain is the gain target when aelock on totalAchievedCGains is current gain setting.

    /*  Searching indicates that the specified algorithm is still searching for
     *  an optimal set of values.  Convergence has not occurred, but we have
     *  not failed, yet.  If the specified algorithm is in continuous-update
     *  mode, this indicates that fewer than
     *  NvMMCameraLimit_ContinuousConvergeTime milliseconds have elapsed
     *  since the algorithm was previously converged.  This status may be
     *  returned by all of the 3A algorithms.
     */
    NvMMCameraAlgStatus_Searching = 1,

    /*  Converged indicates that the specific algorithm is in a converged
     *  (i.e., steady) state.  This applies to both continuous and single-shot
     *  operation.  This status may be returned by all of the 3A algorithms.
     */
    NvMMCameraAlgStatus_Converged,

    /*  Underexposed indicates that the 3A algorithm has failed to converge
     *  because the image is underexposed.  In this situation, applications
     *  should consider lowering the framerate to allow longer exposure
     *  times (if possible), to turn on a flash / torch to increase the
     *  light intensity, or to increase the exposure time / ISO (in manual
     *  mode).  This status may be returned by all of the 3A algorithms.
     */
    NvMMCameraAlgStatus_Underexposed,

    /*  Overexposed indicates that the 3A algorithm has failed to converge
     *  because the image is overexposed.  In this situation, applications
     *  should consider increasing the framerate to allow shorter exposure
     *  times (if possible), to disable the flash / torch (if enabled),
     *  or to reduce the exposure time / ISO (in manual exposure mode).
     *  This status may be returned by all of the 3A algorithms.
     */
    NvMMCameraAlgStatus_Overexposed,

    /*  NoAutoFocus indicates that the auto-focus algorithm was unable
     *  to find any significant indicators in any of the auto-focus
     *  regions.  Normally this will be caused by over- and/or under-
     *  exposure, and reported as such; however, in some situations
     *  auto-focusing may fail to converge even in properly-exposed
     *  images.  This status will only be returned by the Auto-Focus
     *  algorithm.
     */
    NvMMCameraAlgStatus_NoAutoFocus,

    /*  Timeout indicates that the 3A algorithm has taken too long to
     *  converge.  This will only be returned if the specified algorithm
     *  is in continuous mode, and has been searching for more than
     *  NvMMCameraLimit_ContinuousConvergeTime milliseconds.  The algorithm     
     *  will continue searching.  This status will only be returned by
     *  the Auto White Balance algorithm.
     */
    NvMMCameraAlgStatus_Timeout,

Sorry the aelock values above should be reversed.
When it’s off, requiredCain will be equal to TotalAchievedCGain

nvarguscamerasrc sensor-mode=0 sensor-id=1 wbmode=0 ee-mode=1 ee-strength=-1 tnr-mode=1 tnr-strength=-1 ispdigitalgainrange="1 1" gainrange="18 18" exposurecompensation=0 aelock=false exposuretimerange="25000000 25000000" ! video/x-raw(memory:NVMM), width=(int)4056, height=(int)3040, format=(string)NV12, framerate=(fraction)40/1 ! nvvidconv flip-method=0 ! video/x-raw, width=(int)4056, height=(int)3040, format=(string)BGRx ! videoconvert ! video/x-raw, format=(string)BGR ! appsink

With aelock is on, the requiredGain is much smaller from totalAchievedGain

nvarguscamerasrc sensor-mode=0 sensor-id=1 wbmode=0 ee-mode=1 ee-strength=-1 tnr-mode=1 tnr-strength=-1 ispdigitalgainrange="1 1" gainrange="18 18" exposurecompensation=0 aelock=true exposuretimerange="25000000 25000000" ! video/x-raw(memory:NVMM), width=(int)4056, height=(int)3040, format=(string)NV12, framerate=(fraction)40/1 ! nvvidconv flip-method=0 ! video/x-raw, width=(int)4056, height=(int)3040, format=(string)BGRx ! videoconvert ! video/x-raw, format=(string)BGR ! appsink

Hence, with aelock off, the image is brighter and vice versa.

  1. What is the relationship between totalAchievedCGains and gain and isp gain
  2. Why is requiredGain (targeted gain) much lower when aelock is on
  3. Where is the code that you’re referring to?
    Thanks
  1. CGain(common gain) is positive relative with ISP gain and gain(sensor gain)
  2. When aelock is off the requiredGain could be floating depend by the scene.
  3. It’s NV internal code base.
1 Like

Thank you, but how can we control the requiredGain? we have already fixed the analog gain and isp gain, why is requiredGain still floating?
and why is the lock for auto exposure affecting gain?

It will change depend on environment lux while AE is running.

Thanks

Hi,

I also have similar questions.

  1. What are the possible values for convergenceStatus and what do they mean? e.g 1 and 2 etc.
  2. Can we control the required common gain (requiredCGain)? (Yes or No, pick one)
  3. If we cannot control requiredCGain, how is it calculated?
1 Like
  1. It’s AE alg status usually at converge status while any scene change will go to searching status until converge.
  2. No
  3. It depend on the scene lux.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.