Process Function Input Parameters

When the plugin Process function is called, it must process the input information and generate the output parameters.

The plugin supports the following input categories:

  • Sensor Attribute Properties
  • Embedded Data and line information
  • Histogram and LAC statistics
  • Flicker band statistics

SiplControlAutoInputParam

The input information is passed in the following structure:

struct SiplControlAutoInputParam {
    SiplControlEmbedData        embedData;
    DevBlkISCSensorAttributes  sensorAttr;
    SiplControlIspStatsInfo     statsInfo;
};

Structure

Parameter

SiplControlAutoInputParam

  • embedData: Specifies the Embedded Settings of the frame.
  • sensorAttr: Specifies the attributes of the sensor.
  • statusInfo: Specifies the stats data.

SiplControlEmbedData

The structure members provide embedded data for the image that is being processed. That information is a set of registers of the image sensor.

The definition is as follows:

struct SiplControlEmbedData {
    SiplControlEmbedInfo              embedInfo;
    DevBlkISCFrameSeqNum             frameSeqNum;
    DevBlkISCEmbeddedDataChunk       topEmbeddedData;
    DevBlkISCEmbeddedDataChunk       bottomEmbeddedData;
};

Structure

Parameter

SiplControlEmbedData

  • embedInfo: Holds the parsed embedded info for the captured frame.
  • frameSeqNum: Holds frame sequence number for the captured frame.
  • topEmbeddedData: Embedded buffer at the beginning of the frame.
  • bottomEmbeddedData: Embedded buffer at the end of the frame.

DevBlkISCSensorAttributes

The structure members provide attributes data for the image sensor.

struct DevBlkISCSensorAttributes {
    char  sensorName[DEVBLK_ISC_MAX_SENSOR_NAME_LENGTH];
    uint32_t  sensorCFA;
    char sensorFuseId[DEVBLK_ISC_MAX_FUSE_ID_LENGTH];
    uint8_t  numActiveExposures;
    DevBlkISCAttrRange sensorExpRange[DEVBLK_ISC_MAX_EXPOSURES];
    DevBlkISCAttrRange sensorGainRange […];
    DevBlkISCAttrRange sensorWhiteBalanceRange […];
    float_t  sensorGainFactor[DEVBLK_ISC_MAX_EXPOSURES];
    uint32_t  numFrameReportBytes;
};

Structure

Parameter

DevBlkISCSensorAttributes

  • sensorName: Holds the name attribute.
  • sensorCFA: Holds the CFA attribute.
  • sensorFuseId: Holds the fuse ID attribute.
  • numActiveExposures: Holds the number of active exposures attribute.
  • sensorExpRange: Holds the sensor exposure ranges for active exposures.
  • sensorGainRange: Holds the sensor gain ranges for active exposures.
  • sensorWhiteBalanceRange: Holds the sensor white balance ranges for active exposures.
  • sensorGainFactor: Holds the additional sensor gain factor between active exposures. These gain factors describe the sensitivity difference between the exposures.
  • numFrameReportBytes: Holds the number of frame report bytes supported by the sensor.

SiplControlIspStatsInfo

This structure contains the statistics data.

struct SiplControlIspStatsInfo {
    const NvSiplISPLocalAvgClipStatsData* lacData[2];
    const NvSiplISPLocalAvgClipStats* lacSettings[2];
    const NvSiplISPHistogramStatsData* histData[2];
    const NvSiplISPHistogramStats* histSettings[2];
    const NvSiplISPFlickerBandStatsData* fbStatsData;
    const NvSiplISPFlickerBandStats*  fbStatsSettings;
};

Structure

Parameter

SiplControlIspStatsInfo

  • lacData: Holds const pointers to LAC stats data from LAC-0, LAC-1 blocks in ISP.
  • lacSettings: Holds const pointers to LAC stats settings from LAC-0, LAC-1 blocks in ISP.
  • histData: Holds const pointers to Histogram stats data from HIST-0, HIST-1 blocks in ISP.
  • histSettings: Holds const pointers to Histogram stats settings from HIST-0, HIST-1 blocks in ISP.
  • fbStatsData: Holds const pointer to Flicker Band stats data from FB block in ISP.
  • fbStatsSettings: Holds const pointer to Flicker Band stats settings from FB block in ISP.