@ -3524,6 +3524,8 @@ typedef enum acamera_metadata_tag {
* < p > Some devices may choose to provide a second set of calibration
* information for improved quality , including
* ACAMERA_SENSOR_REFERENCE_ILLUMINANT2 and its corresponding matrices . < / p >
* < p > Starting from Android Q , this key will not be present for a MONOCHROME camera , even if
* the camera device has RAW capability . < / p >
*
* @ see ACAMERA_SENSOR_CALIBRATION_TRANSFORM1
* @ see ACAMERA_SENSOR_COLOR_TRANSFORM1
@ -3553,6 +3555,8 @@ typedef enum acamera_metadata_tag {
* < p > If this key is present , then ACAMERA_SENSOR_COLOR_TRANSFORM2 ,
* ACAMERA_SENSOR_CALIBRATION_TRANSFORM2 , and
* ACAMERA_SENSOR_FORWARD_MATRIX2 will also be present . < / p >
* < p > Starting from Android Q , this key will not be present for a MONOCHROME camera , even if
* the camera device has RAW capability . < / p >
*
* @ see ACAMERA_SENSOR_CALIBRATION_TRANSFORM2
* @ see ACAMERA_SENSOR_COLOR_TRANSFORM2
@ -3580,6 +3584,8 @@ typedef enum acamera_metadata_tag {
* colorspace ) into this camera device ' s native sensor color
* space under the first reference illuminant
* ( ACAMERA_SENSOR_REFERENCE_ILLUMINANT1 ) . < / p >
* < p > Starting from Android Q , this key will not be present for a MONOCHROME camera , even if
* the camera device has RAW capability . < / p >
*
* @ see ACAMERA_SENSOR_REFERENCE_ILLUMINANT1
*/
@ -3607,6 +3613,8 @@ typedef enum acamera_metadata_tag {
* ( ACAMERA_SENSOR_REFERENCE_ILLUMINANT2 ) . < / p >
* < p > This matrix will only be present if the second reference
* illuminant is present . < / p >
* < p > Starting from Android Q , this key will not be present for a MONOCHROME camera , even if
* the camera device has RAW capability . < / p >
*
* @ see ACAMERA_SENSOR_REFERENCE_ILLUMINANT2
*/
@ -3635,6 +3643,8 @@ typedef enum acamera_metadata_tag {
* and the CIE XYZ colorspace when calculating this transform will
* match the standard white point for the first reference illuminant
* ( i . e . no chromatic adaptation will be applied by this transform ) . < / p >
* < p > Starting from Android Q , this key will not be present for a MONOCHROME camera , even if
* the camera device has RAW capability . < / p >
*
* @ see ACAMERA_SENSOR_REFERENCE_ILLUMINANT1
*/
@ -3665,6 +3675,8 @@ typedef enum acamera_metadata_tag {
* ( i . e . no chromatic adaptation will be applied by this transform ) . < / p >
* < p > This matrix will only be present if the second reference
* illuminant is present . < / p >
* < p > Starting from Android Q , this key will not be present for a MONOCHROME camera , even if
* the camera device has RAW capability . < / p >
*
* @ see ACAMERA_SENSOR_REFERENCE_ILLUMINANT2
*/
@ -3691,6 +3703,8 @@ typedef enum acamera_metadata_tag {
* this matrix is chosen so that the standard white point for this reference
* illuminant in the reference sensor colorspace is mapped to D50 in the
* CIE XYZ colorspace . < / p >
* < p > Starting from Android Q , this key will not be present for a MONOCHROME camera , even if
* the camera device has RAW capability . < / p >
*
* @ see ACAMERA_SENSOR_REFERENCE_ILLUMINANT1
*/
@ -3719,6 +3733,8 @@ typedef enum acamera_metadata_tag {
* CIE XYZ colorspace . < / p >
* < p > This matrix will only be present if the second reference
* illuminant is present . < / p >
* < p > Starting from Android Q , this key will not be present for a MONOCHROME camera , even if
* the camera device has RAW capability . < / p >
*
* @ see ACAMERA_SENSOR_REFERENCE_ILLUMINANT2
*/
@ -3751,6 +3767,7 @@ typedef enum acamera_metadata_tag {
* level values . For raw capture in particular , it is recommended to use
* pixels from ACAMERA_SENSOR_OPTICAL_BLACK_REGIONS to calculate black
* level values for each frame . < / p >
* < p > For a MONOCHROME camera device , all of the 2 x2 channels must have the same values . < / p >
*
* @ see ACAMERA_SENSOR_DYNAMIC_BLACK_LEVEL
* @ see ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT
@ -3845,6 +3862,8 @@ typedef enum acamera_metadata_tag {
* used to interpolate between the provided color transforms when
* processing raw sensor data . < / p >
* < p > The order of the values is R , G , B ; where R is in the lowest index . < / p >
* < p > Starting from Android Q , this key will not be present for a MONOCHROME camera , even if
* the camera device has RAW capability . < / p >
*/
ACAMERA_SENSOR_NEUTRAL_COLOR_POINT = // rational[3]
ACAMERA_SENSOR_START + 18 ,
@ -3875,6 +3894,8 @@ typedef enum acamera_metadata_tag {
* that channel . < / p >
* < p > A more detailed description of the noise model can be found in the
* Adobe DNG specification for the NoiseProfile tag . < / p >
* < p > For a MONOCHROME camera , there is only one color channel . So the noise model coefficients
* will only contain one S and one O . < / p >
*
* @ see ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT
*/
@ -3920,6 +3941,8 @@ typedef enum acamera_metadata_tag {
* < li > R & gt ; 1.20 will require strong software correction to produce
* a usuable image ( & gt ; 20 % divergence ) . < / li >
* < / ul >
* < p > Starting from Android Q , this key will not be present for a MONOCHROME camera , even if
* the camera device has RAW capability . < / p >
*/
ACAMERA_SENSOR_GREEN_SPLIT = // float
ACAMERA_SENSOR_START + 22 ,
@ -4072,6 +4095,7 @@ typedef enum acamera_metadata_tag {
* layout key ( see ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT ) , i . e . the
* nth value given corresponds to the black level offset for the nth
* color channel listed in the CFA . < / p >
* < p > For a MONOCHROME camera , all of the 2 x2 channels must have the same values . < / p >
* < p > This key will be available if ACAMERA_SENSOR_OPTICAL_BLACK_REGIONS is available or the
* camera device advertises this key via { @ link ACAMERA_REQUEST_AVAILABLE_RESULT_KEYS } . < / p >
*
@ -4174,7 +4198,8 @@ typedef enum acamera_metadata_tag {
/**
* < p > The arrangement of color filters on sensor ;
* represents the colors in the top - left 2 x2 section of
* the sensor , in reading order . < / p >
* the sensor , in reading order , for a Bayer camera , or the
* light spectrum it captures for MONOCHROME camera . < / p >
*
* < p > Type : byte ( acamera_metadata_enum_android_sensor_info_color_filter_arrangement_t ) < / p >
*
@ -4643,13 +4668,13 @@ typedef enum acamera_metadata_tag {
* ( x , y ) ϵ ( 0 . . . N - 1 , 0 . . . M - 1 ) is the value of the shading map at
* pixel ( ( ( W - 1 ) / ( N - 1 ) ) * x , ( ( H - 1 ) / ( M - 1 ) ) * y ) for the four color channels .
* The map is assumed to be bilinearly interpolated between the sample points . < / p >
* < p > T he channel order is [ R , Geven , Godd , B ] , where Geven is the green
* channel for the even rows of a Bayer pattern , and Godd is the odd rows .
* < p > For a Bayer camera , t he channel order is [ R , Geven , Godd , B ] , where Geven is
* the green channel for the even rows of a Bayer pattern , and Godd is the odd rows .
* The shading map is stored in a fully interleaved format , and its size
* is provided in the camera static metadata by ACAMERA_LENS_INFO_SHADING_MAP_SIZE . < / p >
* < p > The shading map will generally have on the order of 30 - 40 rows and columns ,
* and will be smaller than 64 x64 . < / p >
* < p > As an example , given a very small map defined as : < / p >
* < p > As an example , given a very small map for a Bayer camera defined as : < / p >
* < pre > < code > ACAMERA_LENS_INFO_SHADING_MAP_SIZE = [ 4 , 3 ]
* ACAMERA_STATISTICS_LENS_SHADING_MAP =
* [ 1.3 , 1.2 , 1.15 , 1.2 , 1.2 , 1.2 , 1.15 , 1.2 ,
@ -4669,6 +4694,17 @@ typedef enum acamera_metadata_tag {
* image of a gray wall ( using bicubic interpolation for visual quality )
* as captured by the sensor gives : < / p >
* < p > < img alt = " Image of a uniform white wall (inverse shading map) " src = " ../images/camera2/metadata/android.statistics.lensShadingMap/inv_shading.png " / > < / p >
* < p > For a MONOCHROME camera , all of the 2 x2 channels must have the same values . An example
* shading map for such a camera is defined as : < / p >
* < pre > < code > ACAMERA_LENS_INFO_SHADING_MAP_SIZE = [ 4 , 3 ]
* ACAMERA_STATISTICS_LENS_SHADING_MAP =
* [ 1.3 , 1.3 , 1.3 , 1.3 , 1.2 , 1.2 , 1.2 , 1.2 ,
* 1.1 , 1.1 , 1.1 , 1.1 , 1.3 , 1.3 , 1.3 , 1.3 ,
* 1.2 , 1.2 , 1.2 , 1.2 , 1.1 , 1.1 , 1.1 , 1.1 ,
* 1.0 , 1.0 , 1.0 , 1.0 , 1.2 , 1.2 , 1.2 , 1.2 ,
* 1.3 , 1.3 , 1.3 , 1.3 , 1.2 , 1.2 , 1.2 , 1.2 ,
* 1.2 , 1.2 , 1.2 , 1.2 , 1.3 , 1.3 , 1.3 , 1.3 ]
* < / code > < / pre >
* < p > Note that the RAW image data might be subject to lens shading
* correction not reported on this map . Query
* ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED to see if RAW image data has subject
@ -5012,8 +5048,8 @@ typedef enum acamera_metadata_tag {
* of points can be less than max ( that is , the request doesn ' t have to
* always provide a curve with number of points equivalent to
* ACAMERA_TONEMAP_MAX_CURVE_POINTS ) . < / p >
* < p > For devices with MONOCHROME capability , only red channel is used . Green and blue channels
* are ignored . < / p >
* < p > For devices with MONOCHROME capability , all three channels must have the same set of
* control points . < / p >
* < p > A few examples , and their corresponding graphical mappings ; these
* only specify the red channel and the precision is limited to 4
* digits , for conciseness . < / p >
@ -7373,11 +7409,15 @@ typedef enum acamera_metadata_enum_acamera_request_available_capabilities {
/**
* < p > The camera device is a monochrome camera that doesn ' t contain a color filter array ,
* and the pixel values on U and V planes are all 128. < / p >
* and for YUV_420_888 stream , the pixel values on U and V planes are all 128. < / p >
* < p > A MONOCHROME camera must support the guaranteed stream combinations required for
* its device level and capabilities . Additionally , if the monochrome camera device
* supports Y8 format , all mandatory stream combination requirements related to { @ link AIMAGE_FORMAT_YUV_420_888 YUV_420_888 } apply
* to { @ link AIMAGE_FORMAT_Y8 Y8 } as well . < / p >
* to { @ link AIMAGE_FORMAT_Y8 Y8 } as well . There are no
* mandatory stream combination requirements with regard to
* { @ link AIMAGE_FORMAT_Y8 Y8 } for Bayer camera devices . < / p >
* < p > Starting from Android Q , the SENSOR_INFO_COLOR_FILTER_ARRANGEMENT of a MONOCHROME
* camera will be either MONO or NIR . < / p >
*/
ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME = 12 ,
@ -7643,6 +7683,21 @@ typedef enum acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement
*/
ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB = 4 ,
/**
* < p > Sensor doesn ' t have any Bayer color filter .
* Such sensor captures visible light in monochrome . The exact weighting and
* wavelengths captured is not specified , but generally only includes the visible
* frequencies . This value implies a MONOCHROME camera . < / p >
*/
ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO = 5 ,
/**
* < p > Sensor has a near infrared filter capturing light with wavelength between
* roughly 750 nm and 1400 nm , and the same filter covers the whole sensor array . This
* value implies a MONOCHROME camera . < / p >
*/
ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR = 6 ,
} acamera_metadata_enum_android_sensor_info_color_filter_arrangement_t ;
// ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE