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

Commit 6c15b1fc authored by Biswarup Pal's avatar Biswarup Pal Committed by Android (Google) Code Review
Browse files

Merge "Set additional metadata for virtual camera" into main

parents 4a7445b8 d9be04dd
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -151,9 +151,11 @@ std::optional<CameraMetadata> initCameraCharacteristics(
          .setFlashAvailable(false)
          .setLensFacing(
              static_cast<camera_metadata_enum_android_lens_facing>(lensFacing))
          .setFocalLength(43.0)
          .setSensorOrientation(static_cast<int32_t>(sensorOrientation))
          .setSensorReadoutTimestamp(
              ANDROID_SENSOR_READOUT_TIMESTAMP_NOT_SUPPORTED)
          .setSensorPhysicalSize(36.0, 24.0)
          .setAvailableFaceDetectModes({ANDROID_STATISTICS_FACE_DETECT_MODE_OFF})
          .setAvailableMaxDigitalZoom(1.0)
          .setControlAvailableModes({ANDROID_CONTROL_MODE_AUTO})
@@ -188,6 +190,7 @@ std::optional<CameraMetadata> initCameraCharacteristics(
  }
  builder.setSensorActiveArraySize(0, 0, maxResolution->width,
                                   maxResolution->height);
  builder.setSensorPixelArraySize(maxResolution->width, maxResolution->height);

  std::vector<MetadataBuilder::StreamConfiguration> outputConfigurations;

+21 −0
Original line number Diff line number Diff line
@@ -82,6 +82,13 @@ MetadataBuilder& MetadataBuilder::setSensorReadoutTimestamp(
  return *this;
}

MetadataBuilder& MetadataBuilder::setFocalLength(float focalLength) {
  std::vector<float> focalLengths({focalLength});
  mEntryMap[ANDROID_LENS_FOCAL_LENGTH] = focalLengths;
  mEntryMap[ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS] = focalLengths;
  return *this;
}

MetadataBuilder& MetadataBuilder::setSensorOrientation(int32_t sensorOrientation) {
  mEntryMap[ANDROID_SENSOR_ORIENTATION] =
      std::vector<int32_t>({sensorOrientation});
@@ -310,6 +317,20 @@ MetadataBuilder& MetadataBuilder::setSensorActiveArraySize(int x0, int y0,
  return *this;
}

MetadataBuilder& MetadataBuilder::setSensorPixelArraySize(int width,
                                                          int height) {
  mEntryMap[ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE] =
      std::vector<int32_t>({width, height});
  return *this;
}

MetadataBuilder& MetadataBuilder::setSensorPhysicalSize(float width,
                                                        float height) {
  mEntryMap[ANDROID_SENSOR_INFO_PHYSICAL_SIZE] =
      std::vector<float>({width, height});
  return *this;
}

MetadataBuilder& MetadataBuilder::setControlAeCompensationRange(int32_t min,
                                                                int32_t max) {
  mEntryMap[ANDROID_CONTROL_AE_COMPENSATION_RANGE] =
+10 −0
Original line number Diff line number Diff line
@@ -78,6 +78,10 @@ class MetadataBuilder {
      camera_metadata_enum_android_sensor_readout_timestamp_t
          sensorReadoutTimestamp);

  // See ANDROID_LENS_FOCAL_LENGTH and ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS
  // in CameraMetadataTag.aidl.
  MetadataBuilder& setFocalLength(float focalLength);

  // See ANDROID_SENSOR_ORIENTATION in CameraMetadataTag.aidl.
  MetadataBuilder& setSensorOrientation(int32_t sensorOrientation);

@@ -90,6 +94,12 @@ class MetadataBuilder {
  // See ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE in CameraMetadataTag.aidl.
  MetadataBuilder& setSensorActiveArraySize(int x0, int y0, int x1, int y1);

  // See ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE in CameraMetadataTag.aidl.
  MetadataBuilder& setSensorPixelArraySize(int width, int height);

  // See ANDROID_SENSOR_INFO_PHYSICAL_SIZE in CameraMetadataTag.aidl.
  MetadataBuilder& setSensorPhysicalSize(float width, float height);

  // See ANDROID_STATISTICS_FACE_DETECT_MODE in CameraMetadataTag.aidl.
  MetadataBuilder& setAvailableFaceDetectModes(
      const std::vector<camera_metadata_enum_android_statistics_face_detect_mode_t>&