Loading camera/CameraSessionStats.cpp +12 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,12 @@ status_t CameraStreamStats::readFromParcel(const android::Parcel* parcel) { return err; } int32_t colorSpace = ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED; if ((err = parcel->readInt32(&colorSpace)) != OK) { ALOGE("%s: Failed to read color space from parcel", __FUNCTION__); return err; } mWidth = width; mHeight = height; mFormat = format; Loading @@ -146,6 +152,7 @@ status_t CameraStreamStats::readFromParcel(const android::Parcel* parcel) { mHistogramCounts = std::move(histogramCounts); mDynamicRangeProfile = dynamicRangeProfile; mStreamUseCase = streamUseCase; mColorSpace = colorSpace; return OK; } Loading Loading @@ -238,6 +245,11 @@ status_t CameraStreamStats::writeToParcel(android::Parcel* parcel) const { return err; } if ((err = parcel->writeInt32(mColorSpace)) != OK) { ALOGE("%s: Failed to write color space", __FUNCTION__); return err; } return OK; } Loading camera/camera2/OutputConfiguration.cpp +17 −1 Original line number Diff line number Diff line Loading @@ -26,8 +26,8 @@ #include <system/camera_metadata.h> #include <utils/String8.h> namespace android { namespace android { const int OutputConfiguration::INVALID_ROTATION = -1; const int OutputConfiguration::INVALID_SET_ID = -1; Loading Loading @@ -81,6 +81,10 @@ int64_t OutputConfiguration::getDynamicRangeProfile() const { return mDynamicRangeProfile; } int32_t OutputConfiguration::getColorSpace() const { return mColorSpace; } int64_t OutputConfiguration::getStreamUseCase() const { return mStreamUseCase; } Loading @@ -103,6 +107,7 @@ OutputConfiguration::OutputConfiguration() : mIsShared(false), mIsMultiResolution(false), mDynamicRangeProfile(ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD), mColorSpace(ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED), mStreamUseCase(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT), mTimestampBase(TIMESTAMP_BASE_DEFAULT), mMirrorMode(MIRROR_MODE_AUTO) { Loading Loading @@ -191,6 +196,11 @@ status_t OutputConfiguration::readFromParcel(const android::Parcel* parcel) { ALOGE("%s: Failed to read surface dynamic range profile flag from parcel", __FUNCTION__); return err; } int32_t colorSpace; if ((err = parcel->readInt32(&colorSpace)) != OK) { ALOGE("%s: Failed to read surface color space flag from parcel", __FUNCTION__); return err; } int64_t streamUseCase = ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT; if ((err = parcel->readInt64(&streamUseCase)) != OK) { Loading Loading @@ -230,6 +240,7 @@ status_t OutputConfiguration::readFromParcel(const android::Parcel* parcel) { mSensorPixelModesUsed = std::move(sensorPixelModesUsed); mDynamicRangeProfile = dynamicProfile; mColorSpace = colorSpace; ALOGV("%s: OutputConfiguration: rotation = %d, setId = %d, surfaceType = %d," " physicalCameraId = %s, isMultiResolution = %d, streamUseCase = %" PRId64 Loading @@ -252,6 +263,7 @@ OutputConfiguration::OutputConfiguration(sp<IGraphicBufferProducer>& gbp, int ro mPhysicalCameraId = physicalId; mIsMultiResolution = false; mDynamicRangeProfile = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD; mColorSpace = ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED; mStreamUseCase = ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT; mTimestampBase = TIMESTAMP_BASE_DEFAULT; mMirrorMode = MIRROR_MODE_AUTO; Loading @@ -265,6 +277,7 @@ OutputConfiguration::OutputConfiguration( mWidth(width), mHeight(height), mIsDeferred(false), mIsShared(isShared), mPhysicalCameraId(physicalCameraId), mIsMultiResolution(false), mDynamicRangeProfile(ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD), mColorSpace(ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED), mStreamUseCase(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT), mTimestampBase(TIMESTAMP_BASE_DEFAULT), mMirrorMode(MIRROR_MODE_AUTO) { } Loading Loading @@ -317,6 +330,9 @@ status_t OutputConfiguration::writeToParcel(android::Parcel* parcel) const { err = parcel->writeInt64(mDynamicRangeProfile); if (err != OK) return err; err = parcel->writeInt32(mColorSpace); if (err != OK) return err; err = parcel->writeInt64(mStreamUseCase); if (err != OK) return err; Loading camera/cameraserver/Android.bp +1 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ cc_binary { "android.hardware.camera.provider@2.5", "android.hardware.camera.provider@2.6", "android.hardware.camera.provider@2.7", "android.hardware.camera.provider-V1-ndk", "android.hardware.camera.provider-V2-ndk", "android.hardware.camera.device@1.0", "android.hardware.camera.device@3.2", "android.hardware.camera.device@3.4", Loading camera/include/camera/CameraSessionStats.h +7 −3 Original line number Diff line number Diff line Loading @@ -67,22 +67,26 @@ public: int64_t mDynamicRangeProfile; // Stream use case int64_t mStreamUseCase; // Color space int32_t mColorSpace; CameraStreamStats() : mWidth(0), mHeight(0), mFormat(0), mMaxPreviewFps(0), mDataSpace(0), mUsage(0), mRequestCount(0), mErrorCount(0), mStartLatencyMs(0), mMaxHalBuffers(0), mMaxAppBuffers(0), mHistogramType(HISTOGRAM_TYPE_UNKNOWN), mDynamicRangeProfile(ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD), mStreamUseCase(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT) {} mStreamUseCase(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT), mColorSpace(ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED) {} CameraStreamStats(int width, int height, int format, float maxPreviewFps, int dataSpace, int64_t usage, int maxHalBuffers, int maxAppBuffers, int dynamicRangeProfile, int streamUseCase) int streamUseCase, int32_t colorSpace) : mWidth(width), mHeight(height), mFormat(format), mMaxPreviewFps(maxPreviewFps), mDataSpace(dataSpace), mUsage(usage), mRequestCount(0), mErrorCount(0), mStartLatencyMs(0), mMaxHalBuffers(maxHalBuffers), mMaxAppBuffers(maxAppBuffers), mHistogramType(HISTOGRAM_TYPE_UNKNOWN), mDynamicRangeProfile(dynamicRangeProfile), mStreamUseCase(streamUseCase) {} mStreamUseCase(streamUseCase), mColorSpace(colorSpace) {} virtual status_t readFromParcel(const android::Parcel* parcel) override; virtual status_t writeToParcel(android::Parcel* parcel) const override; Loading camera/include/camera/camera2/OutputConfiguration.h +6 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,7 @@ public: int getWidth() const; int getHeight() const; int64_t getDynamicRangeProfile() const; int32_t getColorSpace() const; bool isDeferred() const; bool isShared() const; String16 getPhysicalCameraId() const; Loading Loading @@ -111,6 +112,7 @@ public: mIsMultiResolution == other.mIsMultiResolution && sensorPixelModesUsedEqual(other) && mDynamicRangeProfile == other.mDynamicRangeProfile && mColorSpace == other.mColorSpace && mStreamUseCase == other.mStreamUseCase && mTimestampBase == other.mTimestampBase && mMirrorMode == other.mMirrorMode); Loading Loading @@ -153,6 +155,9 @@ public: if (mDynamicRangeProfile != other.mDynamicRangeProfile) { return mDynamicRangeProfile < other.mDynamicRangeProfile; } if (mColorSpace != other.mColorSpace) { return mColorSpace < other.mColorSpace; } if (mStreamUseCase != other.mStreamUseCase) { return mStreamUseCase < other.mStreamUseCase; } Loading Loading @@ -187,6 +192,7 @@ private: bool mIsMultiResolution; std::vector<int32_t> mSensorPixelModesUsed; int64_t mDynamicRangeProfile; int32_t mColorSpace; int64_t mStreamUseCase; int mTimestampBase; int mMirrorMode; Loading Loading
camera/CameraSessionStats.cpp +12 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,12 @@ status_t CameraStreamStats::readFromParcel(const android::Parcel* parcel) { return err; } int32_t colorSpace = ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED; if ((err = parcel->readInt32(&colorSpace)) != OK) { ALOGE("%s: Failed to read color space from parcel", __FUNCTION__); return err; } mWidth = width; mHeight = height; mFormat = format; Loading @@ -146,6 +152,7 @@ status_t CameraStreamStats::readFromParcel(const android::Parcel* parcel) { mHistogramCounts = std::move(histogramCounts); mDynamicRangeProfile = dynamicRangeProfile; mStreamUseCase = streamUseCase; mColorSpace = colorSpace; return OK; } Loading Loading @@ -238,6 +245,11 @@ status_t CameraStreamStats::writeToParcel(android::Parcel* parcel) const { return err; } if ((err = parcel->writeInt32(mColorSpace)) != OK) { ALOGE("%s: Failed to write color space", __FUNCTION__); return err; } return OK; } Loading
camera/camera2/OutputConfiguration.cpp +17 −1 Original line number Diff line number Diff line Loading @@ -26,8 +26,8 @@ #include <system/camera_metadata.h> #include <utils/String8.h> namespace android { namespace android { const int OutputConfiguration::INVALID_ROTATION = -1; const int OutputConfiguration::INVALID_SET_ID = -1; Loading Loading @@ -81,6 +81,10 @@ int64_t OutputConfiguration::getDynamicRangeProfile() const { return mDynamicRangeProfile; } int32_t OutputConfiguration::getColorSpace() const { return mColorSpace; } int64_t OutputConfiguration::getStreamUseCase() const { return mStreamUseCase; } Loading @@ -103,6 +107,7 @@ OutputConfiguration::OutputConfiguration() : mIsShared(false), mIsMultiResolution(false), mDynamicRangeProfile(ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD), mColorSpace(ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED), mStreamUseCase(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT), mTimestampBase(TIMESTAMP_BASE_DEFAULT), mMirrorMode(MIRROR_MODE_AUTO) { Loading Loading @@ -191,6 +196,11 @@ status_t OutputConfiguration::readFromParcel(const android::Parcel* parcel) { ALOGE("%s: Failed to read surface dynamic range profile flag from parcel", __FUNCTION__); return err; } int32_t colorSpace; if ((err = parcel->readInt32(&colorSpace)) != OK) { ALOGE("%s: Failed to read surface color space flag from parcel", __FUNCTION__); return err; } int64_t streamUseCase = ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT; if ((err = parcel->readInt64(&streamUseCase)) != OK) { Loading Loading @@ -230,6 +240,7 @@ status_t OutputConfiguration::readFromParcel(const android::Parcel* parcel) { mSensorPixelModesUsed = std::move(sensorPixelModesUsed); mDynamicRangeProfile = dynamicProfile; mColorSpace = colorSpace; ALOGV("%s: OutputConfiguration: rotation = %d, setId = %d, surfaceType = %d," " physicalCameraId = %s, isMultiResolution = %d, streamUseCase = %" PRId64 Loading @@ -252,6 +263,7 @@ OutputConfiguration::OutputConfiguration(sp<IGraphicBufferProducer>& gbp, int ro mPhysicalCameraId = physicalId; mIsMultiResolution = false; mDynamicRangeProfile = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD; mColorSpace = ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED; mStreamUseCase = ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT; mTimestampBase = TIMESTAMP_BASE_DEFAULT; mMirrorMode = MIRROR_MODE_AUTO; Loading @@ -265,6 +277,7 @@ OutputConfiguration::OutputConfiguration( mWidth(width), mHeight(height), mIsDeferred(false), mIsShared(isShared), mPhysicalCameraId(physicalCameraId), mIsMultiResolution(false), mDynamicRangeProfile(ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD), mColorSpace(ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED), mStreamUseCase(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT), mTimestampBase(TIMESTAMP_BASE_DEFAULT), mMirrorMode(MIRROR_MODE_AUTO) { } Loading Loading @@ -317,6 +330,9 @@ status_t OutputConfiguration::writeToParcel(android::Parcel* parcel) const { err = parcel->writeInt64(mDynamicRangeProfile); if (err != OK) return err; err = parcel->writeInt32(mColorSpace); if (err != OK) return err; err = parcel->writeInt64(mStreamUseCase); if (err != OK) return err; Loading
camera/cameraserver/Android.bp +1 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ cc_binary { "android.hardware.camera.provider@2.5", "android.hardware.camera.provider@2.6", "android.hardware.camera.provider@2.7", "android.hardware.camera.provider-V1-ndk", "android.hardware.camera.provider-V2-ndk", "android.hardware.camera.device@1.0", "android.hardware.camera.device@3.2", "android.hardware.camera.device@3.4", Loading
camera/include/camera/CameraSessionStats.h +7 −3 Original line number Diff line number Diff line Loading @@ -67,22 +67,26 @@ public: int64_t mDynamicRangeProfile; // Stream use case int64_t mStreamUseCase; // Color space int32_t mColorSpace; CameraStreamStats() : mWidth(0), mHeight(0), mFormat(0), mMaxPreviewFps(0), mDataSpace(0), mUsage(0), mRequestCount(0), mErrorCount(0), mStartLatencyMs(0), mMaxHalBuffers(0), mMaxAppBuffers(0), mHistogramType(HISTOGRAM_TYPE_UNKNOWN), mDynamicRangeProfile(ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD), mStreamUseCase(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT) {} mStreamUseCase(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT), mColorSpace(ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED) {} CameraStreamStats(int width, int height, int format, float maxPreviewFps, int dataSpace, int64_t usage, int maxHalBuffers, int maxAppBuffers, int dynamicRangeProfile, int streamUseCase) int streamUseCase, int32_t colorSpace) : mWidth(width), mHeight(height), mFormat(format), mMaxPreviewFps(maxPreviewFps), mDataSpace(dataSpace), mUsage(usage), mRequestCount(0), mErrorCount(0), mStartLatencyMs(0), mMaxHalBuffers(maxHalBuffers), mMaxAppBuffers(maxAppBuffers), mHistogramType(HISTOGRAM_TYPE_UNKNOWN), mDynamicRangeProfile(dynamicRangeProfile), mStreamUseCase(streamUseCase) {} mStreamUseCase(streamUseCase), mColorSpace(colorSpace) {} virtual status_t readFromParcel(const android::Parcel* parcel) override; virtual status_t writeToParcel(android::Parcel* parcel) const override; Loading
camera/include/camera/camera2/OutputConfiguration.h +6 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,7 @@ public: int getWidth() const; int getHeight() const; int64_t getDynamicRangeProfile() const; int32_t getColorSpace() const; bool isDeferred() const; bool isShared() const; String16 getPhysicalCameraId() const; Loading Loading @@ -111,6 +112,7 @@ public: mIsMultiResolution == other.mIsMultiResolution && sensorPixelModesUsedEqual(other) && mDynamicRangeProfile == other.mDynamicRangeProfile && mColorSpace == other.mColorSpace && mStreamUseCase == other.mStreamUseCase && mTimestampBase == other.mTimestampBase && mMirrorMode == other.mMirrorMode); Loading Loading @@ -153,6 +155,9 @@ public: if (mDynamicRangeProfile != other.mDynamicRangeProfile) { return mDynamicRangeProfile < other.mDynamicRangeProfile; } if (mColorSpace != other.mColorSpace) { return mColorSpace < other.mColorSpace; } if (mStreamUseCase != other.mStreamUseCase) { return mStreamUseCase < other.mStreamUseCase; } Loading Loading @@ -187,6 +192,7 @@ private: bool mIsMultiResolution; std::vector<int32_t> mSensorPixelModesUsed; int64_t mDynamicRangeProfile; int32_t mColorSpace; int64_t mStreamUseCase; int mTimestampBase; int mMirrorMode; Loading