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

Commit ab37820c authored by Jan Sebechlebsky's avatar Jan Sebechlebsky
Browse files

Add missing camera characteristics to fix

ExtendedCameraCharacteristicsTest.

Bug: 326201504
Test: atest ExtendedCameraCharacteristicsTest
Test: atest virtual_camera_tests
Change-Id: Ibb09547046fdc32d6087a8885977c4e127267502
parent 3c92fffb
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -210,6 +210,9 @@ std::optional<CameraMetadata> initCameraCharacteristics(
              ANDROID_SENSOR_READOUT_TIMESTAMP_NOT_SUPPORTED)
          .setSensorTimestampSource(ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN)
          .setSensorPhysicalSize(36.0, 24.0)
          .setAvailableAberrationCorrectionModes(
              {ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF})
          .setAvailableNoiseReductionModes({ANDROID_NOISE_REDUCTION_MODE_OFF})
          .setAvailableFaceDetectModes({ANDROID_STATISTICS_FACE_DETECT_MODE_OFF})
          .setAvailableTestPatternModes({ANDROID_SENSOR_TEST_PATTERN_MODE_OFF})
          .setAvailableMaxDigitalZoom(1.0)
@@ -234,14 +237,17 @@ std::optional<CameraMetadata> initCameraCharacteristics(
          .setControlAeLockAvailable(false)
          .setControlAvailableAwbModes({ANDROID_CONTROL_AWB_MODE_AUTO})
          .setControlZoomRatioRange(/*min=*/1.0, /*max=*/1.0)
          .setCroppingType(ANDROID_SCALER_CROPPING_TYPE_CENTER_ONLY)
          .setJpegAvailableThumbnailSizes(
              getSupportedJpegThumbnailSizes(supportedInputConfig))
          .setMaxJpegSize(kMaxJpegSize)
          .setMaxFaceCount(0)
          .setMaxFrameDuration(kMaxFrameDuration)
          .setMaxNumberOutputStreams(
              VirtualCameraDevice::kMaxNumberOfRawStreams,
              VirtualCameraDevice::kMaxNumberOfProcessedStreams,
              VirtualCameraDevice::kMaxNumberOfStallStreams)
          .setRequestPartialResultCount(1)
          .setPipelineMaxDepth(kPipelineMaxDepth)
          .setSyncMaxLatency(ANDROID_SYNC_MAX_LATENCY_UNKNOWN)
          .setAvailableRequestKeys({ANDROID_CONTROL_CAPTURE_INTENT,
+35 −0
Original line number Diff line number Diff line
@@ -481,6 +481,41 @@ MetadataBuilder& MetadataBuilder::setAvailableOutputStreamConfigurations(
  return *this;
}

MetadataBuilder& MetadataBuilder::setAvailableAberrationCorrectionModes(
    const std::vector<camera_metadata_enum_android_color_correction_aberration_mode>&
        aberrationCorectionModes) {
  mEntryMap[ANDROID_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES] =
      convertTo<uint8_t>(aberrationCorectionModes);
  return *this;
}

MetadataBuilder& MetadataBuilder::setAvailableNoiseReductionModes(
    const std::vector<camera_metadata_enum_android_noise_reduction_mode>&
        noiseReductionModes) {
  mEntryMap[ANDROID_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES] =
      convertTo<uint8_t>(noiseReductionModes);
  return *this;
}

MetadataBuilder& MetadataBuilder::setRequestPartialResultCount(
    const int partialResultCount) {
  mEntryMap[ANDROID_REQUEST_PARTIAL_RESULT_COUNT] =
      asVectorOf<int32_t>(partialResultCount);
  return *this;
}

MetadataBuilder& MetadataBuilder::setCroppingType(
    const camera_metadata_enum_android_scaler_cropping_type croppingType) {
  mEntryMap[ANDROID_SCALER_CROPPING_TYPE] = asVectorOf<uint8_t>(croppingType);
  return *this;
}

MetadataBuilder& MetadataBuilder::setMaxFaceCount(const int maxFaceCount) {
  mEntryMap[ANDROID_STATISTICS_INFO_MAX_FACE_COUNT] =
      asVectorOf<int32_t>(maxFaceCount);
  return *this;
}

MetadataBuilder& MetadataBuilder::setAvailableMaxDigitalZoom(const float maxZoom) {
  mEntryMap[ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM] =
      asVectorOf<float>(maxZoom);
+21 −0
Original line number Diff line number Diff line
@@ -149,6 +149,27 @@ class MetadataBuilder {
  MetadataBuilder& setAvailableOutputStreamConfigurations(
      const std::vector<StreamConfiguration>& streamConfigurations);

  // See COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES in CameraCharacteristics.java.
  MetadataBuilder& setAvailableAberrationCorrectionModes(
      const std::vector<
          camera_metadata_enum_android_color_correction_aberration_mode>&
          aberrationCorectionModes);

  // See NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES in CameraCharacteristics.java.
  MetadataBuilder& setAvailableNoiseReductionModes(
      const std::vector<camera_metadata_enum_android_noise_reduction_mode>&
          noiseReductionModes);

  // See REQUEST_PARTIAL_RESULT_COUNT in CameraCharacteristics.java.
  MetadataBuilder& setRequestPartialResultCount(int partialResultCount);

  // See SCALER_CROPPING_TYPE in CameraCharacteristics.java.
  MetadataBuilder& setCroppingType(
      camera_metadata_enum_android_scaler_cropping_type croppingType);

  // See STATISTICS_INFO_MAX_FACE_COUNT in CameraCharacteristic.java.
  MetadataBuilder& setMaxFaceCount(int maxFaceCount);

  // See ANDROID_CONTROL_AVAILABLE_MODES in CameraMetadataTag.aidl.
  MetadataBuilder& setControlAvailableModes(
      const std::vector<camera_metadata_enum_android_control_mode_t>&