diff --git a/camera/aon/1.4/Android.bp b/camera/aon/1.4/Android.bp new file mode 100644 index 0000000..36f3afd --- /dev/null +++ b/camera/aon/1.4/Android.bp @@ -0,0 +1,18 @@ +hidl_interface { + name: "vendor.qti.hardware.camera.aon@1.4", + root: "vendor.qti.hardware.camera", + system_ext_specific: true, + srcs: [ + "types.hal", + "IAONService.hal", + "IAONServiceCallBack.hal", + ], + interfaces: [ + "vendor.qti.hardware.camera.aon@1.3", + "vendor.qti.hardware.camera.aon@1.2", + "vendor.qti.hardware.camera.aon@1.1", + "vendor.qti.hardware.camera.aon@1.0", + "android.hidl.base@1.0", + ], + gen_java: true, +} diff --git a/camera/aon/1.4/IAONService.hal b/camera/aon/1.4/IAONService.hal new file mode 100644 index 0000000..13fe2a3 --- /dev/null +++ b/camera/aon/1.4/IAONService.hal @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2020-2021 The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Changes from Qualcomm Innovation Center are provided under the following license: + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted (subject to the limitations in the + * disclaimer below) provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * * Neither the name of Qualcomm Innovation Center, Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE + * GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT + * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER + * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package vendor.qti.hardware.camera.aon@1.4; + +import vendor.qti.hardware.camera.aon@1.0; +import vendor.qti.hardware.camera.aon@1.3; +import @1.4::types; +import @1.4::IAONServiceCallBack; + +interface IAONService extends @1.3::IAONService{ + /** + * Get a list of AONSensorInfo which describes supported AON sensors and corresponding capability information. + * + * @return sensorInfoList An output list of AONSensorInfo + */ + GetAONSensorInfoList() generates (vec sensorInfoList); + + /** + * Register to an AON sensor for a specific AONServiceType + * + * @param callback Object passed by HIDL client which has callback function that got called for AON events + * @param regInfo Register information filled by client + * @return status Returns status of function. Returns 0 in case of success; non-zero otherwise + * @return clientHandle AON Service return a valid client handle upon success return NULL in case of failure + */ + RegisterClient(IAONServiceCallBack callback, AONRegisterInfo regInfo) + generates (Status status, uint64_t clientHandle); +}; diff --git a/camera/aon/1.4/IAONServiceCallBack.hal b/camera/aon/1.4/IAONServiceCallBack.hal new file mode 100644 index 0000000..3c00af3 --- /dev/null +++ b/camera/aon/1.4/IAONServiceCallBack.hal @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2020-2021 The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Changes from Qualcomm Innovation Center are provided under the following license: + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted (subject to the limitations in the + * disclaimer below) provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * * Neither the name of Qualcomm Innovation Center, Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE + * GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT + * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER + * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package vendor.qti.hardware.camera.aon@1.4; + +import vendor.qti.hardware.camera.aon@1.3; +import @1.4::types; + +/** AON Service callback interface. + * This callback will be invoked when any client registers for AON Service + * and specific AON event triggered by hardware/lower layers */ +interface IAONServiceCallBack extends @1.3::IAONServiceCallBack{ + NotifyAONCallbackEvent(uint64_t clientHandle, AONCallBackEvent cbEvt); +}; diff --git a/camera/aon/1.4/types.hal b/camera/aon/1.4/types.hal new file mode 100644 index 0000000..e60a0cd --- /dev/null +++ b/camera/aon/1.4/types.hal @@ -0,0 +1,490 @@ +/* + * Copyright (c) 2020-2021 The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Changes from Qualcomm Innovation Center are provided under the following license: + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted (subject to the limitations in the + * disclaimer below) provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * * Neither the name of Qualcomm Innovation Center, Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE + * GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT + * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER + * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package vendor.qti.hardware.camera.aon@1.4; + +import vendor.qti.hardware.camera.aon@1.3; + +enum AONServiceType : @1.3::AONServiceType +{ + // No new ServiceType is added in 1.4 +}; + +/** + * Position type of an AON sensor. + */ +enum PositionType : uint32_t +{ + /** + * Rear main camera. + */ + REAR = 0, + + /** + * Front main camera. + */ + FRONT = 1 +}; + +/** + * The delivery mode of event detection + */ +enum DeliveryMode : uint32_t +{ + /** + * Detection is triggered to run based on motion detected by sensor. + */ + MotionBased = 0, + + /** + * Detection is triggered to run periodically according to + * the value of deliveryPeriodMs set by client during RegisterClient. + */ + TimeBased = 1 +}; + +/** + * The event type supported by FaceDetect and FaceDetectPro. + * These are bit values for client to assign to the fdEvtTypeMask in FDRegisterInfo during RegisterClient + * and to check the fdEvtTypeMask in FDEvtInfo when receiving the AONCallBackEvent. + */ +enum FDEvtType : uint32_t +{ + /** + * This indicates that face detection was performed and a face is detected. + */ + FaceDetected = 1, + + /** + * This indicates that face detection was performed and a face is not detected. + */ + FaceNotDetected = 2, + + /** + * This indicates that face detection was performed and an eye gaze is detected. + */ + GazeDetected = 4, + + /** + * This indicates that face detection was performed and an eye gaze is not detected. + */ + GazeNotDetected = 8, +}; + +/** + * The event type supported by QRCode. + * These are bit values for client to assign to the qrEvtTypeMask in QRRegisterInfo during RegisterClient + * and to check the qrEvtTypeMask in QREvtInfo when receiving the AONCallBackEvent. + */ +enum QREvtType : uint32_t +{ + /** + * This indicates that QRCode detection was performed and a QRCode is detected. + */ + QRCodeDetected = 1, + + /** + * This indicates that QRCode detection was performed and a QRCode is not detected. + */ + QRCodeNotDetected = 2, +}; + +/** + * The underlying engine type of the algorithm + */ +enum FDEngineType : uint32_t +{ + /** + * CADL engine (Lower power, lower memory usage engine). + */ + EngineCADL = 0, + + /** + * eNPU engine (Higher power, higher memory usage engine). + */ + EngineENPU = 1 +}; + +/** + * The information of the FD algorithm mode + */ +struct FDAlgoMode { + /** + * Image resolution used for algo processing in this algo mode. + */ + uint32_t width; + + /** + * Image resolution used for algo processing in this algo mode. + */ + uint32_t height; + + /** + * Indiates whether this FD algo mode is island-capable. + */ + bool isIslandModeCapable; + + /** + * Indicates what the supporting engine is. + */ + FDEngineType fdEngine; + + /** + * A bit-mask indicating which FDEvtType are supported + * in this FDAlgoMode. If both FaceDetected & GazeDetected are + * supported, the supportedFDEvtTypeMask will be 0x5(0x1|0x4) + */ + uint32_t supportedFDEvtTypeMask; +}; + +/** + * The FD register information filled by client. + * Only applicable when service type is FaceDetect or FaceDetectPro + */ +struct FDRegisterInfo { + /** + * Indicate which FDEvtType the client is interested in. + * If client need both FaceDetected & GazeDetected, + * the fdEvtTypeMask should be assigned as 0x5(0x1|0x4) + */ + uint32_t fdEvtTypeMask; + + /** + * Index to the algoModes described in AONSensorCap which returned in GetAONSensorInfoList + */ + uint32_t fdAlgoModeIdx; + + /** + * To configure the delivery mode of the detection callback event + * Since one AON sensor can only be configured one delivery mode at a time, + * AON service will take the value of the latest registered client as the final configuration. + */ + DeliveryMode deliveryMode; + + /** + * Period in ms of detection callback event. + * The value should be positive and only applicable when delivery mode is TimeBased. + * Since one AON sensor can only be configured one delivery mode at a time, + * AON service will take the value of the latest registered client as the final configuration. + */ + uint32_t deliveryPeriodMs; + + /** + * Number of times detections are performed per delivery + * Applicable for both deliveryMode - MotionBased & TimeBased + * If deliveryMode is MotionBased: + * This is the number of detections that will be performed each + * time a motion is detected. + * If deliveryMode is TimeBased: + * At the specified delivery periodicity, detection will be + * performed consecutively at the native streaming rate of the image sensor. + */ + uint32_t detectionPerDelivery; +}; + +/** + * The QRCode register information filled by client. + * Only applicable when service type is QRCode + */ +struct QRRegisterInfo { + /** + * Indicate which QREvtType the client is interested in. + * If client need both QRCodeDetected & QRCodeNotDetected, + * the qrEvtTypeMask should be assigned as 0x3(0x1|0x2) + */ + uint32_t qrEvtTypeMask; + + /** + * To configure the delivery mode of the detection callback event + * Since one AON sensor can only be configured one delivery mode at a time, + * AON service will take the value of the latest registered client as the final configuration. + */ + DeliveryMode deliveryMode; + + /** + * Period in ms of detection callback event. + * The value should be positive and only applicable when delivery mode is TimeBased. + * Since one AON sensor can only be configured one delivery mode at a time, + * AON service will take the value of the latest registered client as the final configuration. + */ + uint32_t deliveryPeriodMs; + + /** + * Number of times detections are performed per delivery + * Applicable for both deliveryMode - MotionBased & TimeBased + * If deliveryMode is MotionBased: + * This is the number of detections that will be performed each + * time a motion is detected. + * If deliveryMode is TimeBased: + * At the specified delivery periodicity, detection will be + * performed consecutively at the native streaming rate of the image sensor. + */ + uint32_t detectionPerDelivery; +}; + +/** + * The register information filled by client + */ +struct AONRegisterInfo { + /** + * Index of to the sensorInfoList returned in GetAONSensorInfoList + * Indicate which aon sensor the client would like to register + */ + uint32_t aonIdx; + + /** + * Indicate which AONServiceType the client would like to register after knowing + * the capability of each AON sensor by parsing the AONSensorCap in sensorInfoList + */ + AONServiceType srvType; + + /** + * The FD register information filled by client. + * Only applicable when service type is FaceDetect or FaceDetectPro + */ + FDRegisterInfo fdRegInfo; + + /** + * The QRCode register information filled by client. + * Only applicable when service type is QRCode + */ + QRRegisterInfo qrRegInfo; +}; + +/** + * The AONServiceType and corresponding algo mode list supported by AON sensor + */ +struct AONSensorCap { + /** + * Supported AONServiceType by AON sensor + */ + AONServiceType srvType; + + /** + * The supported fdAlgoMode list. Only applicable when srvType is FaceDetect or FaceDetectPro + */ + vec fdAlgoModes; +}; + +/** + * The information of an AON sensor + */ +struct AONSensorInfo { + /** + * Position type of AON sensor + */ + PositionType position; + + /** + * List of supported AONServiceType by AON sensor + */ + vec sensorCaps; +}; + +/** + * The information passed from the event of FaceDetectPro service type + */ +struct FacePosType { + /** + * X coordinate of a position + * It is relative to the frame dimension width (exposed in FaceInfoPro) + * It can be negative (e.g. a facial part can be estimated to be outside of the + * frame boundary) + */ + int32_t x; + + /** + * Y coordinate of a position + * It is relative to the frame dimension height (exposed in FaceInfoPro) + * It can be negative (e.g. a facial part can be estimated to be outside of the + * frame boundary) + */ + int32_t y; +}; + +/** + * The information per face passed from the event of FaceDetectPro service type + */ +struct FaceInfoProPerFace { + /** + * Indicates the roll (or rotate) angle of the face + * Valid values: -180 through 179, where a positive value means the face is + * rotated clockwise in-plane + */ + int32_t angleRoll; + + /** + * Indicates the left/right direction of the face + * Valid values: -180 through 179, where a positive value means the face is + * facing right + */ + int32_t angleYaw; + + /** + * Width of the face in the frame + */ + uint32_t width; + + /** + * height of the face in the frame + */ + uint32_t height; + + /** + * Position of the center of the face in the frame + */ + FacePosType center; + + /** + * Whether an eye gaze is detected + * Only applicable when the bit of GazeDetected or GazeNotDetected + * is set to 1 by client in RegisterClient. + */ + bool isGazeDetected; +}; + +/** + * The information passed from the event of FaceDetectPro service type + */ +struct FaceInfoPro { + /** + * The frame dimension where the reported face ROI/Parts Coordinates will be based on + */ + uint32_t frameDimWidth; + uint32_t frameDimHeight; + + /** + * A vector of the per face information + */ + vec perFace; +}; + +/** + * The event callback from AON service to client + */ +struct AONCallBackEvent { + /** + * Service type of the callback event. + */ + AONServiceType srvType; + + /** + * The event information for FaceDetect. + * Only applicable when srvType is FaceDetect. + */ + FDEvtInfo fdEvtInfo; + + /** + * The event information for FaceDetectPro. + * Only applicable when srvType is FaceDetectPro. + */ + FDProEvtInfo fdProEvtInfo; + + /** + * The event information for QRCode. + * Only applicable when srvType is QRCode. + */ + QREvtInfo qrEvtInfo; +}; + +/** + * The event information for FaceDetect AONServiceType + */ +struct FDEvtInfo { + /** + * Bit Mask to indicate the FDEvtTypes of this event. + * If fdEvtTypeMask is 0x5(0x1|0x4), that means both + * face & gaze are detected by AONService + */ + uint32_t fdEvtTypeMask; +}; + +/** + * The event information for FaceDetectPro AONServiceType + */ +struct FDProEvtInfo { + /** + * Bit Mask to indicate the FDEvtTypes of this event. + * If fdEvtTypeMask is 0x5(0x1|0x4), that means both + * face & gaze are detected by AONService + */ + uint32_t fdEvtTypeMask; + + /** + * Face information of detected faces or gazes. + * Only applicable when the BIT of FaceDetected or GazeDetected + * in fdEvtTypeMask is being set by AONService. + */ + FaceInfoPro faceInfo; +}; + +/** + * The event information for QRCode AONServiceType + */ +struct QREvtInfo { + /** + * Bit Mask to indicate the QREvtTypes of this event. + */ + uint32_t qrEvtTypeMask; +}; \ No newline at end of file diff --git a/camera/current.txt b/camera/current.txt index d141215..641ca2a 100644 --- a/camera/current.txt +++ b/camera/current.txt @@ -46,4 +46,8 @@ afa7eb61656ef6806a373aaae88b664425e08e3f57bc9bae04f7b63acfa48c8d vendor.qti.hard 54dd29871acf91ca52acdd3d95e92b4a9ec90a5d9af4ddea83f589d2613982c0 vendor.qti.hardware.camera.aon@1.3::types 614adcae054e8f6486e0c1fbe9fc6502d210bdba646e3079f5b61ea130eeec1f vendor.qti.hardware.camera.aon@1.3::IAONService -e07e6264400f6cfd226c7a95287c56a23f1deaaf07b51b8c4b605982760906ff vendor.qti.hardware.camera.aon@1.3::IAONServiceCallBack \ No newline at end of file +e07e6264400f6cfd226c7a95287c56a23f1deaaf07b51b8c4b605982760906ff vendor.qti.hardware.camera.aon@1.3::IAONServiceCallBack + +e0837fce33d8d9f3f4ba56f103bef9b72e82d65d008b0001a4f6f45ef760f461 vendor.qti.hardware.camera.aon@1.4::types +0453e7525f949a3438caa19390b33def5034a559041c8cabe5b5915d869b8351 vendor.qti.hardware.camera.aon@1.4::IAONService +4a45fc2603820d0e2e31f1554f1b1ac2d204c48ce7ee2ee0717a7b7f347e853b vendor.qti.hardware.camera.aon@1.4::IAONServiceCallBack \ No newline at end of file