QCamera3VendorTags.h revision 2896d129511c499aef15b8162df05fa299860f59
13d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel/* Copyright (c) 2014-2016, The Linux Foundation. All rights reserved. 23d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* 33d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* Redistribution and use in source and binary forms, with or without 43d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* modification, are permitted provided that the following conditions are 53d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* met: 63d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* * Redistributions of source code must retain the above copyright 73d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* notice, this list of conditions and the following disclaimer. 83d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* * Redistributions in binary form must reproduce the above 93d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* copyright notice, this list of conditions and the following 103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* disclaimer in the documentation and/or other materials provided 113d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* with the distribution. 123d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* * Neither the name of The Linux Foundation nor the names of its 133d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* contributors may be used to endorse or promote products derived 143d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* from this software without specific prior written permission. 153d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* 163d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 173d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 183d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 213d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 233d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 243d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 263d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 273d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel* 283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel*/ 293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#ifndef __QCAMERA3VENDORTAGS_H__ 313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#define __QCAMERA3VENDORTAGS_H__ 323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel// Camera dependencies 343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#include "system/camera_metadata.h" 353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelnamespace qcamera { 373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelenum qcamera3_ext_section { 393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_PRIVATEDATA = VENDOR_SECTION, 403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_CDS, 413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_OPAQUE_RAW, 423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_CROP, 433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_TUNING_META_DATA, 443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_TEMPORAL_DENOISE, 45295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_ISO_EXP_PRIORITY, 46295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_SATURATION, 47295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_EXPOSURE_METERING_MODE, 483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_AV_TIMER, 493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_SENSOR_META_DATA, 503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_DUALCAM_LINK_META_DATA, 513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_DUALCAM_CALIB_META_DATA, 523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_HAL_PRIVATEDATA, 533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_JPEG_ENCODE_CROP, 5404e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel QCAMERA3_VIDEO_HDR, 5504e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel QCAMERA3_IR, 56269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel QCAMERA3_AEC_CONVERGENCE, 57269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel QCAMERA3_AWB_CONVERGENCE, 58295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_INSTANT_AEC, 5919463d7065fea3ccc0728e4113a9a7e297505dadShuzhen Wang NEXUS_EXPERIMENTAL_2016, 6054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_SHARPNESS_DATA, 6154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_HISTOGRAM, 6254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_BINNING_CORRECTION, 6354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_STATS, 643d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_SECTIONS_END 653d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel}; 663d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 673d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelenum qcamera3_ext_section_ranges { 683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_PRIVATEDATA_START = QCAMERA3_PRIVATEDATA << 16, 693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_CDS_START = QCAMERA3_CDS << 16, 703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_OPAQUE_RAW_START = QCAMERA3_OPAQUE_RAW << 16, 713d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_CROP_START = QCAMERA3_CROP << 16, 723d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_TUNING_META_DATA_START = QCAMERA3_TUNING_META_DATA << 16, 733d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_TEMPORAL_DENOISE_START = QCAMERA3_TEMPORAL_DENOISE << 16, 74295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_ISO_EXP_PRIORITY_START = QCAMERA3_ISO_EXP_PRIORITY << 16, 75295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_SATURATION_START = QCAMERA3_SATURATION << 16, 76295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_EXPOSURE_METER_START = QCAMERA3_EXPOSURE_METERING_MODE << 16, 773d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_AV_TIMER_START = QCAMERA3_AV_TIMER << 16, 783d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_SENSOR_META_DATA_START = QCAMERA3_SENSOR_META_DATA << 16, 793d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_DUALCAM_LINK_META_DATA_START = QCAMERA3_DUALCAM_LINK_META_DATA << 16, 803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_DUALCAM_CALIB_META_DATA_START = QCAMERA3_DUALCAM_CALIB_META_DATA << 16, 813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_HAL_PRIVATEDATA_START = QCAMERA3_HAL_PRIVATEDATA << 16, 8204e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel QCAMERA3_JPEG_ENCODE_CROP_START = QCAMERA3_JPEG_ENCODE_CROP << 16, 8304e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel QCAMERA3_VIDEO_HDR_START = QCAMERA3_VIDEO_HDR << 16, 84269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel QCAMERA3_IR_START = QCAMERA3_IR << 16, 85269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel QCAMERA3_AEC_CONVERGENCE_SPEED_START = QCAMERA3_AEC_CONVERGENCE << 16, 86295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_AWB_CONVERGENCE_SPEED_START = QCAMERA3_AWB_CONVERGENCE << 16, 8719463d7065fea3ccc0728e4113a9a7e297505dadShuzhen Wang QCAMERA3_INSTANT_AEC_START = QCAMERA3_INSTANT_AEC << 16, 8854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel NEXUS_EXPERIMENTAL_2016_START = NEXUS_EXPERIMENTAL_2016 <<16, 8954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_SHARPNESS_START = QCAMERA3_SHARPNESS_DATA << 16, 9054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_HISTOGRAM_START = QCAMERA3_HISTOGRAM << 16, 9154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_BINNING_CORRECTION_START = QCAMERA3_BINNING_CORRECTION << 16, 9254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_STATS_START = QCAMERA3_STATS << 16 933d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel}; 943d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 953d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelenum qcamera3_ext_tags { 963d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_PRIVATEDATA_REPROCESS = QCAMERA3_PRIVATEDATA_START, 973d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_PRIVATEDATA_END, 983d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_CDS_MODE = QCAMERA3_CDS_START, 993d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_CDS_INFO, 1003d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_CDS_END, 1013d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 1023d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Property Name: org.codeaurora.qcamera3.opaque_raw.opaque_raw_strides 1033d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // 1043d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Type: int32 * n * 3 [public] 1053d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // 1063d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Description: Distance in bytes from the beginning of one row of opaque 1073d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //raw image data to the beginning of next row. 1083d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // 1093d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Details: The strides are listed as (raw_width, raw_height, stride) 1103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //triplets. For each supported raw size, there will be a stride associated 1113d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //with it. 1123d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_OPAQUE_RAW_STRIDES = QCAMERA3_OPAQUE_RAW_START, 1133d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 1143d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Property Name: org.codeaurora.qcamera3.opaque_raw.opaque_raw_format 1153d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // 1163d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Type: byte(enum) [public] 1173d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // * LEGACY - The legacy raw format where 8, 10, or 12-bit 1183d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // raw data is packed into a 64-bit word. 1193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // * MIPI - raw format matching the data packing described 1203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // in MIPI CSI-2 specification. In memory, the data 1213d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // is constructed by packing sequentially received pixels 1223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // into least significant parts of the words first. 1233d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Within each pixel, the least significant bits are also 1243d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // placed towards the least significant part of the word. 1253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // 1263d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Details: Lay out of opaque raw data in memory is decided by two factors: 1273d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // opaque_raw_format and bit depth (implied by whiteLevel). Below 1283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // list illustrates their relationship: 1293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // LEGACY8: P7(7:0) P6(7:0) P5(7:0) P4(7:0) P3(7:0) P2(7:0) P1(7:0) P0(7:0) 1303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // 8 pixels occupy 8 bytes, no padding needed 1313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // min_stride = CEILING8(raw_width) 1323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // LEGACY10: 0000 P5(9:0) P4(9:0) P3(9:0) P2(9:0) P1(9:0) P0(9:0) 1333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // 6 pixels occupy 8 bytes, 4 bits padding at MSB 1343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // min_stride = (raw_width+5)/6 * 8 1353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // LEGACY12: 0000 P4(11:0) P3(11:0) P2(11:0) P1(11:0) P0(11:0) 1363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // 5 pixels occupy 8 bytes, 4 bits padding at MSB 1373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // min_stride = (raw_width+4)/5 * 8 1383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // MIPI8: P0(7:0) 1393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // 1 pixel occupy 1 byte 1403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // min_stride = raw_width 1413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // MIPI10: P3(1:0) P2(1:0) P1(1:0) P0(1:0) P3(9:2) P2(9:2) P1(9:2) P0(9:2) 1423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // 4 pixels occupy 5 bytes 1433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // min_stride = (raw_width+3)/4 * 5 1443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // MIPI12: P1(3:0) P0(3:0) P1(11:4) P0(11:4) 1453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // 2 pixels occupy 3 bytes 1463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // min_stride = (raw_width+1)/2 * 3 1473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Note that opaque_raw_stride needs to be at least the required minimum 1483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //stride from the table above. ISP hardware may need more generous stride 1493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //setting. For example, for LEGACY8, the actual stride may be 1503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //CEILING16(raw_width) due to bus burst length requirement. 1513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_OPAQUE_RAW_FORMAT, 1523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_OPAQUE_RAW_END, 1533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 1543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_CROP_COUNT_REPROCESS = QCAMERA3_CROP_START, 1553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_CROP_REPROCESS, 1563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_CROP_ROI_MAP_REPROCESS, 1573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_CROP_END, 1583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 1593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_TUNING_META_DATA_BLOB = QCAMERA3_TUNING_META_DATA_START, 1603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_TUNING_META_DATA_END, 1613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 1623d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_TEMPORAL_DENOISE_ENABLE = QCAMERA3_TEMPORAL_DENOISE_START, 1633d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_TEMPORAL_DENOISE_PROCESS_TYPE, 1643d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_TEMPORAL_DENOISE_END, 1653d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 166295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_USE_ISO_EXP_PRIORITY = QCAMERA3_ISO_EXP_PRIORITY_START, 167295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_SELECT_PRIORITY, 16854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel /* Property Name: org.codeaurora.qcamera3.iso_exp_priority.iso_available_modes 16954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel Type: int32[8] 17054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel Description: Available iso mode values 17154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel iso_available_modes[0] = 0 (auto) 17254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel iso_available_modes[1] = 1 (deblur) 17354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel iso_available_modes[2] = 2 (100) 17454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel iso_available_modes[3] = 3 (200) 17554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel iso_available_modes[4] = 4 (400) 17654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel iso_available_modes[5] = 5 (800) 17754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel iso_available_modes[6] = 6 (1600) 17854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel iso_available_modes[7] = 7 (3200) 17954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel */ 18054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_ISO_AVAILABLE_MODES, 18154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel /* Property Name: org.codeaurora.qcamera3.iso_exp_priority.exposure_time_range 18254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel Type: int64[2] 18354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel Description: Min/max exposure time values (ns) 18454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel exposure_time_range[0] = min 18554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel exposure_time_range[1] = max 18654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel */ 18754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_EXP_TIME_RANGE, 188295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_ISO_EXP_PRIORITY_END, 189295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel 190295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_USE_SATURATION = QCAMERA3_SATURATION_START, 19154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel /* Property Name: org.codeaurora.qcamera3.saturation.range 19254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel Type: int32[4] 19354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel Description: Range of possible saturation values 19454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel range[0] = min 19554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel range[1] = max 19654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel range[2] = default 19754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel range[3] = step 19854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel */ 19954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_SATURATION_RANGE, 200295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_SATURATION_END, 201295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel 202295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_EXPOSURE_METER = QCAMERA3_EXPOSURE_METER_START, 20354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel /* Property Name: org.codeaurora.qcamera3.exposure_metering.available_modes 20454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel Type: int32[7] 20554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel Description: Available exposure metering mode values 20654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel available_modes[0] = 0 (FRAME_AVERAGE) 20754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel available_modes[1] = 1 (CENTER_WEIGHTED) 20854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel available_modes[2] = 2 (SPOT_METERING) 20954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel available_modes[3] = 3 (SMART_METERING) 21054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel available_modes[4] = 4 (USER_METERING) 21154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel available_modes[5] = 5 (SPOT_METERING_ADV) 21254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel available_modes[6] = 6 (CENTER_WEIGHTED_ADV) 21354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel */ 21454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_EXPOSURE_METER_AVAILABLE_MODES, 215295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_EXPOSURE_METER_END, 216295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel 2173d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_USE_AV_TIMER = QCAMERA3_AV_TIMER_START, 2183d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_AV_TIMER_END, 2193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_SENSOR_DYNAMIC_BLACK_LEVEL_PATTERN = QCAMERA3_SENSOR_META_DATA_START, 2213d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_SENSOR_IS_MONO_ONLY, 2223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_SENSOR_META_DATA_END, 2233d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2243d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_DUALCAM_LINK_ENABLE = QCAMERA3_DUALCAM_LINK_META_DATA_START, 2253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_DUALCAM_LINK_IS_MAIN, 2263d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_DUALCAM_LINK_RELATED_CAMERA_ID, 2273d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_DUALCAM_LINK_META_DATA_END, 2283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_DUALCAM_CALIB_META_DATA_BLOB = QCAMERA3_DUALCAM_CALIB_META_DATA_START, 2303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_DUALCAM_CALIB_META_DATA_END, 2313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_HAL_PRIVATEDATA_REPROCESS_FLAGS = QCAMERA3_HAL_PRIVATEDATA_START, 233cca4d9c3be40fe18502f3237f7993b41175ef3a7Thierry Strudel QCAMERA3_HAL_PRIVATEDATA_REPROCESS_DATA_BLOB, 23454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_HAL_PRIVATEDATA_EXIF_DEBUG_DATA_BLOB, 23554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel 2363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_HAL_PRIVATEDATA_END, 2373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel /* Property Name: org.codeaurora.qcamera3.jpeg_encode_crop.enable 2393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel Type: byte 2403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel Description: If JPEG crop is enable 2413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel */ 2423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_JPEG_ENCODE_CROP_ENABLE = QCAMERA3_JPEG_ENCODE_CROP_START, 2433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel /* Property Name: org.codeaurora.qcamera3.jpeg_encode_crop.rect 2443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel Type: int32[4] 2453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel Description: Crop image into size width x height 2463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel from [left, top] coordinate 2473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel rect[0] = left 2483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel rect[1] = top 2493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel rect[2] = width 2503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel rect[3] = height 2513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel */ 2523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_JPEG_ENCODE_CROP_RECT, 2533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel /* Property Name: org.codeaurora.qcamera3.jpeg_encode_crop.roi 2543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel Type: int32[4] 2553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel Description: Scale the crop image into size width x height 2563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel from [left, top] coordinate. 2573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel roi[0] = left 2583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel roi[1] = top 2593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel roi[2] = width 2603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel roi[3] = height 2613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel */ 2623d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_JPEG_ENCODE_CROP_ROI, 26304e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel QCAMERA3_JPEG_ENCODE_CROP_END, 26404e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel 26504e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel QCAMERA3_VIDEO_HDR_MODE = QCAMERA3_VIDEO_HDR_START, 26604e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel QCAMERA3_AVAILABLE_VIDEO_HDR_MODES, 26704e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel QCAMERA3_VIDEO_HDR_END, 26804e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel 26904e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel QCAMERA3_IR_MODE = QCAMERA3_IR_START, 27004e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel QCAMERA3_IR_AVAILABLE_MODES, 271269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel QCAMERA3_IR_END, 272269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel 273269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel QCAMERA3_AEC_CONVERGENCE_SPEED = QCAMERA3_AEC_CONVERGENCE_SPEED_START, 274269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel QCAMERA3_AEC_CONVERGENCE_SPEED_END, 275269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel 276269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel QCAMERA3_AWB_CONVERGENCE_SPEED = QCAMERA3_AWB_CONVERGENCE_SPEED_START, 277295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_AWB_CONVERGENCE_SPEED_END, 278295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel 279295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_INSTANT_AEC_MODE = QCAMERA3_INSTANT_AEC_START, 280295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_INSTANT_AEC_AVAILABLE_MODES, 28119463d7065fea3ccc0728e4113a9a7e297505dadShuzhen Wang QCAMERA3_INSTANT_AEC_END, 28219463d7065fea3ccc0728e4113a9a7e297505dadShuzhen Wang 28319463d7065fea3ccc0728e4113a9a7e297505dadShuzhen Wang NEXUS_EXPERIMENTAL_2016_HYBRID_AE_ENABLE = NEXUS_EXPERIMENTAL_2016_START, 284e763e80a8b01c0f494b9eb36e5f68925af2ba104Shuzhen Wang NEXUS_EXPERIMENTAL_2016_AF_SCENE_CHANGE, 28568ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha // DEVCAMDEBUG 28668ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_META_ENABLE, 28768ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha // DEVCAMDEBUG AF 28868ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_LENS_POSITION, 28968ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_TOF_CONFIDENCE, 29068ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_TOF_DISTANCE, 29168ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_LUMA, 29268ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_HAF_STATE, 29368ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_MONITOR_PDAF_TARGET_POS, 29468ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_MONITOR_PDAF_CONFIDENCE, 29568ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_MONITOR_PDAF_REFOCUS, 29668ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_MONITOR_TOF_TARGET_POS, 29768ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_MONITOR_TOF_CONFIDENCE, 29868ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_MONITOR_TOF_REFOCUS, 29968ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_MONITOR_TYPE_SELECT, 30068ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_MONITOR_REFOCUS, 30168ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_MONITOR_TARGET_POS, 30268ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_SEARCH_PDAF_TARGET_POS, 30368ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_SEARCH_PDAF_NEXT_POS, 30468ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_SEARCH_PDAF_NEAR_POS, 30568ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_SEARCH_PDAF_FAR_POS, 30668ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_SEARCH_PDAF_CONFIDENCE, 30768ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_SEARCH_TOF_TARGET_POS, 30868ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_SEARCH_TOF_NEXT_POS, 30968ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_SEARCH_TOF_NEAR_POS, 31068ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_SEARCH_TOF_FAR_POS, 31168ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_SEARCH_TOF_CONFIDENCE, 31268ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_SEARCH_TYPE_SELECT, 31368ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_SEARCH_NEXT_POS, 31468ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AF_SEARCH_TARGET_POS, 31568ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha // DEVCAMDEBUG AEC 31668ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AEC_TARGET_LUMA, 31768ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AEC_COMP_LUMA, 31868ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AEC_AVG_LUMA, 31968ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AEC_CUR_LUMA, 32068ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AEC_LINECOUNT, 32168ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AEC_REAL_GAIN, 32268ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AEC_EXP_INDEX, 32368ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AEC_LUX_IDX, 32434229981689f8f63f734a49bf124ee0d43da5671Samuel Ha // DEVCAMDEBUG zzHDR 32534229981689f8f63f734a49bf124ee0d43da5671Samuel Ha DEVCAMDEBUG_AEC_L_REAL_GAIN, 32634229981689f8f63f734a49bf124ee0d43da5671Samuel Ha DEVCAMDEBUG_AEC_L_LINECOUNT, 32734229981689f8f63f734a49bf124ee0d43da5671Samuel Ha DEVCAMDEBUG_AEC_S_REAL_GAIN, 32834229981689f8f63f734a49bf124ee0d43da5671Samuel Ha DEVCAMDEBUG_AEC_S_LINECOUNT, 32934229981689f8f63f734a49bf124ee0d43da5671Samuel Ha DEVCAMDEBUG_AEC_HDR_SENSITIVITY_RATIO, 33034229981689f8f63f734a49bf124ee0d43da5671Samuel Ha DEVCAMDEBUG_AEC_HDR_EXP_TIME_RATIO, 33134229981689f8f63f734a49bf124ee0d43da5671Samuel Ha // DEVCAMDEBUG ADRC 33234229981689f8f63f734a49bf124ee0d43da5671Samuel Ha DEVCAMDEBUG_AEC_TOTAL_DRC_GAIN, 33334229981689f8f63f734a49bf124ee0d43da5671Samuel Ha DEVCAMDEBUG_AEC_COLOR_DRC_GAIN, 33434229981689f8f63f734a49bf124ee0d43da5671Samuel Ha DEVCAMDEBUG_AEC_GTM_RATIO, 33534229981689f8f63f734a49bf124ee0d43da5671Samuel Ha DEVCAMDEBUG_AEC_LTM_RATIO, 33634229981689f8f63f734a49bf124ee0d43da5671Samuel Ha DEVCAMDEBUG_AEC_LA_RATIO, 33734229981689f8f63f734a49bf124ee0d43da5671Samuel Ha DEVCAMDEBUG_AEC_GAMMA_RATIO, 33868ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha // DEVCAMDEBUG AWB 33968ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AWB_R_GAIN, 34068ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AWB_G_GAIN, 34168ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AWB_B_GAIN, 34268ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AWB_CCT, 34368ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha DEVCAMDEBUG_AWB_DECISION, 34468ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha // DEVCAMDEBUG END 34519463d7065fea3ccc0728e4113a9a7e297505dadShuzhen Wang NEXUS_EXPERIMENTAL_2016_END, 34654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel 34754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_SHARPNESS_STRENGTH = QCAMERA3_SHARPNESS_START, 34854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_SHARPNESS_RANGE, 34954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_SHARPNESS_END, 35054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel 35154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_HISTOGRAM_MODE = QCAMERA3_HISTOGRAM_START, 35254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_HISTOGRAM_BUCKETS, 35354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_HISTOGRAM_MAX_COUNT, 35454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_HISTOGRAM_STATS, 35554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_HISTOGRAM_END, 35654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel 35754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_BINNING_CORRECTION_MODE = QCAMERA3_BINNING_CORRECTION_START, 35854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_AVAILABLE_BINNING_CORRECTION_MODES, 35954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_BINNING_CORRECTION_END, 36054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel 36154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_STATS_IS_HDR_SCENE = QCAMERA3_STATS_START, 36254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel /* Property Name: org.codeaurora.qcamera3.stats.is_hdr_scene_values 36354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel Type: byte[2] 36454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel Description: Possible values for is_hdr_scene 36554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel roi[0] = 0 (false) 36654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel roi[1] = 1 (true) 36754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel */ 36854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_STATS_IS_HDR_SCENE_VALUES, 36954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_STATS_IS_HDR_SCENE_CONFIDENCE, 37054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel /* Property Name: org.codeaurora.qcamera3.stats.is_hdr_scene_confidence_range 37154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel Type: float[2] 37254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel Description: Range of values for is_hdr_scene_confidence 37354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel roi[0] = 0.0 (min) 37454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel roi[1] = 1.0 (max) 37554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel */ 37654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_STATS_IS_HDR_SCENE_CONFIDENCE_RANGE, 37754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_STATS_BSGC_AVAILABLE, 37854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_STATS_BLINK_DETECTED, 37954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel /* Property Name: org.codeaurora.qcamera3.stats.blink_degree 38054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel Type: int8[2] 38154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel Description: Blink degree 38254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel blink_degree[0] = left 38354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel blink_degree[1] = right 38454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel */ 38554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_STATS_BLINK_DEGREE, 38654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_STATS_SMILE_DEGREE, 38754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_STATS_SMILE_CONFIDENCE, 38854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_STATS_GAZE_ANGLE, 38954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel /* Property Name: org.codeaurora.qcamera3.stats.gaze_direction 39054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel Type: int32[3] 39154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel Description: Gaze direction 39254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel gaze_direction[0] = up-down 39354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel gaze_direction[1] = left-right 39454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel gaze_direction[2] = roll 39554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel */ 39654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_STATS_GAZE_DIRECTION, 39754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel /* Property Name: org.codeaurora.qcamera3.stats.gaze_degree 39854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel Type: int8[2] 39954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel Description: Gaze degree 40054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel gaze_degree[0] = left-right 40154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel gaze_degree[1] = top-bottom 40254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel */ 40354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_STATS_GAZE_DEGREE, 40454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_STATS_END 4053d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel}; 4063d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 4073d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel// QCAMERA3_OPAQUE_RAW_FORMAT 4083d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudeltypedef enum qcamera3_ext_opaque_raw_format { 4093d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_OPAQUE_RAW_FORMAT_LEGACY, 4103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCAMERA3_OPAQUE_RAW_FORMAT_MIPI 4113d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel} qcamera3_ext_opaque_raw_format_t; 4123d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 41304e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel 41404e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel// QCAMERA3_VIDEO_HDR_MODE 41504e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudeltypedef enum camera_metadata_enum_android_video_hdr_mode { 41604e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel QCAMERA3_VIDEO_HDR_MODE_OFF, 41704e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel QCAMERA3_VIDEO_HDR_MODE_ON 41804e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel} camera_metadata_enum_android_video_hdr_mode_t; 41904e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel 42004e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel// QCAMERA3_IR_MODE 42104e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudeltypedef enum camera_metadata_enum_android_ir_mode { 42204e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel QCAMERA3_IR_MODE_OFF, 42304e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel QCAMERA3_IR_MODE_ON, 42404e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel QCAMERA3_IR_MODE_AUTO 42504e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel} camera_metadata_enum_android_ir_mode_t; 42604e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel 427295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel// QCAMERA3_INSTANCE_AEC_MODE 428295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudeltypedef enum qcamera3_ext_instant_aec_mode { 429295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_INSTANT_AEC_NORMAL_CONVERGENCE, 430295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_INSTANT_AEC_AGGRESSIVE_CONVERGENCE, 431295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCAMERA3_INSTANT_AEC_FAST_CONVERGENCE 432295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel} qcamera3_ext_instant_aec_mode_t; 433295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel 43454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel// QCAMERA3_HISTOGRAM_MODE 43554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudeltypedef enum qcamera3_histogram_mode { 43654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_HISTOGRAM_MODE_OFF, 43754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_HISTOGRAM_MODE_ON 43854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel} histogram_mode; 43954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel 44054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel// QCAMERA3_BINNING_CORRECTION_MODE 44154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudeltypedef enum camera_metadata_enum_android_binning_correction_mode { 44254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_BINNING_CORRECTION_MODE_OFF, 44354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_BINNING_CORRECTION_MODE_ON 44454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel} camera_metadata_enum_android_binning_correction_mode_t; 44554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel 44654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel// QCAMERA3_EXPOSURE_METER 44754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudeltypedef enum qcamera3_ext_exposure_meter_mode { 44854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_EXP_METER_MODE_FRAME_AVERAGE, 44954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_EXP_METER_MODE_CENTER_WEIGHTED, 45054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_EXP_METER_MODE_SPOT_METERING, 45154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_EXP_METER_MODE_SMART_METERING, 45254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_EXP_METER_MODE_USER_METERING, 45354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_EXP_METER_MODE_SPOT_METERING_ADV, 45454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_EXP_METER_MODE_CENTER_WEIGHTED_ADV 45554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel} qcamera3_ext_exposure_meter_mode_t; 45654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel 45754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel// QCAMERA3_ISO_EXP_PRIORITY 45854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudeltypedef enum qcamera3_ext_iso_mode { 45954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_ISO_MODE_AUTO, 46054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_ISO_MODE_DEBLUR, 46154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_ISO_MODE_100, 46254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_ISO_MODE_200, 46354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_ISO_MODE_400, 46454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_ISO_MODE_800, 46554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_ISO_MODE_1600, 46654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel QCAMERA3_ISO_MODE_3200, 46754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel} qcamera3_ext_iso_mode_t; 46854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel 4692896d129511c499aef15b8162df05fa299860f59Thierry Strudeltypedef enum { 4702896d129511c499aef15b8162df05fa299860f59Thierry Strudel /* RAW only mode for devices that will simultaneously use more than two 4712896d129511c499aef15b8162df05fa299860f59Thierry Strudel * cameras. This is required because by default the HAL will start support 4722896d129511c499aef15b8162df05fa299860f59Thierry Strudel * stream along with RAW stream. This will allocate resources which 4732896d129511c499aef15b8162df05fa299860f59Thierry Strudel * otherwise can be used for another camera. Using this mode indicates HAL 4742896d129511c499aef15b8162df05fa299860f59Thierry Strudel * that the additional functionality provided by support stream is not 4752896d129511c499aef15b8162df05fa299860f59Thierry Strudel * needed. 4762896d129511c499aef15b8162df05fa299860f59Thierry Strudel * This mode has following limitations: 4772896d129511c499aef15b8162df05fa299860f59Thierry Strudel * - Back end 3A, Face Detect or any additional functionality depending 4782896d129511c499aef15b8162df05fa299860f59Thierry Strudel * on image/sensor statistics and YUV streams will be disabled. 4792896d129511c499aef15b8162df05fa299860f59Thierry Strudel */ 4802896d129511c499aef15b8162df05fa299860f59Thierry Strudel QCAMERA3_VENDOR_STREAM_CONFIGURATION_RAW_ONLY_MODE = 0x8000, 4812896d129511c499aef15b8162df05fa299860f59Thierry Strudel} QCamera3VendorStreamConfiguration; 4822896d129511c499aef15b8162df05fa299860f59Thierry Strudel 4833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelclass QCamera3VendorTags { 4843d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 4853d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelpublic: 4863d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static void get_vendor_tag_ops(vendor_tag_ops_t* ops); 4873d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static int get_tag_count( 4883d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel const vendor_tag_ops_t *ops); 4893d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static void get_all_tags( 4903d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel const vendor_tag_ops_t *ops, 4913d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint32_t *tag_array); 4923d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char* get_section_name( 4933d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel const vendor_tag_ops_t *ops, 4943d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint32_t tag); 4953d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char* get_tag_name( 4963d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel const vendor_tag_ops_t *ops, 4973d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint32_t tag); 4983d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static int get_tag_type( 4993d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel const vendor_tag_ops_t *ops, 5003d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint32_t tag); 5013d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5023d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const vendor_tag_ops_t *Ops; 5033d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel}; 5043d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5053d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel}; // namespace qcamera 5063d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5073d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#endif /* __QCAMERA3VENDORTAGS_H__ */ 508