include/uapi/linux/media/amlogic/c3-isp-config.h
Source file repositories/reference/linux-study-clean/include/uapi/linux/media/amlogic/c3-isp-config.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/linux/media/amlogic/c3-isp-config.h- Extension
.h- Size
- 18316 bytes
- Lines
- 521
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/build_bug.hlinux/types.hlinux/media/v4l2-isp.h
Detected Declarations
struct c3_isp_awb_zone_statsstruct c3_isp_awb_statsstruct c3_isp_ae_zone_statsstruct c3_isp_ae_statsstruct c3_isp_af_zone_statsstruct c3_isp_af_statsstruct c3_isp_stats_infostruct c3_isp_params_awb_gainsstruct c3_isp_params_awb_configstruct c3_isp_params_ae_configstruct c3_isp_params_af_configstruct c3_isp_params_pst_gammastruct c3_isp_params_ccmstruct c3_isp_params_cscstruct c3_isp_params_blcstruct c3_isp_params_cfgenum c3_isp_params_buffer_versionenum c3_isp_params_block_typeenum c3_isp_params_awb_tap_pointsenum c3_isp_params_ae_tap_pointsenum c3_isp_params_af_tap_points
Annotated Snippet
struct c3_isp_awb_zone_stats {
__u16 rg;
__u16 bg;
__u32 pixel_sum;
};
/**
* struct c3_isp_awb_stats - Auto white balance statistics information.
*
* AWB statistical information of all zones.
*
* @stats: array of auto white balance statistics
*/
struct c3_isp_awb_stats {
struct c3_isp_awb_zone_stats stats[C3_ISP_AWB_MAX_ZONES];
} __attribute__((aligned(16)));
/**
* struct c3_isp_ae_zone_stats - AE statistics of a zone
*
* AE zone stats is aligned with 8 bytes.
* This is a 5-bin histogram and the total sum is normalized to 0xffff.
* So hist2 = 0xffff - (hist0 + hist1 + hist3 + hist4)
*
* @hist0: the global normalized pixel count for bin 0
* @hist1: the global normalized pixel count for bin 1
* @hist3: the global normalized pixel count for bin 3
* @hist4: the global normalized pixel count for bin 4
*/
struct c3_isp_ae_zone_stats {
__u16 hist0;
__u16 hist1;
__u16 hist3;
__u16 hist4;
};
/**
* struct c3_isp_ae_stats - Exposure statistics information
*
* AE statistical information consists of all blocks information and a 1024-bin
* histogram.
*
* @stats: array of auto exposure block statistics
* @reserved: undefined buffer space
* @hist: a 1024-bin histogram for the entire image
*/
struct c3_isp_ae_stats {
struct c3_isp_ae_zone_stats stats[C3_ISP_AE_MAX_ZONES];
__u32 reserved[2];
__u32 hist[1024];
} __attribute__((aligned(16)));
/**
* struct c3_isp_af_zone_stats - AF statistics of a zone
*
* AF zone stats is aligned with 8 bytes.
* The zonal accumulated contrast metrics are stored in floating point format
* with 16 bits mantissa and 5 or 6 bits exponent. Apart from contrast metrics
* we accumulate squared image and quartic image data over the zone.
*
* @i2_mat: the mantissa of zonal squared image pixel sum
* @i4_mat: the mantissa of zonal quartic image pixel sum
* @e4_mat: the mantissa of zonal multi-directional quartic edge sum
* @e4_exp: the exponent of zonal multi-directional quartic edge sum
* @i2_exp: the exponent of zonal squared image pixel sum
* @i4_exp: the exponent of zonal quartic image pixel sum
*/
struct c3_isp_af_zone_stats {
__u16 i2_mat;
__u16 i4_mat;
__u16 e4_mat;
__u16 e4_exp : 5;
__u16 i2_exp : 5;
__u16 i4_exp : 6;
};
/**
* struct c3_isp_af_stats - Auto Focus statistics information
*
* AF statistical information of each zone
*
* @stats: array of auto focus block statistics
* @reserved: undefined buffer space
*/
struct c3_isp_af_stats {
struct c3_isp_af_zone_stats stats[C3_ISP_AF_MAX_ZONES];
__u32 reserved[2];
} __attribute__((aligned(16)));
/**
Annotation
- Immediate include surface: `linux/build_bug.h`, `linux/types.h`, `linux/media/v4l2-isp.h`.
- Detected declarations: `struct c3_isp_awb_zone_stats`, `struct c3_isp_awb_stats`, `struct c3_isp_ae_zone_stats`, `struct c3_isp_ae_stats`, `struct c3_isp_af_zone_stats`, `struct c3_isp_af_stats`, `struct c3_isp_stats_info`, `struct c3_isp_params_awb_gains`, `struct c3_isp_params_awb_config`, `struct c3_isp_params_ae_config`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.