hi_isp_stats_ctrl

Description

Defines the enabling status of ISP 3A statistics.

Definition

typedef union {
    hi_u64  key;
    struct {
        hi_u64  bit1_fe_ae_global_stat      : 1;     /* [0] */
        hi_u64  bit1_fe_ae_local_stat      : 1;      /* [1] */
        hi_u64  bit1_fe_ae_stitch_global_stat  : 1;  /* [2] */
        hi_u64  bit1_fe_ae_stitch_local_stat  : 1;   /* [3] */
        hi_u64  bit1_be_ae_global_stat      : 1;     /* [4] */
        hi_u64  bit1_be_ae_local_stat      : 1;      /* [5] */
        hi_u64  bit1_be_ae_stitch_global_stat  : 1;  /* [6] */
        hi_u64  bit1_be_ae_stitch_local_stat  : 1;   /* [7] */
        hi_u64  bit1_awb_stat1           : 1;        /* [8] */
        hi_u64  bit1_awb_stat2           : 1;        /* [9] */
        hi_u64  bit2_reserved0           : 2;        /* [10:11] */
        hi_u64  bit1_fe_af_stat          : 1;        /* [12] */
        hi_u64  bit1_be_af_stat          : 1;        /* [13] */
        hi_u64  bit2_reserved1           : 2;        /* [14:15] */
        hi_u64  bit1_dehaze              : 1;        /* [16] */
        hi_u64  bit1_mg_stat             : 1;        /* [17] */
        hi_u64  bit14_reserved           : 14;       /* [18:31] */
        hi_u64  bit32_isr_access         : 32;       /* [32:63] */
    };
} hi_isp_stats_ctrl;

Members

Member

Description

bit1_fe_ae_global_stat

AE global statistics enable in the FE, including histograms and global mean values.

bit1_fe_ae_local_stat

AE block statistics (average value) enable in the FE.

bit1_fe_ae_stitch_global_stat

AE global statistics enable in the FE after stitching, including histograms and global mean values. This member is valid only in stitching mode.

bit1_fe_ae_stitch_local_stat

AE block statistics (average value) enable in the FE after stitching. This member is valid only in stitching mode.

bit1_be_ae_global_stat

AE global statistics enable in the BE, including histograms and global mean values.

bit1_be_ae_local_stat

AE block statistics (average value) enable in the BE.

bit1_be_ae_stitch_global_sta t

AE global statistics enable in the BE after stitching, including histograms and global mean values. This member is valid only in stitching mode.

bit1_be_ae_stitch_local_stat

AE block statistics (average value) enable in the BE after stitching. This member is valid only in stitching mode.

bit1_awb_stat1

AWB global statistics enable for the Bayer domain.

bit1_awb_stat2

AWB zoned statistics enable for the Bayer domain.

bit2_reserved0

Reserved

bit1_fe_af_stat

AF statistics enable in the FE.

bit1_be_af_stat

AF statistics enable in the BE.

bit2_reserved1

Reserved

bit1_dehaze

Dehazing statistics enable

bit1_mg_stat

MG statistics enable

bit14_reserved

Reserved

bit32_isr_access

Statistics update switch in the interrupt service routine (ISR).

Restrictions

  • You can disable unused statistics to prevent them from being read, thereby improving the system performance.
  • The 32 bits of bit1_fe_ae_global_stat to bit14_reserved are the switches for obtaining statistics by using hi_mpi_isp_get_xx_stats (xx indicates AE, AWB, or AF). When the ISP firmware is running, statistics need to be obtained for Ascend algorithms.
  • If you use hi_mpi_isp_get_xx_stats (xx indicates AE, AWB, or AF) to implement you own 3A algorithms, you can disable update of the related statistics in the ISR by using the corresponding bit of bit32_isr_access to reduce the CPU usage. The bit sequence in bit32_isr_access is the same as that from bit1_fe_ae_global_stat to bit14_reserved.

    For example, you can set bit0 of bit32_isr_access to 0 to stop updating statistics of fe_ae_global_stat.