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"
35dbd619bcec017c696358535355349947b1d509acChien-Yu Chen#include "system/camera_vendor_tags.h"
363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelnamespace qcamera {
383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
39e5df375a02a25fbcc9f06b789a5645255e89de6eRanjith Kagathi Ananda#define TANGO_SECTION_OFFSET  0x4000
40e5df375a02a25fbcc9f06b789a5645255e89de6eRanjith Kagathi Ananda
413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelenum qcamera3_ext_section {
423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_PRIVATEDATA = VENDOR_SECTION,
433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_CDS,
443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_OPAQUE_RAW,
453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_CROP,
463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_TUNING_META_DATA,
473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_TEMPORAL_DENOISE,
48295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_ISO_EXP_PRIORITY,
49295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_SATURATION,
50295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_EXPOSURE_METERING_MODE,
513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_AV_TIMER,
523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_SENSOR_META_DATA,
533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_DUALCAM_LINK_META_DATA,
543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_DUALCAM_CALIB_META_DATA,
553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_HAL_PRIVATEDATA,
563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_JPEG_ENCODE_CROP,
5704e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel    QCAMERA3_VIDEO_HDR,
5804e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel    QCAMERA3_IR,
59269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel    QCAMERA3_AEC_CONVERGENCE,
60269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel    QCAMERA3_AWB_CONVERGENCE,
61295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_INSTANT_AEC,
6219463d7065fea3ccc0728e4113a9a7e297505dadShuzhen Wang    NEXUS_EXPERIMENTAL_2016,
6354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_SHARPNESS_DATA,
6454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_HISTOGRAM,
6554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_BINNING_CORRECTION,
6654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_STATS,
67e5df375a02a25fbcc9f06b789a5645255e89de6eRanjith Kagathi Ananda    NEXUS_EXPERIMENTAL_2017,
68e5df375a02a25fbcc9f06b789a5645255e89de6eRanjith Kagathi Ananda    QCAMERA3_SECTIONS_END,
69e5df375a02a25fbcc9f06b789a5645255e89de6eRanjith Kagathi Ananda
70e5df375a02a25fbcc9f06b789a5645255e89de6eRanjith Kagathi Ananda    //This value is hardcoded in NDK clients and hence enum value is
710533b683c630870330d6b9947abc4a1477da6bd5Ranjith Kagathi Ananda    //assigned to ensure this value does not go off sync
72e5df375a02a25fbcc9f06b789a5645255e89de6eRanjith Kagathi Ananda    TANGO_SECTIONS_START = VENDOR_SECTION + TANGO_SECTION_OFFSET,
73e5df375a02a25fbcc9f06b789a5645255e89de6eRanjith Kagathi Ananda    TANGO_MODE_DATA = TANGO_SECTIONS_START,
74e5df375a02a25fbcc9f06b789a5645255e89de6eRanjith Kagathi Ananda    TANGO_SECTIONS_END
753d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel};
763d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
773d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelenum qcamera3_ext_section_ranges {
783d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_PRIVATEDATA_START = QCAMERA3_PRIVATEDATA << 16,
793d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_CDS_START = QCAMERA3_CDS << 16,
803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_OPAQUE_RAW_START = QCAMERA3_OPAQUE_RAW << 16,
813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_CROP_START = QCAMERA3_CROP << 16,
823d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_TUNING_META_DATA_START = QCAMERA3_TUNING_META_DATA << 16,
833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_TEMPORAL_DENOISE_START = QCAMERA3_TEMPORAL_DENOISE << 16,
84295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_ISO_EXP_PRIORITY_START = QCAMERA3_ISO_EXP_PRIORITY << 16,
85295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_SATURATION_START = QCAMERA3_SATURATION << 16,
86295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_EXPOSURE_METER_START = QCAMERA3_EXPOSURE_METERING_MODE << 16,
873d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_AV_TIMER_START = QCAMERA3_AV_TIMER << 16,
883d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_SENSOR_META_DATA_START = QCAMERA3_SENSOR_META_DATA << 16,
893d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_DUALCAM_LINK_META_DATA_START = QCAMERA3_DUALCAM_LINK_META_DATA << 16,
903d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_DUALCAM_CALIB_META_DATA_START = QCAMERA3_DUALCAM_CALIB_META_DATA << 16,
913d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_HAL_PRIVATEDATA_START = QCAMERA3_HAL_PRIVATEDATA << 16,
9204e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel    QCAMERA3_JPEG_ENCODE_CROP_START = QCAMERA3_JPEG_ENCODE_CROP << 16,
9304e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel    QCAMERA3_VIDEO_HDR_START = QCAMERA3_VIDEO_HDR << 16,
94269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel    QCAMERA3_IR_START = QCAMERA3_IR << 16,
95269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel    QCAMERA3_AEC_CONVERGENCE_SPEED_START = QCAMERA3_AEC_CONVERGENCE << 16,
96295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_AWB_CONVERGENCE_SPEED_START = QCAMERA3_AWB_CONVERGENCE << 16,
9719463d7065fea3ccc0728e4113a9a7e297505dadShuzhen Wang    QCAMERA3_INSTANT_AEC_START = QCAMERA3_INSTANT_AEC << 16,
9854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    NEXUS_EXPERIMENTAL_2016_START = NEXUS_EXPERIMENTAL_2016 <<16,
9954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_SHARPNESS_START = QCAMERA3_SHARPNESS_DATA << 16,
10054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_HISTOGRAM_START = QCAMERA3_HISTOGRAM << 16,
10154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_BINNING_CORRECTION_START = QCAMERA3_BINNING_CORRECTION << 16,
10214415f52c6346976f60d286043d613f9816e23c9Shuzhen Wang    QCAMERA3_STATS_START = QCAMERA3_STATS << 16,
10314415f52c6346976f60d286043d613f9816e23c9Shuzhen Wang    NEXUS_EXPERIMENTAL_2017_START = NEXUS_EXPERIMENTAL_2017 << 16,
104e5df375a02a25fbcc9f06b789a5645255e89de6eRanjith Kagathi Ananda    TANGO_MODE_DATA_START = TANGO_MODE_DATA << 16,
1053d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel};
1063d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1073d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelenum qcamera3_ext_tags {
1083d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_PRIVATEDATA_REPROCESS = QCAMERA3_PRIVATEDATA_START,
1093d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_PRIVATEDATA_END,
1103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_CDS_MODE = QCAMERA3_CDS_START,
1113d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_CDS_INFO,
1123d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_CDS_END,
1133d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1143d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //Property Name:  org.codeaurora.qcamera3.opaque_raw.opaque_raw_strides
1153d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //
1163d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //Type: int32 * n * 3 [public]
1173d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //
1183d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //Description: Distance in bytes from the beginning of one row of opaque
1193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //raw image data to the beginning of next row.
1203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //
1213d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //Details: The strides are listed as (raw_width, raw_height, stride)
1223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //triplets. For each supported raw size, there will be a stride associated
1233d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //with it.
1243d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_OPAQUE_RAW_STRIDES = QCAMERA3_OPAQUE_RAW_START,
1253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1263d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //Property Name: org.codeaurora.qcamera3.opaque_raw.opaque_raw_format
1273d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //
1283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //Type: byte(enum) [public]
1293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //  * LEGACY - The legacy raw format where 8, 10, or 12-bit
1303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //    raw data is packed into a 64-bit word.
1313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //  * MIPI - raw format matching the data packing described
1323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //    in MIPI CSI-2 specification. In memory, the data
1333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //    is constructed by packing sequentially received pixels
1343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //    into least significant parts of the words first.
1353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //    Within each pixel, the least significant bits are also
1363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //    placed towards the least significant part of the word.
1373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //
1383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //Details: Lay out of opaque raw data in memory is decided by two factors:
1393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //         opaque_raw_format and bit depth (implied by whiteLevel). Below
1403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //         list illustrates their relationship:
1413d63919a23d7e7954e160c48c36713267106c3c2Thierry 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)
1423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //            8 pixels occupy 8 bytes, no padding needed
1433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //            min_stride = CEILING8(raw_width)
1443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // LEGACY10:  0000 P5(9:0) P4(9:0) P3(9:0) P2(9:0) P1(9:0) P0(9:0)
1453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //            6 pixels occupy 8 bytes, 4 bits padding at MSB
1463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //            min_stride = (raw_width+5)/6 * 8
1473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // LEGACY12:  0000 P4(11:0) P3(11:0) P2(11:0) P1(11:0) P0(11:0)
1483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //            5 pixels occupy 8 bytes, 4 bits padding at MSB
1493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //            min_stride = (raw_width+4)/5 * 8
1503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //    MIPI8:  P0(7:0)
1513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //            1 pixel occupy 1 byte
1523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //            min_stride = raw_width
1533d63919a23d7e7954e160c48c36713267106c3c2Thierry 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)
1543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //            4 pixels occupy 5 bytes
1553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //            min_stride = (raw_width+3)/4 * 5
1563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //   MIPI12:  P1(3:0) P0(3:0) P1(11:4) P0(11:4)
1573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //            2 pixels occupy 3 bytes
1583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //            min_stride = (raw_width+1)/2 * 3
1593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //Note that opaque_raw_stride needs to be at least the required minimum
1603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //stride from the table above. ISP hardware may need more generous stride
1613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //setting. For example, for LEGACY8, the actual stride may be
1623d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //CEILING16(raw_width) due to bus burst length requirement.
1633d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_OPAQUE_RAW_FORMAT,
1643d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_OPAQUE_RAW_END,
1653d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1663d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_CROP_COUNT_REPROCESS = QCAMERA3_CROP_START,
1673d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_CROP_REPROCESS,
1683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_CROP_ROI_MAP_REPROCESS,
1693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_CROP_END,
1703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1713d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_TUNING_META_DATA_BLOB = QCAMERA3_TUNING_META_DATA_START,
1723d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_TUNING_META_DATA_END,
1733d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1743d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_TEMPORAL_DENOISE_ENABLE = QCAMERA3_TEMPORAL_DENOISE_START,
1753d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_TEMPORAL_DENOISE_PROCESS_TYPE,
1763d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_TEMPORAL_DENOISE_END,
1773d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
178295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_USE_ISO_EXP_PRIORITY = QCAMERA3_ISO_EXP_PRIORITY_START,
179295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_SELECT_PRIORITY,
18054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    /* Property Name:  org.codeaurora.qcamera3.iso_exp_priority.iso_available_modes
18154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       Type: int32[8]
18254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       Description: Available iso mode values
18354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       iso_available_modes[0] = 0 (auto)
18454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       iso_available_modes[1] = 1 (deblur)
18554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       iso_available_modes[2] = 2 (100)
18654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       iso_available_modes[3] = 3 (200)
18754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       iso_available_modes[4] = 4 (400)
18854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       iso_available_modes[5] = 5 (800)
18954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       iso_available_modes[6] = 6 (1600)
19054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       iso_available_modes[7] = 7 (3200)
19154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    */
19254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_ISO_AVAILABLE_MODES,
19354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    /* Property Name:  org.codeaurora.qcamera3.iso_exp_priority.exposure_time_range
19454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       Type: int64[2]
19554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       Description: Min/max exposure time values (ns)
19654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       exposure_time_range[0] = min
19754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       exposure_time_range[1] = max
19854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    */
19954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_EXP_TIME_RANGE,
200295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_ISO_EXP_PRIORITY_END,
201295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel
202295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_USE_SATURATION = QCAMERA3_SATURATION_START,
20354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    /* Property Name:  org.codeaurora.qcamera3.saturation.range
20454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       Type: int32[4]
20554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       Description: Range of possible saturation values
20654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       range[0] = min
20754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       range[1] = max
20854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       range[2] = default
20954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       range[3] = step
21054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    */
21154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_SATURATION_RANGE,
212295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_SATURATION_END,
213295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel
214295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_EXPOSURE_METER = QCAMERA3_EXPOSURE_METER_START,
21554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    /* Property Name:  org.codeaurora.qcamera3.exposure_metering.available_modes
21654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       Type: int32[7]
21754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       Description: Available exposure metering mode values
21854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       available_modes[0] = 0 (FRAME_AVERAGE)
21954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       available_modes[1] = 1 (CENTER_WEIGHTED)
22054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       available_modes[2] = 2 (SPOT_METERING)
22154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       available_modes[3] = 3 (SMART_METERING)
22254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       available_modes[4] = 4 (USER_METERING)
22354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       available_modes[5] = 5 (SPOT_METERING_ADV)
22454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       available_modes[6] = 6 (CENTER_WEIGHTED_ADV)
22554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    */
22654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_EXPOSURE_METER_AVAILABLE_MODES,
227295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_EXPOSURE_METER_END,
228295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel
2293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_USE_AV_TIMER = QCAMERA3_AV_TIMER_START,
2303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_AV_TIMER_END,
2313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
2323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_SENSOR_DYNAMIC_BLACK_LEVEL_PATTERN = QCAMERA3_SENSOR_META_DATA_START,
2333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_SENSOR_IS_MONO_ONLY,
2343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_SENSOR_META_DATA_END,
2353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
2363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_DUALCAM_LINK_ENABLE = QCAMERA3_DUALCAM_LINK_META_DATA_START,
2373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_DUALCAM_LINK_IS_MAIN,
2383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_DUALCAM_LINK_RELATED_CAMERA_ID,
2393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_DUALCAM_LINK_META_DATA_END,
2403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
2413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_DUALCAM_CALIB_META_DATA_BLOB = QCAMERA3_DUALCAM_CALIB_META_DATA_START,
2423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_DUALCAM_CALIB_META_DATA_END,
2433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
2443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_HAL_PRIVATEDATA_REPROCESS_FLAGS = QCAMERA3_HAL_PRIVATEDATA_START,
245cca4d9c3be40fe18502f3237f7993b41175ef3a7Thierry Strudel    QCAMERA3_HAL_PRIVATEDATA_REPROCESS_DATA_BLOB,
24654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_HAL_PRIVATEDATA_EXIF_DEBUG_DATA_BLOB,
24754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel
2483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_HAL_PRIVATEDATA_END,
2493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
2503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    /* Property Name:  org.codeaurora.qcamera3.jpeg_encode_crop.enable
2513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel       Type: byte
2523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel       Description: If JPEG crop is enable
2533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    */
2543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_JPEG_ENCODE_CROP_ENABLE = QCAMERA3_JPEG_ENCODE_CROP_START,
2553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    /* Property Name:  org.codeaurora.qcamera3.jpeg_encode_crop.rect
2563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel       Type: int32[4]
2573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel       Description: Crop image into size width x height
2583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel                    from [left, top] coordinate
2593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel       rect[0] = left
2603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel       rect[1] = top
2613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel       rect[2] = width
2623d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel       rect[3] = height
2633d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    */
2643d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_JPEG_ENCODE_CROP_RECT,
2653d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    /* Property Name:  org.codeaurora.qcamera3.jpeg_encode_crop.roi
2663d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel       Type: int32[4]
2673d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel       Description: Scale the crop image into size width x height
2683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel                    from [left, top] coordinate.
2693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel       roi[0] = left
2703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel       roi[1] = top
2713d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel       roi[2] = width
2723d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel       roi[3] = height
2733d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    */
2743d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_JPEG_ENCODE_CROP_ROI,
27504e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel    QCAMERA3_JPEG_ENCODE_CROP_END,
27604e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel
27704e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel    QCAMERA3_VIDEO_HDR_MODE = QCAMERA3_VIDEO_HDR_START,
27804e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel    QCAMERA3_AVAILABLE_VIDEO_HDR_MODES,
27904e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel    QCAMERA3_VIDEO_HDR_END,
28004e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel
28104e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel    QCAMERA3_IR_MODE = QCAMERA3_IR_START,
28204e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel    QCAMERA3_IR_AVAILABLE_MODES,
283269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel    QCAMERA3_IR_END,
284269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel
285269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel    QCAMERA3_AEC_CONVERGENCE_SPEED = QCAMERA3_AEC_CONVERGENCE_SPEED_START,
286269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel    QCAMERA3_AEC_CONVERGENCE_SPEED_END,
287269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel
288269c81ab7298bf38a22ab4376cf97297c0902b7eThierry Strudel    QCAMERA3_AWB_CONVERGENCE_SPEED = QCAMERA3_AWB_CONVERGENCE_SPEED_START,
289295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_AWB_CONVERGENCE_SPEED_END,
290295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel
291295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_INSTANT_AEC_MODE = QCAMERA3_INSTANT_AEC_START,
292295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_INSTANT_AEC_AVAILABLE_MODES,
29319463d7065fea3ccc0728e4113a9a7e297505dadShuzhen Wang    QCAMERA3_INSTANT_AEC_END,
29419463d7065fea3ccc0728e4113a9a7e297505dadShuzhen Wang
29519463d7065fea3ccc0728e4113a9a7e297505dadShuzhen Wang    NEXUS_EXPERIMENTAL_2016_HYBRID_AE_ENABLE = NEXUS_EXPERIMENTAL_2016_START,
296e763e80a8b01c0f494b9eb36e5f68925af2ba104Shuzhen Wang    NEXUS_EXPERIMENTAL_2016_AF_SCENE_CHANGE,
29768ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    // DEVCAMDEBUG
29868ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_META_ENABLE,
29968ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    // DEVCAMDEBUG AF
30068ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_LENS_POSITION,
30168ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_TOF_CONFIDENCE,
30268ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_TOF_DISTANCE,
30368ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_LUMA,
30468ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_HAF_STATE,
30568ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_MONITOR_PDAF_TARGET_POS,
30668ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_MONITOR_PDAF_CONFIDENCE,
30768ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_MONITOR_PDAF_REFOCUS,
30868ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_MONITOR_TOF_TARGET_POS,
30968ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_MONITOR_TOF_CONFIDENCE,
31068ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_MONITOR_TOF_REFOCUS,
31168ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_MONITOR_TYPE_SELECT,
31268ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_MONITOR_REFOCUS,
31368ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_MONITOR_TARGET_POS,
31468ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_SEARCH_PDAF_TARGET_POS,
31568ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_SEARCH_PDAF_NEXT_POS,
31668ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_SEARCH_PDAF_NEAR_POS,
31768ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_SEARCH_PDAF_FAR_POS,
31868ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_SEARCH_PDAF_CONFIDENCE,
31968ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_SEARCH_TOF_TARGET_POS,
32068ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_SEARCH_TOF_NEXT_POS,
32168ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_SEARCH_TOF_NEAR_POS,
32268ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_SEARCH_TOF_FAR_POS,
32368ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_SEARCH_TOF_CONFIDENCE,
32468ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_SEARCH_TYPE_SELECT,
32568ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_SEARCH_NEXT_POS,
32668ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AF_SEARCH_TARGET_POS,
32768ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    // DEVCAMDEBUG AEC
32868ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AEC_TARGET_LUMA,
32968ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AEC_COMP_LUMA,
33068ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AEC_AVG_LUMA,
33168ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AEC_CUR_LUMA,
33268ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AEC_LINECOUNT,
33368ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AEC_REAL_GAIN,
33468ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AEC_EXP_INDEX,
33568ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AEC_LUX_IDX,
33634229981689f8f63f734a49bf124ee0d43da5671Samuel Ha    // DEVCAMDEBUG zzHDR
33734229981689f8f63f734a49bf124ee0d43da5671Samuel Ha    DEVCAMDEBUG_AEC_L_REAL_GAIN,
33834229981689f8f63f734a49bf124ee0d43da5671Samuel Ha    DEVCAMDEBUG_AEC_L_LINECOUNT,
33934229981689f8f63f734a49bf124ee0d43da5671Samuel Ha    DEVCAMDEBUG_AEC_S_REAL_GAIN,
34034229981689f8f63f734a49bf124ee0d43da5671Samuel Ha    DEVCAMDEBUG_AEC_S_LINECOUNT,
34134229981689f8f63f734a49bf124ee0d43da5671Samuel Ha    DEVCAMDEBUG_AEC_HDR_SENSITIVITY_RATIO,
34234229981689f8f63f734a49bf124ee0d43da5671Samuel Ha    DEVCAMDEBUG_AEC_HDR_EXP_TIME_RATIO,
34334229981689f8f63f734a49bf124ee0d43da5671Samuel Ha    // DEVCAMDEBUG ADRC
34434229981689f8f63f734a49bf124ee0d43da5671Samuel Ha    DEVCAMDEBUG_AEC_TOTAL_DRC_GAIN,
34534229981689f8f63f734a49bf124ee0d43da5671Samuel Ha    DEVCAMDEBUG_AEC_COLOR_DRC_GAIN,
34634229981689f8f63f734a49bf124ee0d43da5671Samuel Ha    DEVCAMDEBUG_AEC_GTM_RATIO,
34734229981689f8f63f734a49bf124ee0d43da5671Samuel Ha    DEVCAMDEBUG_AEC_LTM_RATIO,
34834229981689f8f63f734a49bf124ee0d43da5671Samuel Ha    DEVCAMDEBUG_AEC_LA_RATIO,
34934229981689f8f63f734a49bf124ee0d43da5671Samuel Ha    DEVCAMDEBUG_AEC_GAMMA_RATIO,
350bdf4fac1b9f50805c7f56f474a1c7a9d20fb05f4Samuel Ha    // DEVCAMDEBUG AEC MOTION
351bdf4fac1b9f50805c7f56f474a1c7a9d20fb05f4Samuel Ha    DEVCAMDEBUG_AEC_CAMERA_MOTION_DX,
352bdf4fac1b9f50805c7f56f474a1c7a9d20fb05f4Samuel Ha    DEVCAMDEBUG_AEC_CAMERA_MOTION_DY,
353bdf4fac1b9f50805c7f56f474a1c7a9d20fb05f4Samuel Ha    DEVCAMDEBUG_AEC_SUBJECT_MOTION,
35468ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    // DEVCAMDEBUG AWB
35568ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AWB_R_GAIN,
35668ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AWB_G_GAIN,
35768ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AWB_B_GAIN,
35868ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AWB_CCT,
35968ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    DEVCAMDEBUG_AWB_DECISION,
36068ba5179c1049e7451c4c1f19aed4927ac3da437Samuel Ha    // DEVCAMDEBUG END
36119463d7065fea3ccc0728e4113a9a7e297505dadShuzhen Wang    NEXUS_EXPERIMENTAL_2016_END,
36254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel
36354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_SHARPNESS_STRENGTH = QCAMERA3_SHARPNESS_START,
36454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_SHARPNESS_RANGE,
36554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_SHARPNESS_END,
36654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel
36754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_HISTOGRAM_MODE = QCAMERA3_HISTOGRAM_START,
36854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_HISTOGRAM_BUCKETS,
36954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_HISTOGRAM_MAX_COUNT,
37054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_HISTOGRAM_STATS,
37154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_HISTOGRAM_END,
37254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel
37354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_BINNING_CORRECTION_MODE = QCAMERA3_BINNING_CORRECTION_START,
37454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_AVAILABLE_BINNING_CORRECTION_MODES,
37554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_BINNING_CORRECTION_END,
37654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel
37754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_STATS_IS_HDR_SCENE = QCAMERA3_STATS_START,
37854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    /* Property Name:  org.codeaurora.qcamera3.stats.is_hdr_scene_values
37954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       Type: byte[2]
38054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       Description: Possible values for is_hdr_scene
38154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       roi[0] = 0 (false)
38254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       roi[1] = 1 (true)
38354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    */
38454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_STATS_IS_HDR_SCENE_VALUES,
38554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_STATS_IS_HDR_SCENE_CONFIDENCE,
38654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    /* Property Name:  org.codeaurora.qcamera3.stats.is_hdr_scene_confidence_range
38754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       Type: float[2]
38854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       Description: Range of values for is_hdr_scene_confidence
38954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       roi[0] = 0.0 (min)
39054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       roi[1] = 1.0 (max)
39154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    */
39254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_STATS_IS_HDR_SCENE_CONFIDENCE_RANGE,
39354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_STATS_BSGC_AVAILABLE,
39454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_STATS_BLINK_DETECTED,
39554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    /* Property Name:  org.codeaurora.qcamera3.stats.blink_degree
39654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       Type: int8[2]
39754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       Description: Blink degree
39854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       blink_degree[0] = left
39954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       blink_degree[1] = right
40054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    */
40154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_STATS_BLINK_DEGREE,
40254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_STATS_SMILE_DEGREE,
40354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_STATS_SMILE_CONFIDENCE,
40454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_STATS_GAZE_ANGLE,
40554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    /* Property Name:  org.codeaurora.qcamera3.stats.gaze_direction
40654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       Type: int32[3]
40754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       Description: Gaze direction
40854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       gaze_direction[0] = up-down
40954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       gaze_direction[1] = left-right
41054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       gaze_direction[2] = roll
41154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    */
41254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_STATS_GAZE_DIRECTION,
41354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    /* Property Name:  org.codeaurora.qcamera3.stats.gaze_degree
41454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       Type: int8[2]
41554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       Description: Gaze degree
41654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       gaze_degree[0] = left-right
41754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel       gaze_degree[1] = top-bottom
41854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    */
41954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_STATS_GAZE_DEGREE,
42014415f52c6346976f60d286043d613f9816e23c9Shuzhen Wang    QCAMERA3_STATS_END,
42114415f52c6346976f60d286043d613f9816e23c9Shuzhen Wang
42214415f52c6346976f60d286043d613f9816e23c9Shuzhen Wang    /* Histogram */
42314415f52c6346976f60d286043d613f9816e23c9Shuzhen Wang    NEXUS_EXPERIMENTAL_2017_HISTOGRAM_ENABLE = NEXUS_EXPERIMENTAL_2017_START,
42414415f52c6346976f60d286043d613f9816e23c9Shuzhen Wang    NEXUS_EXPERIMENTAL_2017_HISTOGRAM_SUPPORTED_BINS,
42514415f52c6346976f60d286043d613f9816e23c9Shuzhen Wang    NEXUS_EXPERIMENTAL_2017_HISTOGRAM_BINS,
42614415f52c6346976f60d286043d613f9816e23c9Shuzhen Wang    NEXUS_EXPERIMENTAL_2017_HISTOGRAM,
4270a972ef2f18fce9ce6cafde5a2452f3752b7cd57Emilian Peev
4280a972ef2f18fce9ce6cafde5a2452f3752b7cd57Emilian Peev    /* EEPROM Version Information */
4290a972ef2f18fce9ce6cafde5a2452f3752b7cd57Emilian Peev    NEXUS_EXPERIMENTAL_2017_EEPROM_VERSION_INFO,
4300a972ef2f18fce9ce6cafde5a2452f3752b7cd57Emilian Peev
431835938b21f98fc71dbd659f222693e0eabb41cd4Emilian Peev    /* EEPROM PDAF calibration data */
432835938b21f98fc71dbd659f222693e0eabb41cd4Emilian Peev    NEXUS_EXPERIMENTAL_2017_EEPROM_PDAF_CALIB_RIGHT_GAINS,
433835938b21f98fc71dbd659f222693e0eabb41cd4Emilian Peev    NEXUS_EXPERIMENTAL_2017_EEPROM_PDAF_CALIB_LEFT_GAINS,
434835938b21f98fc71dbd659f222693e0eabb41cd4Emilian Peev    NEXUS_EXPERIMENTAL_2017_EEPROM_PDAF_CALIB_CONV_COEFF,
435835938b21f98fc71dbd659f222693e0eabb41cd4Emilian Peev
436838670b7ac05be37b22589c6ffe2b25bef94bd0dYun-Ta Tsai    /* EEPROM WB calibration data */
437838670b7ac05be37b22589c6ffe2b25bef94bd0dYun-Ta Tsai    NEXUS_EXPERIMENTAL_2017_EEPROM_WB_CALIB_NUM_LIGHTS,
438838670b7ac05be37b22589c6ffe2b25bef94bd0dYun-Ta Tsai    NEXUS_EXPERIMENTAL_2017_EEPROM_WB_CALIB_R_OVER_G_RATIOS,
439838670b7ac05be37b22589c6ffe2b25bef94bd0dYun-Ta Tsai    NEXUS_EXPERIMENTAL_2017_EEPROM_WB_CALIB_B_OVER_G_RATIOS,
440838670b7ac05be37b22589c6ffe2b25bef94bd0dYun-Ta Tsai    NEXUS_EXPERIMENTAL_2017_EEPROM_WB_CALIB_GR_OVER_GB_RATIO,
441838670b7ac05be37b22589c6ffe2b25bef94bd0dYun-Ta Tsai
442cc386c5421ea3b849b975d883b9a03cafc60a980Shuzhen Wang    /* Tracking AF */
443cc386c5421ea3b849b975d883b9a03cafc60a980Shuzhen Wang    NEXUS_EXPERIMENTAL_2017_TRACKING_AF_TRIGGER,
444cc386c5421ea3b849b975d883b9a03cafc60a980Shuzhen Wang    NEXUS_EXPERIMENTAL_2017_AF_REGIONS_CONFIDENCE,
445821ea9cecac693fed839f9cc60d5f01c987320acXu Han    /* OIS data */
446821ea9cecac693fed839f9cc60d5f01c987320acXu Han    NEXUS_EXPERIMENTAL_2017_OIS_FRAME_TIMESTAMP_VSYNC,
447821ea9cecac693fed839f9cc60d5f01c987320acXu Han    NEXUS_EXPERIMENTAL_2017_OIS_FRAME_TIMESTAMP_BOOTTIME,
448821ea9cecac693fed839f9cc60d5f01c987320acXu Han    NEXUS_EXPERIMENTAL_2017_OIS_TIMESTAMPS_BOOTTIME,
449821ea9cecac693fed839f9cc60d5f01c987320acXu Han    NEXUS_EXPERIMENTAL_2017_OIS_SHIFT_X,
450821ea9cecac693fed839f9cc60d5f01c987320acXu Han    NEXUS_EXPERIMENTAL_2017_OIS_SHIFT_Y,
4512c3e91416f8d5f5f61b4b1210d50d9dcbb984f87Xue Tu    NEXUS_EXPERIMENTAL_2017_OIS_SHIFT_PIXEL_X,
4522c3e91416f8d5f5f61b4b1210d50d9dcbb984f87Xue Tu    NEXUS_EXPERIMENTAL_2017_OIS_SHIFT_PIXEL_Y,
453656e4fafd6ec53944c26e36803f509733f8b480fEmilian Peev    /* PD plumbing */
454656e4fafd6ec53944c26e36803f509733f8b480fEmilian Peev    NEXUS_EXPERIMENTAL_2017_PD_DATA_DIMENSIONS,
455656e4fafd6ec53944c26e36803f509733f8b480fEmilian Peev    NEXUS_EXPERIMENTAL_2017_PD_DATA_ENABLE,
4566a1dd61d87f793efff02f569ad336fe634086e18Shuzhen Wang    /* Exposure time boost */
4576a1dd61d87f793efff02f569ad336fe634086e18Shuzhen Wang    NEXUS_EXPERIMENTAL_2017_EXP_TIME_BOOST,
458dbd619bcec017c696358535355349947b1d509acChien-Yu Chen    /* EASEL HDR+ */
459dbd619bcec017c696358535355349947b1d509acChien-Yu Chen    NEXUS_EXPERIMENTAL_2017_EXIF_MAKERNOTE,
460daf68891e17bdd02d4c1f7a59ca4c64e33a53866Chien-Yu Chen    NEXUS_EXPERIMENTAL_2017_NEXT_STILL_INTENT_REQUEST_READY,
4610a921f9364d2d5ba21f35a175acf8d8ff7b31a2dChien-Yu Chen    NEXUS_EXPERIMENTAL_2017_POSTVIEW,
4620a921f9364d2d5ba21f35a175acf8d8ff7b31a2dChien-Yu Chen    NEXUS_EXPERIMENTAL_2017_POSTVIEW_CONFIG,
4630a921f9364d2d5ba21f35a175acf8d8ff7b31a2dChien-Yu Chen    NEXUS_EXPERIMENTAL_2017_POSTVIEW_DATA,
464b0981e397396e82d2ad166f5d1da3a6383b863ebChien-Yu Chen    NEXUS_EXPERIMENTAL_2017_CONTINUOUS_ZSL_CAPTURE,
465ec328c8c7f1443a550555c1df2e4bc40e74ca5bdChien-Yu Chen    NEXUS_EXPERIMENTAL_2017_DISABLE_HDRPLUS,
4663569d4a664dfb360e5ada71a9e995746bffa937eShuzhen Wang    NEXUS_EXPERIMENTAL_2017_SCENE_DISTANCE,
467dbd619bcec017c696358535355349947b1d509acChien-Yu Chen
468a90a2140734a9917d3d51a596a5a4b3642134a8fWei (Alex) Hong    /* Motion detection */
469a90a2140734a9917d3d51a596a5a4b3642134a8fWei (Alex) Hong    NEXUS_EXPERIMENTAL_2017_MOTION_DETECTION_ENABLE,
470a90a2140734a9917d3d51a596a5a4b3642134a8fWei (Alex) Hong    NEXUS_EXPERIMENTAL_2017_CAMERA_MOTION_X,
471a90a2140734a9917d3d51a596a5a4b3642134a8fWei (Alex) Hong    NEXUS_EXPERIMENTAL_2017_CAMERA_MOTION_Y,
472a90a2140734a9917d3d51a596a5a4b3642134a8fWei (Alex) Hong    NEXUS_EXPERIMENTAL_2017_SUBJECT_MOTION,
473a90a2140734a9917d3d51a596a5a4b3642134a8fWei (Alex) Hong
47414415f52c6346976f60d286043d613f9816e23c9Shuzhen Wang    NEXUS_EXPERIMENTAL_2017_END,
475e5df375a02a25fbcc9f06b789a5645255e89de6eRanjith Kagathi Ananda
476e5df375a02a25fbcc9f06b789a5645255e89de6eRanjith Kagathi Ananda    /* Select sensor mode for tango */
477e5df375a02a25fbcc9f06b789a5645255e89de6eRanjith Kagathi Ananda    TANGO_MODE_DATA_MODE = TANGO_MODE_DATA_START, //Unused. Reserved for backward compatibility
478e5df375a02a25fbcc9f06b789a5645255e89de6eRanjith Kagathi Ananda    TANGO_MODE_DATA_SENSOR_FULLFOV,
479e5df375a02a25fbcc9f06b789a5645255e89de6eRanjith Kagathi Ananda    TANGO_MODE_DATA_END,
4803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel};
4813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
4823d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel// QCAMERA3_OPAQUE_RAW_FORMAT
4833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudeltypedef enum qcamera3_ext_opaque_raw_format {
4843d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_OPAQUE_RAW_FORMAT_LEGACY,
4853d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCAMERA3_OPAQUE_RAW_FORMAT_MIPI
4863d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel} qcamera3_ext_opaque_raw_format_t;
4873d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
48804e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel// QCAMERA3_VIDEO_HDR_MODE
48904e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudeltypedef enum camera_metadata_enum_android_video_hdr_mode {
49004e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel    QCAMERA3_VIDEO_HDR_MODE_OFF,
49104e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel    QCAMERA3_VIDEO_HDR_MODE_ON
49204e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel} camera_metadata_enum_android_video_hdr_mode_t;
49304e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel
49404e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel// QCAMERA3_IR_MODE
49504e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudeltypedef enum camera_metadata_enum_android_ir_mode {
49604e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel    QCAMERA3_IR_MODE_OFF,
49704e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel    QCAMERA3_IR_MODE_ON,
49804e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel    QCAMERA3_IR_MODE_AUTO
49904e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel} camera_metadata_enum_android_ir_mode_t;
50004e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel
501295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel// QCAMERA3_INSTANCE_AEC_MODE
502295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudeltypedef enum qcamera3_ext_instant_aec_mode {
503295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_INSTANT_AEC_NORMAL_CONVERGENCE,
504295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_INSTANT_AEC_AGGRESSIVE_CONVERGENCE,
505295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel    QCAMERA3_INSTANT_AEC_FAST_CONVERGENCE
506295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel} qcamera3_ext_instant_aec_mode_t;
507295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel
50854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel// QCAMERA3_HISTOGRAM_MODE
50954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudeltypedef enum qcamera3_histogram_mode {
51054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_HISTOGRAM_MODE_OFF,
51154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_HISTOGRAM_MODE_ON
51254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel} histogram_mode;
51354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel
51454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel// QCAMERA3_BINNING_CORRECTION_MODE
51554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudeltypedef enum camera_metadata_enum_android_binning_correction_mode {
51654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_BINNING_CORRECTION_MODE_OFF,
51754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_BINNING_CORRECTION_MODE_ON
51854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel} camera_metadata_enum_android_binning_correction_mode_t;
51954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel
52054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel// QCAMERA3_EXPOSURE_METER
52154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudeltypedef enum qcamera3_ext_exposure_meter_mode {
52254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_EXP_METER_MODE_FRAME_AVERAGE,
52354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_EXP_METER_MODE_CENTER_WEIGHTED,
52454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_EXP_METER_MODE_SPOT_METERING,
52554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_EXP_METER_MODE_SMART_METERING,
52654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_EXP_METER_MODE_USER_METERING,
52754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_EXP_METER_MODE_SPOT_METERING_ADV,
52854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_EXP_METER_MODE_CENTER_WEIGHTED_ADV
52954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel} qcamera3_ext_exposure_meter_mode_t;
53054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel
53154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel// QCAMERA3_ISO_EXP_PRIORITY
53254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudeltypedef enum qcamera3_ext_iso_mode {
53354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_ISO_MODE_AUTO,
53454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_ISO_MODE_DEBLUR,
53554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_ISO_MODE_100,
53654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_ISO_MODE_200,
53754dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_ISO_MODE_400,
53854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_ISO_MODE_800,
53954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_ISO_MODE_1600,
54054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel    QCAMERA3_ISO_MODE_3200,
54154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel} qcamera3_ext_iso_mode_t;
54254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel
5432896d129511c499aef15b8162df05fa299860f59Thierry Strudeltypedef enum {
5442896d129511c499aef15b8162df05fa299860f59Thierry Strudel    /* RAW only mode for devices that will simultaneously use more than two
5452896d129511c499aef15b8162df05fa299860f59Thierry Strudel     * cameras. This is required because by default the HAL will start support
5462896d129511c499aef15b8162df05fa299860f59Thierry Strudel     * stream along with RAW stream. This will allocate resources which
5472896d129511c499aef15b8162df05fa299860f59Thierry Strudel     * otherwise can be used for another camera. Using this mode indicates HAL
5482896d129511c499aef15b8162df05fa299860f59Thierry Strudel     * that the additional functionality provided by support stream is not
5492896d129511c499aef15b8162df05fa299860f59Thierry Strudel     * needed.
5502896d129511c499aef15b8162df05fa299860f59Thierry Strudel     * This mode has following limitations:
5512896d129511c499aef15b8162df05fa299860f59Thierry Strudel     *    - Back end 3A, Face Detect or any additional functionality depending
5522896d129511c499aef15b8162df05fa299860f59Thierry Strudel     *   on image/sensor statistics and YUV streams will be disabled.
5532896d129511c499aef15b8162df05fa299860f59Thierry Strudel     */
5542896d129511c499aef15b8162df05fa299860f59Thierry Strudel    QCAMERA3_VENDOR_STREAM_CONFIGURATION_RAW_ONLY_MODE = 0x8000,
5552896d129511c499aef15b8162df05fa299860f59Thierry Strudel} QCamera3VendorStreamConfiguration;
5562896d129511c499aef15b8162df05fa299860f59Thierry Strudel
557cc386c5421ea3b849b975d883b9a03cafc60a980Shuzhen Wang// NEXUS_EXPERIMENTAL_2017_TRACKING_AF
558cc386c5421ea3b849b975d883b9a03cafc60a980Shuzhen Wangtypedef enum nexus_experimental_2017_tracking_af_trigger {
559cc386c5421ea3b849b975d883b9a03cafc60a980Shuzhen Wang    NEXUS_EXPERIMENTAL_2017_TRACKING_AF_TRIGGER_IDLE,
560cc386c5421ea3b849b975d883b9a03cafc60a980Shuzhen Wang    NEXUS_EXPERIMENTAL_2017_TRACKING_AF_TRIGGER_START,
561cc386c5421ea3b849b975d883b9a03cafc60a980Shuzhen Wang    NEXUS_EXPERIMENTAL_2017_TRACKING_AF_TRIGGER_STOP,
562cc386c5421ea3b849b975d883b9a03cafc60a980Shuzhen Wang} nexus_experimental_2017_tracking_af_trigger_t;
563cc386c5421ea3b849b975d883b9a03cafc60a980Shuzhen Wang
564e2de843ad2ce505ae8a833d0f55fdcb527fc5f73Eino-Ville Talvalatypedef enum com_google_nexus_experimental_2016_control_ae_mode {
565e2de843ad2ce505ae8a833d0f55fdcb527fc5f73Eino-Ville Talvala    NEXUS_EXPERIMENTAL_2016_CONTROL_AE_MODE_EXTERNAL_FLASH = 5
566e2de843ad2ce505ae8a833d0f55fdcb527fc5f73Eino-Ville Talvala} com_google_nexus_experimental_2016_control_ae_mode_t;
567e2de843ad2ce505ae8a833d0f55fdcb527fc5f73Eino-Ville Talvala
5683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelclass QCamera3VendorTags {
5693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
5703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelpublic:
5713d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static void get_vendor_tag_ops(vendor_tag_ops_t* ops);
5723d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static int get_tag_count(
5733d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel            const vendor_tag_ops_t *ops);
5743d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static void get_all_tags(
5753d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel            const vendor_tag_ops_t *ops,
5763d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel            uint32_t *tag_array);
5773d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char* get_section_name(
5783d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel            const vendor_tag_ops_t *ops,
5793d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel            uint32_t tag);
5803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char* get_tag_name(
5813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel            const vendor_tag_ops_t *ops,
5823d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel            uint32_t tag);
5833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static int get_tag_type(
5843d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel            const vendor_tag_ops_t *ops,
5853d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel            uint32_t tag);
5863d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
5873d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const vendor_tag_ops_t *Ops;
5883d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel};
5893d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
5903d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel}; // namespace qcamera
5913d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
5923d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#endif /* __QCAMERA3VENDORTAGS_H__ */
593