Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ccb3218d authored by Shuzhen Wang's avatar Shuzhen Wang
Browse files

Camera: Add new metadata tag for multiResolution stream

The new tag eliminates the ambiguity when one physical camera backs more
than one logical cameras, and only one of the logical cameras supports
multi-resolution streams.

Test: Camera CTS, VTS
Bug: 184663916
Change-Id: Ic4f756e5f7cfbd0a41c5fcb1a45a51de1b8f5e21
parent 691d8bef
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
@@ -4079,6 +4079,34 @@ typedef enum acamera_metadata_tag {
    ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS_MAXIMUM_RESOLUTION = 
                                                                // int64[4*n]
            ACAMERA_SCALER_START + 22,
    /**
     * <p>Whether the camera device supports multi-resolution input or output streams</p>
     *
     * <p>Type: byte (acamera_metadata_enum_android_scaler_multi_resolution_stream_supported_t)</p>
     *
     * <p>This tag may appear in:
     * <ul>
     *   <li>ACameraMetadata from ACameraManager_getCameraCharacteristics</li>
     * </ul></p>
     *
     * <p>A logical multi-camera or an ultra high resolution camera may support multi-resolution
     * input or output streams. With multi-resolution output streams, the camera device is able
     * to output different resolution images depending on the current active physical camera or
     * pixel mode. With multi-resolution input streams, the camera device can reprocess images
     * of different resolutions from different physical cameras or sensor pixel modes.</p>
     * <p>When set to TRUE:
     * * For a logical multi-camera, the camera framework derives
     * android.scaler.multiResolutionStreamConfigurationMap by combining the
     * ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS from its physical
     * cameras.
     * * For an ultra-high resolution sensor camera, the camera framework directly copies
     * the value of ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS to
     * android.scaler.multiResolutionStreamConfigurationMap.</p>
     *
     * @see ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS
     */
    ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED =          // byte (acamera_metadata_enum_android_scaler_multi_resolution_stream_supported_t)
            ACAMERA_SCALER_START + 24,
    ACAMERA_SCALER_END,

    /**
@@ -9116,6 +9144,14 @@ typedef enum acamera_metadata_enum_acamera_scaler_available_stream_configuration

} acamera_metadata_enum_android_scaler_available_stream_configurations_maximum_resolution_t;

// ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED
typedef enum acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported {
    ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_FALSE           = 0,

    ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_TRUE            = 1,

} acamera_metadata_enum_android_scaler_multi_resolution_stream_supported_t;


// ACAMERA_SENSOR_REFERENCE_ILLUMINANT1
typedef enum acamera_metadata_enum_acamera_sensor_reference_illuminant1 {