Loading services/camera/virtualcamera/VirtualCameraDevice.cc +6 −0 Original line number Diff line number Diff line Loading @@ -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) Loading @@ -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, Loading services/camera/virtualcamera/util/MetadataUtil.cc +35 −0 Original line number Diff line number Diff line Loading @@ -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); Loading services/camera/virtualcamera/util/MetadataUtil.h +21 −0 Original line number Diff line number Diff line Loading @@ -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>& Loading Loading
services/camera/virtualcamera/VirtualCameraDevice.cc +6 −0 Original line number Diff line number Diff line Loading @@ -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) Loading @@ -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, Loading
services/camera/virtualcamera/util/MetadataUtil.cc +35 −0 Original line number Diff line number Diff line Loading @@ -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); Loading
services/camera/virtualcamera/util/MetadataUtil.h +21 −0 Original line number Diff line number Diff line Loading @@ -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>& Loading